2026西湖龙井茶官网DTC发售:茶农直供,政府溯源防伪到农户家
精通 JavaScript 中的正则表达式:从基础到实际验证
乍一看,正则表达式模式就像是一只猫在你的键盘上走过一样,是一串由斜杠、括号和符号组成的混乱字符。然而,一旦你解码了其语法,它将成为你开发者工具包中最强大的工具之一。
下面我们将分解正则表达式在 JavaScript 中的工作原理,并构建一个 robust(健壮)的模式来验证我们每天使用的东西:电子邮件地址。
究竟什么是正则表达式?
正则表达式是一个描述字符模式的对象。在 JavaScript 中,你可以通过两种方式创建它们:
- 字面量表示法: /模式/标志
- 构造函数: new RegExp('模式', '标志') ### 核心构建块 在我们处理电子邮件登录之前,我们需要理解正则表达式的“字母表”:
-
字符类:
- \d:匹配任何数字(0-9)。
- \w:匹配任何字母数字字符(字母、数字和下划线)。
- \s:匹配空白字符(空格、制表符)。
- .:通配符——匹配除换行符以外的任何字符。
-
量词:
- +:匹配前一个元素 1 次或多次。
- *:匹配 0 次或多次。
- {n,m}:匹配 n 到 m 次之间。
-
锚点:
- ^:强制匹配从字符串的开头开始。
- $:强制匹配在字符串的结尾结束。 ### 深入探讨:验证电子邮件地址 当我们登录平台时,第一道防线是确保输入的内容看起来确实像是一个电子邮件地址。让我们为一个标准的电子邮件地址(例如 zone01.recode@company.co.ke)构建一个正则表达式。 #### 1. 本地部分(zone01.recode) 我们希望允许字母、数字、点和下划线。
- 模式: ^[a-zA-Z0-9._%+-]+
- 解释: 我们从开头 (^) 开始,并允许方括号内的一组字符。+ 确保至少有一个字符。 #### 2. "@" 符号 我们只需要这个字面字符。
- 模式: @ #### 3. 域名(company) 与本地部分类似,但通常不包含特殊符号。
- 模式: [a-zA-Z0-9.-]+ #### 4. 顶级域名(.co.ke 或 .com) 我们需要一个字面意义上的点,后面跟着字母。由于点 . 在正则表达式中是通配符,我们必须使用反斜杠 \ 对其进行转义。
- 模式: \.[a-zA-Z]{2,}$
- 解释: 这在字符串的最末尾 ($) 查找一个点和至少两个字母。 #### 将所有部分组合在一起:
const emailRegex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;
const testEmail = "dev_user123@zone01.edu";
console.log(emailRegex.test(免责声明:本文内容来自互联网,该文观点不代表本站观点。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请到页面底部单击反馈,一经查实,本站将立刻删除。