JavaScript正则表达式核心方法详解:test、match、search、replace、split与exec
本文系统梳理JavaScript中正则表达式的六个核心方法:test用于布尔匹配,match返回匹配数组,search定位索引,replace执行替换,split进行分割,exec返回详细匹配对象。结合具体代码示例,解析各方法的返回值特征与适用场景,帮助开发者准确选择正则处理策略。
JavaScript正则表达式核心方法概述
参考菜鸟教程关于JavaScript正则表达式的详细笔记:http://www.cainiao8.com/web/js_note/js_regular_expression.html
test方法:布尔匹配检测
test方法用于检测字符串是否包含匹配模式。若存在匹配项,返回true;否则返回false。
<script type="text/javascript">
var str = "bbs.byr.cn";
var reg = /b/;
var ret = reg.test(str);
alert(ret); //true
</script>
match方法:获取匹配结果
match方法依据正则表达式pattern进行全局匹配。若找到匹配项,返回包含匹配结果的数组;若未找到,返回null。
<script type="text/javascript">
var str = "ThIS isn't me";
var reg = /is/ig;
var ret = str.match(reg);
alert(ret); //IS, is
console.log(ret); //["IS", "is"]
</script>
search方法:定位匹配索引
search方法依据正则表达式pattern进行匹配查找。若找到第一个匹配项,返回其在字符串中的索引位置;若未找到,返回-1。
<script type="text/javascript">
var str = "This isn't me";
var reg = /is/;
var ret = str.search(reg);
alert(ret);//2
</script>
replace方法:执行字符串替换
replace方法依据正则表达式pattern进行匹配,并将匹配到的内容替换为指定的replacement字符串。
<script type="text/javascript">
var str = "i love china!";
var pattern = /i/g;
var ret = str.replace(pattern, "I");
alert(ret); //I love chIna!
</script>
split方法:按正则分割字符串
split方法依据正则表达式pattern对字符串进行分割,返回分割后的字符串数组。
<script type="text/javascript">
var str = 'http://www.baidu.com/';
var reg = /\W/;
var ret = str.split(reg);
console.log(ret); //["http", "", "", "www", "baidu", "com", ""]
</script>
exec方法:获取详细匹配信息
exec方法对字符串进行正则处理,返回一个包含匹配信息的数组。其中array[0]为原字符串,array[i]表示匹配在整个被搜索字符串中的位置索引。
<script type="text/javascript">
var str = "i love china!";
var reg = /i\B/g;
var ret = reg.exec(str);
alert(ret); // i
console.log(ret); //["i", index: 9, input: "i love china!"]
</script>
总结与互动
以上介绍了JavaScript中正则表达式常用的test、match、search、replace、split和exec方法。希望这些内容能帮助大家解决实际问题。如有任何疑问,欢迎留言交流,小编会及时回复。感谢大家对本站的支持!
JS动态构建复杂嵌套JSON对象的方法
2026-11-05 15:41:52
JS负数取余为什么是负数?详解余数与模运算区别
2026-11-05 13:34:41
JS 解压出现乱码或报错怎么解决?
2026-11-05 12:32:38
JS 中 startsWith、indexOf 与正则判断字符串前缀的对比
2026-11-04 22:19:43
JS解析Excel后怎么将数据转换为JSON格式
2026-11-04 20:58:28
