Javascript 用于逗号和空格的正则表达式

Javascript 用于逗号和空格的正则表达式,javascript,regex,Javascript,Regex,我有一个文本区域,用户可以在其中输入我们的邮政编码,用逗号或(逗号和空格)分隔 可能是 123456789654 以下正则表达式正在工作,正在删除不允许的字符: $object.val($object.val().replace(/[^\d\, ]/g, '')); 我想加强它,以便 我应该在开头有5个数字 在5位数字之后,应该有一个逗号或逗号和空格 逗号或(逗号和空格)不应位于字符串的末尾。结尾必须是5位数字 这也需要解决复制粘贴问题。用户可以复制粘贴邮政编码的无效长度 谢谢使用这个正则表达

我有一个文本区域,用户可以在其中输入我们的邮政编码,用逗号或(逗号和空格)分隔

可能是 123456789654

以下正则表达式正在工作,正在删除不允许的字符:

$object.val($object.val().replace(/[^\d\, ]/g, ''));
我想加强它,以便

  • 我应该在开头有5个数字
  • 在5位数字之后,应该有一个逗号或逗号和空格
  • 逗号或(逗号和空格)不应位于字符串的末尾。结尾必须是5位数字
  • 这也需要解决复制粘贴问题。用户可以复制粘贴邮政编码的无效长度

    谢谢使用这个正则表达式:
    ^\d{5}(,?\d{5})*$

    它在开头指定了5位数字:
    ^\d{5}
    以及任意数量的其他逗号、空格和5位数字组合:
    (,?\d{5})*

    您可以使用:

    var s='12345,45678, 12345';
    var m = s.match(/^(?:\d{5},\s?)*\d{5}$/);
    
    
    函数验证(txt){
    txt.value=txt.value.replace(/[^,0-9]+/g',);
    }
    
    您考虑过jQuery maskedinput插件吗?这对我来说很好,我没有冲突。你有没有尝试过寻找可能帮助你实现这一目标的答案?这里的一个怎么样?我建议不要裁剪输入文本,而是在它们无效时显示它们。您忽略了新的9位(首选)邮政编码:12345-5432。这是个好主意吗?我需要在用户输入数字时限制不允许的字符。这适用于模糊或提交验证。未收到您的评论。这将不允许任何不允许的字符。之后,一个空格,然后是0-9
    <html>
        <head>
            <title></title>
            <script type="text/javascript">
                function Validate(txt) {
                    txt.value = txt.value.replace(/[^, 0-9]+/g, '');
                }
            </script>
        </head>
        <body>
            <form>
                <input type = "text" id ="txt" onkeyup = "Validate(this)" />
            </form>
        </body>
    </html>