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