我不知道为什么这个正则表达式不工作。我想验证输入是否采用这种格式:
- 12345678,12345678,12345678
- *space*12345678,12345678,12345678
- 12345678,12345678, space
- 工作:12345678,12345678
- 不工作:12345678,12345678,12345678
var validate_numbers = /^s*d{8}s*+*(,s*d{8},*)?$/;
谢谢
您需要更详细地描述您想要匹配的内容。我将假设您想要匹配由逗号和加号分隔的8位数字,可能后面跟着逗号。
问题是你最多取两组数字。可视化。
根据上面的假设,这就是你想要的正则表达式:
^(s*d{8}s*[+,]?s*)*$
同样,您可以在debuggex上看到它。
你能详细说明一下需求吗?逗号前需要空格吗?
\d{8}(?:,\d{8})*+
试试吧。它可以很好地满足验证数字列表的需求,该列表由8位数字组成,并以逗号分隔。
希望对大家有所帮助
从当前正则表达式中删除'$'。它严格匹配行尾,这将导致表达式在所需字符串上返回false。下面的代码对于您之前提到的返回FALSE的字符串返回TRUE。
omgerd我在PHP中自动编写了第一个响应,这里是快速的JS编辑
var pattern = /^s*d{8}s*+*(,s*d{8},*)?/;
var data2 = '12345678 , 12345678 ,12345678';
if (pattern.test(data2) != 0) {
alert("ok");
}
输出:好