Javascript 正则表达式测试至少一个数字,可以是字母数字,并且应该允许一些特殊字符

Javascript 正则表达式测试至少一个数字,可以是字母数字,并且应该允许一些特殊字符,javascript,regex,Javascript,Regex,我正在为zipcode编写一个正则表达式,以满足以下要求 它必须至少包含一个数字 它可以是字母数字 唯一允许的特殊字符是-、空格和/或# 虽然看起来很简单,但我没能成功地写出来。我是regex的新手,与regex的相处并不顺利 请提出解决方案。类似的问题 /^(?=.*\d)[a-zA-Z\d #-]+$/ 试试下面的例子: HTML部分: $(文档).ready(函数(){ 变量zipcode_表达式=/^(?=.*\d)[a-zA-Z\d#,-]+$/; if(zipcode_expre

我正在为zipcode编写一个正则表达式,以满足以下要求

  • 它必须至少包含一个数字
  • 它可以是字母数字
  • 唯一允许的特殊字符是
    -
    空格
    和/或
    #
  • 虽然看起来很简单,但我没能成功地写出来。我是regex的新手,与regex的相处并不顺利

    请提出解决方案。

    类似的问题

    /^(?=.*\d)[a-zA-Z\d #-]+$/
    

    试试下面的例子:

    HTML部分:

    
    $(文档).ready(函数(){
    变量zipcode_表达式=/^(?=.*\d)[a-zA-Z\d#,-]+$/;
    if(zipcode_expression.test($.trim($('#zipcode').val())==false){
    警报(“无效zipcode”);
    }
    });
    

    我认为这可能有助于解决您的问题。

    如果您正在撰写,您取得了多大进展?请向我们展示您的尝试?您已经接近了。您的角色集中缺少一个
    -
    ,并且您没有涵盖“它必须至少包含一个数字”。下面的答案与前瞻
    (?=.*\d)
    中的答案有关。
    <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
    <script type="text/javascript">
    $(document).ready(function () {
    var zipcode_expression = /^(?=.*\d)[a-zA-Z\d # ,-]+$/;
    if (zipcode_expression.test($.trim($('#zipcode').val())) == false){
        alert('invalid zipcode');
    }
    });
    </script>
    <input type="text" name="zipcode" id="zipcode" value="jo h,n1#-">