📌  相关文章
📜  电话号码正则表达式 - Javascript (1)

📅  最后修改于: 2023-12-03 15:40:57.813000             🧑  作者: Mango

电话号码正则表达式 - JavaScript

在 JavaScript 中,我们可以使用正则表达式来匹配电话号码。电话号码的格式可能有所不同,具体要根据实际情况来确定。

匹配美国电话号码

美国电话号码的格式为三个数字作为区号,后面接着三个数字和四个数字分别为前缀和行号,中间可以用短横线或空格隔开。

const pattern = /^\d{3}[- ]?\d{3}[- ]?\d{4}$/;
const phoneNumber = '123-456-7890';

if (pattern.test(phoneNumber)) {
  console.log('This is a valid US phone number.');
} else {
  console.log('This is not a valid US phone number.');
}

这里使用正则表达式 /^\d{3}[- ]?\d{3}[- ]?\d{4}$/ 来匹配美国电话号码。其中的 ^ 表示匹配字符串的开头,\d 表示匹配数字,{3} 表示匹配前面的内容三次,[- ]? 表示匹配短横线或空格零次或一次,$ 表示匹配字符串的结尾。

匹配中国大陆电话号码

中国大陆电话号码的格式为区号和电话号码都为 11 位数字。其中区号以 0 开头,后面跟上 2 到 3 位数字;电话号码的前三位可以是 13、14、15、16、17、18 或 19,后面是 8 位数字。

const pattern = /^0\d{2,3}-?\d{7,8}$/;
const phoneNumber = '010-12345678';

if (pattern.test(phoneNumber)) {
  console.log('This is a valid China phone number.');
} else {
  console.log('This is not a valid China phone number.');
}

这里使用正则表达式 /^0\d{2,3}-?\d{7,8}$/ 来匹配中国大陆电话号码。其中的 ^$ 用法与上文相同。\d{2,3} 表示匹配两位或三位数字,-? 表示匹配短横线零次或一次。

其他电话号码格式

除了上述两种电话号码格式之外,还有很多其他的格式。可以根据实际情况调整正则表达式。

const pattern = /<your-regex>/;
const phoneNumber = '<your-phone-number>';

if (pattern.test(phoneNumber)) {
  console.log('This is a valid phone number.');
} else {
  console.log('This is not a valid phone number.');
}

注意,这里的正则表达式需要根据具体情况进行修改。你可以在 regex101.com 等网站上测试你的正则表达式。