JavaScript正则表达式常用方法详解与示例

作者:青柠

时间:2026-10-21

浏览:199

本文详细介绍JavaScript中正则表达式的六个核心方法:match、exec、test、search、replace和split。通过具体代码示例解析各函数的返回值、参数及适用场景,帮助开发者掌握字符串匹配、验证、替换与分割的实际应用。

文章目录

JavaScript正则表达式常用方法详解与示例

本文通过具体实例解析JavaScript中正则表达式的常用函数,供开发者参考学习。

主要涵盖JavaScript中正则对象提供的match、exec、test、search、replace以及split等函数的具体使用方式。

在构造正则表达式时,可以使用"g"、"i"和"m"属性,分别用于指定全局匹配、忽略大小写匹配以及多行匹配模式。

match()函数

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
}

exec()函数

2、exec()函数

exec()函数在未发现匹配时返回null;若发现匹配,则返回一个结果数组。

该结果数组的第0个元素对应与正则表达式完全匹配的文本;第1个元素对应正则对象中第1个子表达式匹配的文本(若存在);第2个元素对应第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
}

test()函数

3、test()函数

test()函数返回一个布尔值,用于指示目标字符串中是否存在与给定正则表达式相匹配的内容。


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
}

search ()函数

4、search ()函数

search ()函数返回与正则表达式查找内容匹配的第一个子字符串的起始位置;若未找到任何匹配,则返回-1。


function RegExpSearch() {
  var str = "https://www.jb51.net/jiaoben";
  var reg = /(jiaoben)/;
  var result = str.search(reg);
  alert(result);  //20
}

replace()函数

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
}

split()函数

6、split()函数

split()函数依据正则表达式将字符串分割为子字符串,并将这些子字符串作为数组返回。


function RegExpSplit() {
  var str = "1@4@7@9";
  var reg = /@/;
  var result = str.split(reg); ;
  alert(result);  //[1,4,7,9]
}

此外,本文还提供两款实用的正则表达式在线工具供读者使用:

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程序设计工作有所帮助。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章