js正则验收手机号(包含港澳台)

  • Post author:
  • Post category:其他


如果您需要对中国大陆、香港、澳门和台湾地区的手机号码进行验证,可以考虑使用以下的正则表达式:

function isValidPhoneNumber(number) {
  const regExp = /^((\+|00)86)?1[3-9]\d{9}$|^852\d{8}$|^853\d{8}$|^(886|0)9\d{8}$/;
  return regExp.test(number);
}

// 示例用法:
const phoneNumber = '+8613812345678';
if (isValidPhoneNumber(phoneNumber)) {
  console.log(`"${phoneNumber}" 是一个有效的手机号码`);
} else {
  console.log(`"${phoneNumber}" 不是一个有效的手机号码`);
}

上面的正则表达式中,增加了对香港、澳门和台湾地区手机号码的匹配。

^852\d{8}$ 匹配香港 8 位数字开头的手机号码;

^853\d{8}$ 匹配澳门 8 位数字开头的手机号码;

^(886|0)9\d{8}$ 匹配台湾 10 位数字开头的手机号码,开头的数字可以为 “886” 或 “0”。

这个正则表达式的核心部分仍然是 ^((+|00)86)?1[3-9]\d{9}$,表示匹配以 1 开头的、总共 11 位数字的大陆手机号码格式;同时支持前缀为 “+86” 或 “0086” 的国际长途格式(但前缀不是必须的)。

使用这个正则表达式可以比较方便地验证各种手机号码格式。



版权声明:本文为User13528511814原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。