js正则表达式判断电信手机号码

js yekong

要使用JavaScript正则表达式判断电信手机号码,可以参考以下正则表达式:

let regex = /^1(33|53|7[37]|8[019]|9[19])\d{8}$/;

这个正则表达式的含义是:

  • ^ 表示字符串的开始。
  • 1 表示手机号码以数字1开头。
  • (33|53|7|8[019]|9) 是一个捕获组,用于匹配电信的手机号码段。具体来说,电信的手机号码段包括133、153、173、177、180、181、189、191、199。
  • \d{8} 表示接下来是任意8个数字。
  • $ 表示字符串的结束。

因此,这个正则表达式能够匹配所有电信的手机号码。例如:

let regex = /^1(33|53|7[37]|8[019]|9[19])\d{8}$/;
console.log(regex.test("13312345678")); // 输出:true
console.log(regex.test("15312345678")); // 输出:true
console.log(regex.test("17712345678")); // 输出:true
console.log(regex.test("18112345678")); // 输出:true
console.log(regex.test("18912345678")); // 输出:true
console.log(regex.test("19112345678")); // 输出:true
console.log(regex.test("19912345678")); // 输出:true
console.log(regex.test("13812345678")); // 输出:false,因为138是移动的号码段

请注意,随着时间的推移和政策的变化,新的手机号码段可能会被引入,因此建议定期检查最新的手机号码段信息.

喜欢