JavaScript 中的 RegEx 以及一个很酷的项目🔥

2025-05-25

JavaScript 中的 RegEx 以及一个很酷的项目🔥

大家好,这是我在这个平台上的第一篇博客,我们将在一个很酷的小项目的帮助下学习正则表达式。

大纲

  1. 什么是 RegEx?
  2. RegEx 的用例。
  3. 在 JavaScript 中定义 RegEx 的不同方法。
  4. RegEx 备忘单
  5. RegEx 中的一些有用的标志。
  6. 元字符
  7. 量词
  8. 项目

什么是 RegEx?

RegEx 是正则表达式 (Regular Expressions) 的缩写。RegEx 是由特殊字符组成的字符串,用作匹配字符串的模式。

RegEx 的用例。

  • 用于验证(电子邮件验证、电话验证等)。
  • 匹配和替换程序。
  • 密码模式匹配等

在 JavaScript 中定义 RegEx 的方法。

在 JavaScript 中定义 RegEx基本上有两种方法。

  1. 使用文字
  2. 使用 RegEx 对象

让我们看看如何使用这两种方式定义 RegEx。

  1. 使用文字
let regPat = /ab/
Enter fullscreen mode Exit fullscreen mode
  1. 使用 RegEx 对象
let regPat = new RegExp('abc');
Enter fullscreen mode Exit fullscreen mode

对于 RegEx 对象部分,您无需导入/require任何内容即可使用它。因为它是一个全局对象,可以在代码文件的任何位置使用。

对于这篇博客,我将使用字面方式

RegEx 备忘单

RegEx 备忘单

一些有用的标志。

  1. i --> 用于忽略大小写。
  2. g --> 用于执行全局搜索。
  3. s --> 用于匹配换行符。
  4. m --> 用于执行多行搜索。

您可以在 RegEx 模式中使用多个标志,但务必将标志写在末尾。

例如

/gold/i.test('GolD')
Enter fullscreen mode Exit fullscreen mode

这将输出为true,因为最后的 i 标志将忽略区分大小写。

元字符

元字符用于匹配后续字符,可以是特殊字符,也可以是字面量。
部分元字符如下所示。

  1. \d --> 匹配 [0-9] 中的下一个字符
  2. \D --> 匹配后面的任何字符(数字除外)。
  3. \s --> 将下一个字符匹配为空格/空格。
  4. \w --> 匹配字母(大写和小写)。
  5. \W --> 匹配除字母之外的任何内容。

量词。

量词用于表示您想要匹配多少个字符或表达式。

例如:如果你想匹配 10 位数字,你可以这样做

let regPat = /\d{10}/
Enter fullscreen mode Exit fullscreen mode

一些量词如下

  1. []? --> 它将匹配括号中任何内容的出现 0 次或 1 次。

  2. []+ --> 检查是否发生 1 次或多次。

  3. [] * --> 发生 0 次或多次。

  4. []{n} --> 出现 n 次。

  5. []{n,} --> 出现 n 次或更多次。

  6. []{n,m} --> 至少出现 n 次,但应少于 m 次。

项目。

我们将使用 RegEx 构建一个很酷的小项目来验证美国格式的手机号码。

function telephoneCheck(num){
  let result = false;
  const patterns = [
  /^\d{3}-\d{3}-\d{4}/,
/^\d{10}$/,
/^\d{3}\s\d{3}\s\d{4}/,
/^\(\d{3}\)\d{3}-\d{4}/,
/^1\(\d{3}\)\d{3}-\d{4}/,
/^1\s\(\d{3}\)\s\d{3}-\d{4}/,
/^1\s\d{3}\s\d{3}\s\d{4}/,
/^1\s\d{3}-\d{3}-\d{4}/
]

result = patterns.some(reg => reg.test(num))
return result;
}

telephoneCheck("1 555 555 5555")
Enter fullscreen mode Exit fullscreen mode

对于符合美国手机号码格式的每种格式,它将返回true ,否则将返回false 。

以下是有效的美国电话号码格式

555-555-5555
(555)555-5555
(555) 555-5555
555 5555
5555555555
1 555 555 5555

--

希望我能为大家带来一些好东西☺。欢迎大家提供反馈、建议等等。

祝您玩得开心、安全,非常感谢您花时间浏览这个博客❤。

你可以在Twitter上关注我💜😅

“让我们一起学习和成长。Adios amigos/amigas hasta la proxima vez 💜☕”

文章来源:https://dev.to/jaspalsingh1998/regex-in-javascript-with-a-cool-project-2e6m
PREV
15+ 比训练营更好的结构化学习替代方案
NEXT
每个代码新手的秘密开发工具