我必须检查字符串是否具有此模式:1,2,10,11
。
规则是:
1
或1,2
或1,2,n+1
。许多用户想要的数字; 1,
; 我试过的是:
(\d{1,2})(,)
:此代码检查1,
句子,并返回true
没有字符串,其余字符串为1,afasfs
; (\d{1,2})(?=(,))
但它也接受上述情况; ^
和$
,因为它在正确的情况下失败,例如:1,2,3
。我不知道的是如何测试整个字符串。我的所有测试只检查其中的一部分(例如1,
)而不是整个字符串。
注意:我正在使用JavaScript test()
函数。不知道是否是正确的,但我相信它是。
答案 0 :(得分:6)
你可以试试这个正则表达式:
/^(\d{1,2},)*\d{1,2}$/
^ - Line start
\d{1,2} - 1 or 2 digit number
\d{1,2}, - 1 or 2 digit number followed by a comma
(\d{1,2},)* - 0 or more of 1/2 digit number followed by a comma character
\d{1,2} - 1 or 2 digit number
$ - Line end
答案 1 :(得分:1)
每个OP
数字必须后跟逗号
对anubhava的模式进行一点修改/^(\d{1,2},)+\d{1,2}$/
否则它只会验证单个或两个数字,如1
或10