JavaScript 正则表达式入门指南

阅读时长 3 分钟读完

正则表达式是一种强大的处理字符串的工具,它可以用来匹配、搜索和替换文本。在前端开发中,正则表达式常用于表单验证、数据提取等场景。本文将介绍 JavaScript 中一些常用的正则表达式及其使用方法。

基础语法

JavaScript 中的正则表达式用 / 包裹起来,例如:

以上代码表示创建了一个正则表达式,用于匹配字符串中包含 "hello" 的位置。

正则表达式由多个字符组成,其中一些字符有特殊的含义。例如,/d 表示匹配任意数字字符。下面是一些常用的元字符:

  • . 匹配任何单个字符,除了换行符和其他 Unicode 行终止符。
  • \d 匹配任何数字字符。相当于 [0-9]
  • \w 匹配任何字母数字字符。相当于 [A-Za-z0-9_]
  • \s 匹配任何空格字符,包括空格、制表符、换页符等。
  • ^ 匹配字符串的开头。
  • $ 匹配字符串的结尾。
  • * 匹配前面的模式零次或多次。
  • + 匹配前面的模式一次或多次。
  • ? 匹配前面的模式零次或一次。
  • {n} 匹配前面的模式恰好 n 次。
  • {n,} 匹配前面的模式至少 n 次。
  • {n,m} 匹配前面的模式至少 n 次,但不超过 m 次。

常用正则表达式

匹配邮箱地址

邮箱地址的格式为 username@domain.com,其中 username 和 domain 都是由字母、数字和特殊字符组成的。我们可以使用以下正则表达式进行匹配:

解释一下上述代码:

  • ^ 匹配字符串的开头。
  • [a-zA-Z0-9._%+-]+ 匹配一个或多个字母、数字、点号、下划线、百分号、加号或减号。
  • @ 匹配 @ 符号。
  • [a-zA-Z0-9.-]+ 匹配一个或多个字母、数字、点号或减号。
  • \. 匹配点号。
  • [a-zA-Z]{2,} 匹配两个或以上字母。

最后,$ 匹配字符串的结尾。

匹配身份证号码

身份证号码是 18 位或 15 位数字,最后一位可能是 X 或 x(表示 10)。我们可以使用以下正则表达式进行匹配:

解释一下上述代码:

  • (^\d{15}$) 匹配 15 位数字。
  • (^\d{18}$) 匹配 18 位数字。
  • (^\d{17}(\d|X|x)$) 匹配 17 位数字加上最后一位是数字或 X 或 x。

匹配 URL

URL(统一资源定位符)是用于定位互联网上资源的字符串。一个标准的 URL 格式为:

其中,protocol 表示协议,例如 http、https 等;hostname 表示主机名或 IP 地址;port 表示端口号;pathname 表示路径;search

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/9749

纠错
反馈