function isRegMerchId(str)
{
 var regu = "^[0-9a-zA-Z\_\+\-]*$"
 var re = new RegExp(regu);
 if(re.test(str))
 return true
 else return false
}
这样是可以的
如果
 var regu = "^[0-9a-zA-Z\_\+\-\(]*$"就报错 什么字符越界错误
请问怎么回事我想匹配的是 字母,数字,-,_,+,(,),∮

解决方案 »

  1.   

    var regu = "^[\(\)0-9a-zA-Z\_\+\-]*$"
      

  2.   

    <script language="javascript">
    function isRegMerchId(str)
    {
     var re = /^[0-9a-z\_\+\-\(\)∮]*$/ig;
     if(re.test(str))
     return true
     else return false
    }
    </script>
      

  3.   

    如果允许为空,用上面的写法,如果不允许为空<script language="javascript">
    function isRegMerchId(str)
    {
     var re = /^[0-9a-z\_\+\-\(\)∮]+$/ig;
     if(re.test(str))
     return true
     else return false
    }
    </script>
      

  4.   

    你这样写:var regu = "^[0-9a-zA-Z\_\+\-\(]*$" 不是正则式. 是一个字符串!
    如果你想省掉RegEx的话.就直接:
    var regu = /^[0-9a-zA-Z\_\+\-\(]*$/
      

  5.   

    var reg = /^[0-9a-zA-Z_\-+()∮]*$/;
    alert(reg.test("jld+-()∮"))在字符类([])中,"-","[","]"是特殊字符,要用反斜杠,其他不用