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

作者:小括号

时间:2026-10-23

浏览:591

本文介绍JavaScript中正则表达式的核心应用,包括search、replace、test和exec四个函数的具体用法。通过实例演示如何区分大小写搜索、字符串替换以及模式匹配验证,帮助开发者掌握JS正则处理技巧。

文章目录

JavaScript 正则表达式概述

本文通过具体示例,详细解析了JavaScript中正则表达式的常用函数及其应用场景,供读者参考学习。

search() 方法详解

search() 方法配合正则表达式的使用


//使用正则表达式搜索 "Runoob" 字符串,且不区分大小写
var str = "Visit Runoob!"; 
var n = str.search(/Runoob/i);

search() 方法也可接收普通字符串作为参数。

当 search 方法接收字符串参数时,该字符串会自动转换为正则表达式进行匹配:


var str = "Visit Runoob!"; 
var n = str.search("Runoob");
//输出
6

replace() 方法详解

replace() 方法配合正则表达式的使用


//使用正则表达式且不区分大小写将字符串中的 Microsoft 替换为 Runoob :
var str = document.getElementById("demo").innerHTML; 
var txt = str.replace(/microsoft/i,"Runoob");

replace() 方法同样支持接收普通字符串作为参数。

当 replace() 方法接收字符串作为参数时,其行为如下:


var str = document.getElementById("demo").innerHTML; 
var txt = str.replace("Microsoft","Runoob");

正则表达式修饰符

正则表达式修饰符说明

在正则表达式中,修饰符可用于控制全局搜索及是否忽略大小写:

修饰符 描述
i 执行对大小写不敏感的匹配。
g 执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。
m 执行多行匹配。

test() 方法详解

test() 方法的应用

test() 是 JavaScript 提供的一个正则表达式检测方法。

该方法用于判断字符串是否匹配指定的模式。若字符串中包含匹配的文本,则返回 true;否则返回 false。

以下示例演示如何在字符串中搜索字符 "e":


var patt = /e/;
patt.test("The best things in life are free!");

由于字符串中包含 "e",因此该示例的输出结果为:

true

无需单独定义正则表达式变量,上述两行代码可以合并为一行执行:


/e/.test("The best things in life are free!")

exec() 方法详解

exec() 方法的应用

exec() 是 JavaScript 提供的一个正则表达式检索方法。

该方法用于在字符串中查找正则表达式的匹配项。

若找到匹配,该函数返回一个数组,其中包含匹配结果;若未找到匹配,则返回 null。

以下示例演示如何在字符串中搜索字母 "e":


/e/.exec("The best things in life are free!"); 

由于字符串中包含 "e",因此该示例的输出结果为:

e

表单验证实例

正则表达式在表单验证中的实际应用示例:


/*是否带有小数*/
function  isDecimal(strValue ) { 
  var objRegExp= /^\d+\.\d+$/;
  return objRegExp.test(strValue); 
} 
 
/*校验是否中文名称组成 */
function ischina(str) {
  var reg=/^[\u4E00-\u9FA5]{2,4}$/;  /*定义验证表达式*/
  return reg.test(str);   /*进行验证*/
}
 
/*校验是否全由8位数字组成 */
function isStudentNo(str) {
  var reg=/^[0-9]{8}$/;  /*定义验证表达式*/
  return reg.test(str);   /*进行验证*/
}
 
/*校验电话码格式 */
function isTelCode(str) {
  var reg= /^((0\d{2,3}-\d{7,8})|(1[3584]\d{9}))$/;
  return reg.test(str);
}
 
/*校验邮件地址是否合法 */
function IsEmail(str) {
  var reg=/^\w+@[a-zA-Z0-9]{2,10}(?:\.[a-z]{2,4}){1,3}$/;
  return reg.test(str);
}

相关工具与资源

此外,推荐以下两款实用的正则表达式工具供读者使用:

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

实用工具推荐

电子包浆

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

使用 ›
图片压缩

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

使用 ›
相关文章