JS 手机号正则表达式

JS 手机号正则表达式

在前端开发中,经常需要对电话号码进行格式验证。JavaScript 提供了一个方便易用的正则表达式来验证电话号码是否符合规范。

前置知识

在学习本文之前,我们需要了解一些基础知识。

正则表达式

正则表达式(Regular Expression),又称规则表达式,常简写为 regex、regexp 或 RE,是计算机科学的一个概念。正则表达式是一种用来描述、匹配、替换一组符合某个规则的字符串的文本模式。

手机号格式

在中国,手机号码的格式是:11 位数字,第一位是 1,第二位根据号码的归属地规定。

代码实现

以下是一个基于 JavaScript 实现的手机号正则表达式:

const PHONE_REGEX = /^1[3|4|5|6|7|8|9]\d{9}$/;
function isValidPhoneNum(phoneNum) {
  return PHONE_REGEX.test(phoneNum);
}

以上代码定义了一个常量 PHONE_REGEX,表示手机号码的正则表达式,中间的 \d{9} 表示后面必须是 9 个数字。然后,我们定义了一个函数,名为 isValidPhoneNum,来判断一个电话号码是否有效,如果有效则返回 true,否则返回 false。

我们来看下面的一些示例:

isValidPhoneNum("13811111111"); // true
isValidPhoneNum("1393333333"); // false
isValidPhoneNum("99999999999"); // false
isValidPhoneNum("13811111111abc"); // false

通过上面的例子,我们可以看到该正则表达式的效果,即只有手机号码符合规范才会被判定为有效,否则一律视为无效。

注释与解释

下面是对于以上代码的详细解释:

const PHONE_REGEX = /^1[3|4|5|6|7|8|9]\d{9}$/;

/**
 * 判断电话号码是否有效
 * @param {string} phoneNum 电话号码(11位数字)
 * @returns {boolean} 返回true表示有效;返回false表示无效
 */
function isValidPhoneNum(phoneNum) {
  return PHONE_REGEX.test(phoneNum);
}
  • 首先我们定义了一个常量 PHONE_REGEX(正则表达式),必须以 1 为开头,中间可以是 3、4、5、6、7、8、9 中的一个数字,最后加上 9 个数字,这个正则表达式表示的是手机号码的结构。
  • 然后定义了一个 isValidPhoneNum 函数,接收一个参数 phoneNum,该参数是一个字符串类型的电话号码。
  • 接着使用 test 方法来进行验证,如果符合正则表达式,则返回 true,否则返回 false。
  • 最后,添加了注释,方便使用者阅读和了解函数可接受的参数类型、返回值类型和功能。

结论

使用上述正则表达式,我们可以通过一个函数来快速判断一个字符串是否满足手机号码的格式要求。这里我们提醒一下,虽然手机号码的格式是 11 位数字,但是我们并不能确保所有符合格式的字符串都是真实有效的电话号码。因此,在实际使用时,我们还需要根据业务场景和实际需求进行更加严格的验证。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程