JavaScript 正则表达式常用方法详解
本文介绍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 程序设计有所帮助。
JS语法错误会阻止加载吗?区分SyntaxError与资源加载失败
2026-11-05 16:08:46
JavaScript常见SyntaxError语法错误排查与修复方法
2026-11-05 13:58:44
JS中slice、substring和substr截取字符串的区别
2026-11-05 13:43:47
JS 转 TS 手动迁移最佳实践:从配置 tsconfig 到消除 any 类型
2026-11-05 11:53:32
为什么JS数组push后得到的是数字而不是数组?
2026-11-05 09:59:18
