正则表达式是一种强大的字符串匹配工具,它可以帮助开发者处理各种文本操作。在前端开发中,正则表达式也是必备的技能之一。本篇文章将为读者提供一个 Javascript 正则速查表,涵盖了常用的正则表达式语法以及实际应用场景。
基础语法
字符集
表达式 | 描述 |
---|---|
. | 匹配任何字符,除了换行符和其他控制字符。 |
\w | 匹配任何字母数字字符。 |
\W | 匹配任何非字母数字字符。 |
\d | 匹配任何数字字符。 |
\D | 匹配任何非数字字符。 |
\s | 匹配任何空白字符,包括空格、制表符等。 |
\S | 匹配任何非空白字符。 |
重复次数
表达式 | 描述 |
---|---|
* | 匹配前面的字符零次或多次。 |
+ | 匹配前面的字符一次或多次。 |
? | 匹配前面的字符零次或一次。 |
{n} | 匹配前面的字符恰好 n 次。 |
{n,m} | 匹配前面的字符至少 n 次,最多 m 次。 |
{n,} | 匹配前面的字符至少 n 次。 |
*? | 惰性匹配模式,尽可能少地匹配。 |
+? | 惰性匹配模式,尽可能少地匹配。 |
?? | 惰性匹配模式,尽可能少地匹配。 |
{n}? | 惰性匹配模式,匹配恰好 n 次。 |
{n,m}? | 惰性匹配模式,匹配至少 n 次但不超过 m 次。 |
{n,}? | 惰性匹配模式,匹配至少 n 次。 |
\b | 匹配一个单词边界。 |
\B | 匹配非单词边界。 |
分组
表达式 | 描述 |
---|---|
(x) | 匹配 x 并捕获匹配项。 |
(?:x) | 匹配 x,但不捕获匹配项。 |
(?=x) | 匹配后面跟着 x 的位置。 |
(?!x) | 匹配后面不跟着 x 的位置。 |
(?<=x) | 匹配前面是 x 的位置。 |
(?<!x) | 匹配前面不是 x 的位置。 |
(?(exp)yes | no) |
实际应用
邮箱地址验证
邮箱地址的正则表达式比较复杂,但是可以根据实际情况进行调整。以下示例代码使用了常见的邮箱地址格式。
const regex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/; console.log(regex.test("example@example.com")); // true console.log(regex.test("example@example.com.cn")); // true console.log(regex.test("example.example@example.cn")); // true console.log(regex.test("example..example@example.com")); // false
身份证号码验证
身份证号码的正则表达式规则
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/10801