Javascript 带有逗号和空格的验证号的正则表达式

Javascript 带有逗号和空格的验证号的正则表达式,javascript,regex,Javascript,Regex,我不知道为什么这个正则表达式不起作用。 我想验证输入是否为以下格式:123456782345678*space*12345678、12345678、12345678、12345678123456782345678,space 如果不返回false,则必须是8位数字。 下面是我使用的正则表达式,但它适用于两组数字,但当我输入另一组数字时,验证不起作用 工作:12345678、12345678 不工作:12345678、12345678、12345678 谢谢您需要更详细地描述您想要匹配的内容。我假

我不知道为什么这个正则表达式不起作用。 我想验证输入是否为以下格式:
  • 123456782345678
  • *space*12345678、12345678、12345678、12345678
  • 123456782345678,space
  • 如果不返回false,则必须是8位数字。 下面是我使用的正则表达式,但它适用于两组数字,但当我输入另一组数字时,验证不起作用

  • 工作:12345678、12345678
  • 不工作:12345678、12345678、12345678

  • 谢谢

    您需要更详细地描述您想要匹配的内容。我假设您想要匹配由逗号和加号分隔的8位NUM,可能后跟逗号

    问题是你最多只能取两组数字

    鉴于上述假设,这是您想要的正则表达式:

    ^(\s*\d{8}\s*[+,]?\s*)*$
    

    同样,您可以将其显示在屏幕上。

    您能再详细介绍一下需求吗?逗号前是否需要空格

    \\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");
    }
    
    输出:
    好的

    哇,debuggex太棒了。谢谢你的链接!我也可以大胆地建议。嗨,目前这个正则表达式:^(\s*\d{8}\s*[+,]?\s*)*$verify用于上述所有情况。但当我的字符串是1234567812345678时,它返回true。我试着编辑它。但结果仍然是一样的。知道我该怎么做吗?以便代码可以验证上述情况和1234567812345678?如果删除$,它将匹配无效字符串,例如8位数字后只跟字母。
    var pattern = /^\s*\d{8}\s*\+*(,\s*\d{8},*)?/;
    var data2 = '12345678 , 12345678 ,12345678';
    if (pattern.test(data2) != 0) {
        alert("ok");
    }