JavaScript本地对象常用方法(三)——正则表达式对象

来源:互联网 发布:ddos攻击服务器软件 编辑:程序博客网 时间:2024/05/17 04:48

正则表达式对象的常用方法

1.replace()
replace()按第一个正则参数进行匹配,替换为第二个参数

var str1="2012qWeR12AsDf12";var reg1=new RegExp(/[a-z]{1,}/ig);//历遍全部长度最小为1的字母组不分大小写var str2=str1.replace(reg1,'-');//按正则reg1匹配,并替换成'-'console.log(str2);//2012-12-12

2.match()
match()在字符串中历遍匹对正则参数的对象,并以数组的形式返回

var str3="2012qWeR12AsDf12";var reg2=new RegExp(/[a-z]{1,}/ig);//历遍全部长度最小为1的字母组不分大小写var reg3=new RegExp(/^([0-9]{1,})([a-z]{1,})([0-9]{1,})([a-z]{1,})([0-9]{1,})$/i);//历遍一个格式 数字组-字母组-数字组-英文组-数字组 的字符串对象console.log(str3.match(reg2));//按正则表达式历遍,返回结果//["qWeR", "AsDf"]console.log(str3.match(reg3));//正则表达式有括号,先历遍整个字符串确认字符串与正则的格式相同,然后把每个括号内正则再次历遍//["2012qWeR12AsDf12", "2012", "qWeR", "12", "AsDf", "12", index: 0, input: "2012qWeR12AsDf12"]

3.search()
search()在字符串中历遍匹对正则参数的对象的第一个对象,并返回该对象的下标

var str4="2012qWeR12AsDf12";var reg4=new RegExp(/12/g);//历遍全部'12'的对象console.log(str4.search(reg4));//返回匹配的第一个对象的下标 2

4.split()
split()在字符串中历遍匹对正则参数的对象,以这些对象为界分割字符串,第二个参数限制分割所返回的数组的长度

var str5="2012qWeR12AsDf12";var reg5=new RegExp(/[a-z]{1,}/ig);//历遍全部长度最小为1的字母组不分大小写console.log(str5.split(reg5));//["2012", "12", "12"]console.log(str5.split(reg5,1));//["2012"]

5.compile()
compile()编写正则表达式

reg6=new RegExp(/[0-9]{1,}/g);reg7=new RegExp(/[^a-z0-9]{1,}/ig);reg7.compile(reg6);//用reg6重新编写reg7console.log(reg6);//返回正则/[0-9]{1,}/gconsole.log(reg7);//返回正则/[0-9]{1,}/g

6.exec()
exec()在字符串中历遍匹对正则参数的对象,并以数组的形式返回,而且返回匹配的第一个对象的下标

var str6="2012qWeR12AsDf12";var reg8=new RegExp(/[a-z]{1,}/ig);//历遍全部长度最小为1的字母组不分大小写var reg9=new RegExp(/^([0-9]{1,})([a-z]{1,})([0-9]{1,})([a-z]{1,})([0-9]{1,})$/i);//历遍一个格式 数字组-字母组-数字组-英文组-数字组 的字符串对象console.log(reg8.exec(str6));//按正则表达式历遍,返回匹配的第一个结果和下标//["qWeR", index: 4, input: "2012qWeR12AsDf12"]console.log(reg9.exec(str6));//正则表达式有括号进行多步运算,先历遍整个字符串确认字符串与正则的格式相同,返回下标0,然后把每个括号内正则再次历遍//["2012qWeR12AsDf12", "2012", "qWeR", "12", "AsDf", "12", index: 0, input: "2012qWeR12AsDf12"]

7.test()
test()按正则表达式历遍验证,符合则返回true,不符合则返回false

var str7="2012qWeR12AsDf12";var reg10=new RegExp(/[a-z]{1,}/ig);//历遍全部长度最小为1的字母组不分大小写console.log(reg10.test(str7));//按正则表达式历遍验证,符合返回true
阅读全文
0 0