电话号码验证器项目是Freecodecamp 的 JavaScript 算法和数据结构认证中的五个项目中的第四个。该项目要求开发人员创建一个程序,接收字母数字输入并检查这些输入是否为有效的美国电话号码。
本文介绍了完成电话号码验证器项目的步骤。本文面向目前正在学习 JavaScript 算法和数据结构认证课程的开发人员。它还面向寻求指南以完成 Freecodecamp 上的电话号码验证器项目挑战的开发人员。
您是否有兴趣通过内容营销来发展您的品牌, 请查看我们提供的产品 ,了解我们如何通过为您的博客和网站创建高质量的文章和博客文章来帮助您。
目录
电话号码验证器挑战
这是在 freecodecamp 上看到的项目挑战。
如果传递的字符串看起来像有效的美国电话号码,则返回 true。用户可以选择以 黎巴嫩手机号码列表 任何方式填写表单字段,只要其格式符合有效的美国号码即可。
以下是美国号码有效格式的示例(有关其他变体,请参阅下面的测试):
对于此挑战,您将看到一个字符串,例如。您的任务是根据上面提供的格式的任意组合来验证或拒绝美国电话号码。区号是必需的。如果提供了国家代码,您必须确认国家代码为 1。
如果字符串是有效的美国电话号码,则返回 true;否则返回 false。
通过完成电话号码验证器项目您学到了什么?
完成电话号码验证器项目后,您将学到以下内容:
- 如何使用正则表达式匹配模式
- 如何使用 regex() 方法测试正则表达式
如何构建电话号码验证器
完成电话号码验证器项目的方法之一是使用正则表达式 (Regex)。首先匹配提供的第一个有效数字格式,然后扩展正则表达式,直到匹配挑战中提供的所有格式。
代码
以下是解决这一难题的代码:下面详细解释该代码块及其正则表达式。
上述编写代码的步骤包括以下步骤:
1. 声明一个函数并将“str”作为其参数传递。我将该函数称为电话号码验。您可以随意为您的函 电子邮件营销是网站和业务推广不可或 数指定任何描述性名称。此函数是每次调用时检查数字有效性的实际程序。
2. 声明正则表达式以匹配第一个有效格式。挑战中提供的第一个有效格式是:
要验证此格式的所有数字:
- 匹配所有以 3 个连续数字开头的数字。(请记住使用正斜杠而不是反斜杠)
- 将第一个连字符与
- 将破折号后的接下来 3 个连续数字与另一个数字匹配
- 将第二个连字符与
- 匹配一行中的接下来四位数字
这给了我们正则表达式
3. 调整此正则表达式以匹配提供的第二种有效格式。
观察正则表达式已经匹配的第一个格式和第二个有效数字格式之间的差异包括:
a. 第二种格式前 3 位数字括在圆括号内
b. 其次,括号后(连续三位数字的第一组和第二组之间)没有破折号(连字符)。
要匹配括号:
- 包含一个正则表达式,告诉验证器匹配不带括号的 3 位数字或带括号的 3 位数字。这是通过为圆括号中出现的任何 3 位连续数字添加另一个匹配来实现的。
匹配圆括号内的 3 个连续数字的正则表达式是。请记住 ao 列表 将此新正则表达式添加到第一个匹配三个连续数字的旁。使用竖线 分隔两个匹配项。
- 将两个正则表达式括在圆括号中,将其组合在一起
分组如下
- 为了告诉验证器此正则表达式分组后的破折号(连字符)是可选的,请在破折号后面添加一个问号。问号表示可选变量。