js如何用正则校验是否包含中括号【】或者[]?

JavaScript023

js如何用正则校验是否包含中括号【】或者[]?,第1张

校验是否包含中括号【】或者[]的javascript正则表达式 /\[|\]|【|】/g

完整的javascript校验程序如下

<html>

<head>

<script type=text/javascript>

 var str='[a-b'

 var regex=/\[|\]|【|】/g

 var a=regex.test(str)

 alert(a)

</script>

</head>

<body>

</body>

</html>

运行结果

true

先定义正则表达式,然后用正则表达式比较,看是否符合要求,如果返回true,则表示匹配,否则表示不匹配,示例代码如下:

//定义要判断的字符串

var str = "afsfd(bcd)asfasfsad(def)asdfsadf"

//定义正则表达式对象,\表示转义字符,原点表示任意字符,+表示出现次数至少1次,igm表示忽略大小写,且全局匹配

pattern =new RegExp("\\((.| )+?\\)","igm")

//取出匹配正则表达式的内容

alert(str.match(pattern))

就可以取出小括号内的内容了

因为Javascript的match函数不能匹配小括号内捕获组的数据,要用regex.exec(s)的exec函数才能匹配小括号内捕获组的数据,但是它只能匹配一次,需要用while循环来不断匹配,直到匹配不上为null才停止,具体的Javascript程序如下(注意正则表达式我给你做了小改动)

<script type=text/javascript>

 var s='/zjh/53/ed082524-a3dc-4264-8d3a-10825a038750?xxf=1'

 var regex=/\/?([^\/\?]+)/g

 var result

 while((result=regex.exec(s))!=null){

  alert(result[1])

 }

</script>

运行结果

zjh

53

ed082524-a3dc-4264-8d3a-10825a038750

xxf=1