我有以下正则表达式,只允许用逗号分隔的数字。
/^(?:\d+(?:, *|))*\d+$/
示例:
12345, 123456789, 987654 //valid
有没有办法修改此正则表达式,只允许逗号前后3到5个数字。
示例:
12345, 54321, 918, 123, 5678 //valid
12345, 1234567, 4382929001 //invalid
答案 0 :(得分:3)
我认为你正在寻找这个:
^\d{3,5}(?:,\s\d{3,5})*$
但是我应该再说一次12345, 123456789, 987654
有效,这对我来说是错误的
这将允许逗号前后所有数字中只有3-5个数字。
答案 1 :(得分:2)
您可以使用此正则表达式:
^(?:\d{3,5}[ ,]+)*\b\d{3,5}$
更新:在使用数字后阻止多个逗号:
^(?:\d{3,5}(?! *, *,)[ ,]+)*\b\d{3,5}$