JavaScript常用正则函数用法示例
本文实例讲述了JavaScript常用正则函数用法。分享给大家供大家参考,具体如下:
JavaScript正则函数match、exec、test、search、replace、split使用。
*属性"g"、"i"和"m",分别用于指定全局匹配、区分大小写的匹配和多行匹配。
1、match()函数
match()函数:如果未找到匹配,则返回值为null;如果找到了匹配,则返回一个结果数组。
functionRegExpMatch(){
varstr="https://www.nhooo.com/jiaoben";
varreg=/[j][\s\S]{3}/gi;//注意g将全文匹配,不加将永远只返回第一个匹配
varresult=str.match(reg);
alert(result);//返回:jb51,jiao
}
2、exec()函数
exec()函数:如果未找到匹配,则返回值为null;如果找到了匹配,则返回一个结果数组。
此数组的第0个元素是与正则表达式相匹配的文本,第1个元素与RegExpObject的第1个子表达式相匹配的文本(如果有的话),第2个元素是与RegExpObject的第2个子表达式相匹配的文本(如果有的话),以此类推。
functionRegExpExec(){
varstr="1234-5678";
varreg=/(\d{4})-(\d{4})/;
varresult=reg.exec(str);
alert(result);//返回:1234-5678,1234,5678
alert(result[1]+''+result[2]);//12345678
alert(RegExp.$1+''+RegExp.$2);//12345678
}
3、test()函数
test()函数:返回一个Boolean值,它指出在被查找的字符串中是否匹配给出的正则表达式。
functionRegExpTest(){
varstr="https://www.nhooo.com/jiaoben";
varreg=/^http:\/\/([\w-]+\.)+[\w-]+(\/[\w-]*)?$|^([\w-]+\.)+[\w-]+(\/[\w-]*)?$/;//验证URL格式
varresult=false;
if(reg.test(str)){
result=true;
}
alert(result);//true
}
4、search()函数
search()函数:返回与正则表达式查找内容匹配的第一个子字符串的位置,如果未找到匹配,则返回值为-1。
functionRegExpSearch(){
varstr="https://www.nhooo.com/jiaoben";
varreg=/(jiaoben)/;
varresult=str.search(reg);
alert(result);//20
}
5、replace()函数
replace()函数:返回根据正则表达式进行文字替换后的字符串的复制。
functionRegExpReplace(){
varstr="https://www.nhooo.com/jiaoben";
varreg=/^(http:\/\/www.nhooo.com)\/([\w]*)$/;
varresult=str.replace(reg,"$1?userId=$2");
alert(result);//https://www.nhooo.com?userId=jiaoben
}
6、split()函数
split()函数:将一个字符串分割为子字符串,然后将结果作为字符串数组返回。
functionRegExpSplit(){
varstr="1@4@7@9";
varreg=/@/;
varresult=str.split(reg);;
alert(result);//[1,4,7,9]
}
PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用:
JavaScript正则表达式在线测试工具:
http://tools.jb51.net/regex/javascript
正则表达式在线生成工具:
http://tools.jb51.net/regex/create_reg
更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript正则表达式技巧大全》、《JavaScript替换操作技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》、《JavaScript中json操作技巧总结》、《JavaScript错误与调试技巧总结》及《JavaScript数学运算用法总结》
希望本文所述对大家JavaScript程序设计有所帮助。