JavaScript正则匹配主要用字符串方法(match/test/replace)和RegExp对象,需注意模式编写、方法选择及标志位(g/i/m);match()提取所有匹配项并返回数组或null,test()返回布尔值用于校验,replace()支持字符串或函数替换,动态模式宜用RegExp构造函数并防注入。

JavaScript 中正则表达式匹配主要通过字符串方法(如 match()、test()、replace())和 RegExp 对象实现,关键在于写对模式、选对方法、注意标志位。
适用于提取文本中所有符合规则的子串。返回数组(含匹配项),无匹配时返回 null。
g 标志,否则只返回第一个匹配及其捕获组信息i(忽略大小写)、m(多行模式)等可扩展适用场景示例:
const str = "Phone: 138-1234-5678, Fax: 010-8765-4321";
const phones = str.match(/d{3}-d{4}-d{4}/g);
// → ["138-1234-5678", "010-8765-4321"]
最轻量的方法,返回布尔值,适合表单校验、条件分支等场景。
test() 方法g 标志,多次调用会因内部 lastIndex 变化导致结果不稳定,建议每次新建实例或手动重置 lastIndex = 0
示例:
const emailRegex = /^[^s@]+@[^s@]+.[^s@]+$/;
console.log(emailRegex.test("user@example.com")); // true
console.log(emailRegex.test("invalid@")); // false
不仅能替换固定字符串,还能用捕获组动态生成新内容。
JSON(JavaScript Object Notation) 定义:一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性。业内主流技术为其提供了完整的解决方案(有点类似于正则表达式,获得了当今大部分语言的支持),从而可以在不同平台间进行数据交换。JSON采用兼容性很高的文本格式,同时也具备类似于C语言体系的行为。有需要的朋友可以下载看看
0
立即学习“Java免费学习笔记(深入)”;
$1、$& 等占位符)或函数(接收匹配项、分组、索引、原字符串等参数)g 标志实现全部替换示例(格式化日期):
const text = "Today is 2023-12-25";
text.replace(/(d{4})-(d{2})-(d{2})/, "$2/$3/$1");
// → "Today is 12/25/2023"
字面量写法(/pattern/flags)简洁,适合静态模式;构造函数 new RegExp(string, flags) 适合动态拼接模式(比如从用户输入生成)。
"\d"),因为字符串本身会先解析一次new RegExp 拼接未过滤的用户输入,以防正则注入基本上就这些。不复杂但容易忽略标志位和方法差异。
以上就是Javascript如何进行正则表达式匹配?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号