JavaScript正则表达式是匹配、查找、替换文本模式的工具,支持字面量(/abc/)和构造函数(new RegExp("abc"))两种创建方式,提供match、test、replace、split等方法及g/i/m修饰符和\d、\w、.等元字符。
JavaScript 中的正则表达式(Regular Expression,简称 RegExp)是一种用于匹配、查找、替换文本中特定模式的工具。它用一套简洁但功能强大的语法规则来描述字符串的结构,比如“以字母开头、后面跟 3 到 5 位数字”或“看起来像邮箱的格式”。
你可以用字面量或构造函数创建正则对象:
注意:构造函数中传入字符串时,反斜杠要双写(如 \\d),因为字符串本身会先解析一次转义。
JS 提供多个内置方法操作正则:
例如:"hello123world".match(/\d+/) 返回 ["123"];/\d+/.test("abc") 返回 false。
修饰符写在正则末尾,改变匹配行为:
常见元字符示例:
\d 匹配数字,\w 匹配字母/数字/下划线. 匹配任意单个字符(换行符除外),^ 行首,$ 行尾[abc] 匹配 a、b 或 c;[^0-9] 匹配非数字+(1 次以上)、*
(0 次以上)、?(0 或 1 次)、{3,5}(3 到 5 次)假设中国手机号是 11 位,以 1 开头,第二位是 3–9:
const phoneReg = /^1[3-9]\d{9}$/;
console.log(phoneReg.test("13812345678")); // true
console.log(phoneReg.test("12812345678")); // false(第二位不是 3–9)
这里 ^ 和 $ 确保整串都符合,避免部分匹配;[3-9] 限定第二位范围;\d{9} 补齐剩下 9 位数字。
基本上就这些。正则不复杂但容易忽略细节,多练几个常见场景(邮箱、日期、URL、空格处理)就顺手了。