我不确定为什么这个正则表达式不起作用。 我想验证输入是否采用以下格式:
var validate_numbers = /^\s*\d{8}\s*\+*(,\s*\d{8},*)?$/;
谢谢
答案 0 :(得分:2)
您需要更详细地描述您想要匹配的内容。我假设你想要匹配用逗号和字母分隔的8位数字,可能后跟逗号。
问题是你最多需要2组数字。 Visualization
鉴于上述假设,这是你想要的正则表达式:
^(\s*\d{8}\s*[+,]?\s*)*$
同样,您可以在debuggex上将其可视化。
答案 1 :(得分:0)
您能否详细介绍一下这项要求?你需要在逗号之前有空格吗?
\\d{8}(?:,\\d{8})*+
试试吧。它可以正常工作,需要验证一个数字列表,它有8位数字,并用逗号分隔。
希望它会有所帮助
答案 2 :(得分:0)
从当前正则表达式中删除“$”。它严格匹配行的结尾,这会导致表达式在所需的字符串上返回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");
}
输出: 确定