我有一个电话号码列表,其格式有多种,例如:(212)-555-1234
或212-555-1234
或2125551234
。
使用JavaScript,从这些字符串中仅提取区域代码的最佳方法是什么?
答案 0 :(得分:5)
首先,删除非数字的所有内容以获取普通数字。然后,通过切片得到前三位数字:
return myString.replace(/\D/g,'').substr(0, 3);
答案 1 :(得分:3)
获取前3位数字......
/[0-9]{3}/.exec("(212)-555-1234")[0]
示例(fiddle):
console.log(/[0-9]{3}/.exec("(212)-555-1234")[0]); // 212
console.log(/[0-9]{3}/.exec("212-555-1234")[0]); // 212
console.log(/[0-9]{3}/.exec("2125551234")[0]); // 212
答案 2 :(得分:1)
取10位数字的前3位数字,或从1开头的1位数字后面的前3位数字。这假设您的域名是美国电话号码。
答案 3 :(得分:0)
正则表达式'^\(*(\d{3})'
应该这样做。从比赛中获得第一组。
此处^
将从头开始匹配,\d{3}
将匹配3位数。 \(*
将匹配可选的起始括号。 您无需关心区号后面的下一个数字或符号。
答案 4 :(得分:0)
您也可以使用我的图书馆。
https://github.com/Gilshallem/phoneparser
示例强>
parsePhone("12025550104");
result: { countryCode:1, areaCode:202, number:5550104, countryISOCode:"US" }