Javascript 是否限制由逗号分隔的字符数?
我有下面的正则表达式,它只允许用逗号分隔数字Javascript 是否限制由逗号分隔的字符数?,javascript,regex,Javascript,Regex,我有下面的正则表达式,它只允许用逗号分隔数字 /^(?:\d+(?:, *|))*\d+$/ 例如: 12345, 123456789, 987654 //valid 有没有办法修改这个正则表达式,使其在逗号前后只允许3到5个数字 示例: 12345, 54321, 918, 123, 5678 //valid 12345, 1234567, 4382929001 //invalid 您可以使用此正则表达式: ^(?:\d{3,5}[ ,]+)*\b\d{3,5}$ 更新
/^(?:\d+(?:, *|))*\d+$/
例如:
12345, 123456789, 987654 //valid
有没有办法修改这个正则表达式,使其在逗号前后只允许3到5个数字
示例:
12345, 54321, 918, 123, 5678 //valid
12345, 1234567, 4382929001 //invalid
您可以使用此正则表达式:
^(?:\d{3,5}[ ,]+)*\b\d{3,5}$
更新:要在使用数字后阻止多个逗号,请执行以下操作:
^(?:\d{3,5}(?! *, *,)[ ,]+)*\b\d{3,5}$
您可以使用此正则表达式:
^(?:\d{3,5}[ ,]+)*\b\d{3,5}$
更新:要在使用数字后阻止多个逗号,请执行以下操作:
^(?:\d{3,5}(?! *, *,)[ ,]+)*\b\d{3,5}$
我想你正在寻找这个:
^\d{3,5}(?:,\s\d{3,5})*$
但我还是要说,你打电话给12345、123456789、987654是有效的,我觉得这是你的错
这将只允许在逗号前后的所有数字中使用3-5位数字
此处演示:我想您正在寻找:
^\d{3,5}(?:,\s\d{3,5})*$
但我还是要说,你打电话给12345、123456789、987654是有效的,我觉得这是你的错
这将只允许在逗号前后的所有数字中使用3-5位数字
此处演示:为什么
1234512345678987654
应该有效,为什么123451234567438299001
应该无效?因为我试图解释我现有的正则表达式对任何长度都有效。我想修改正则表达式,使其只接受逗号前后的数字长度范围。否则,您需要针对regexps的每一项功能发布几十个问题?你可能比从开始做得更糟。为什么1234512345678987654
应该有效,为什么12345123456764382929001
应该无效?因为我试图解释我现有的正则表达式对任何长度都有效。我想修改正则表达式,使其只接受逗号前后的数字长度范围。否则,您需要针对regexps的每一项功能发布几十个问题?你可能会比从一开始做得更糟。