当前位置: 代码迷 >> ASP.NET >> 请教:脚本正则匹配 有关问题 什么字符越界
  详细解决方案

请教:脚本正则匹配 有关问题 什么字符越界

热度:3326   发布时间:2013-02-25 00:00:00.0
请问:脚本正则匹配 问题 什么字符越界
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+-()∮ "))

在字符类([])中, "- ", "[ ", "] "是特殊字符,要用反斜杠,其他不用
  相关解决方案