如何验证字符串只有 4 连续数字或没有数字?
我知道/\d{4}/
会验证 4 个连续数字,但如果我的字符串为dh25ah1233dadh3,则必须无效。
有效字符串
dkskdsokd
adad dadad
addad1257adada
1587dadad
sasasas7854
无效的字符串
dh25ah1233dadh3
fsdfdfd1982fdf2
1some1422dd
答案 0 :(得分:2)
如果我理解这个问题,那就像是:
/^(?:\D*\d{4}\D*)*$/
匹配任何数量的子模式“一些非数字,然后是4位数,然后是一些非数字”。
如果你只想要一组4位数,那就是
/^\D*(?:\d{4})?\D*$/
编辑 - 如果您想要第一个,并且您不希望接受8(或12或16 ...)个数字的组,您可以执行以下操作:
/^(?:\D*\d{4}\D+)*$/
编辑让我们再试一次:
/^(?:\D*\d{4}\D+)*(?:\D*\d{4})?$/
这允许字符串以4位数组结束。