日期:2014-05-18  浏览次数:20363 次

请问:脚本正则匹配 问题 什么字符越界
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\_\+\-\(]*$ "

就报错   什么字符越界错误
请问怎么回事

我想匹配的是   字母,数字,-,_,+,(,),∮

------解决方案--------------------
var regu = "^[\(\)0-9a-zA-Z\_\+\-]*$ "
------解决方案--------------------
如果允许为空,用上面的写法,如果不允许为空

<script language= "javascript ">
function isRegMerchId(str)
{
var re = /^[0-9a-z\_\+\-\(\)∮]+$/ig;
if(re.test(str))
return true
else return false
}
</script>
------解决方案--------------------
你这样写:var regu = "^[0-9a-zA-Z\_\+\-\(]*$ " 不是正则式. 是一个字符串!
如果你想省掉RegEx的话.就直接:
var regu = /^[0-9a-zA-Z\_\+\-\(]*$/

------解决方案--------------------
var reg = /^[0-9a-zA-Z_\-+()∮]*$/;
alert(reg.test( "jld+-()∮ "))

在字符类([])中, "- ", "[ ", "] "是特殊字符,要用反斜杠,其他不用