1

(212)-555-1234:または212-555-1234またはなどの複数の方法でフォーマットされた電話番号のリストがあります2125551234

JavaScriptを使用して、これらの文字列から市外局番のみを抽出するための最良の方法は何でしょうか?

4

5 に答える 5

6

まず、数字以外のすべてを削除して、単純な数字を取得します。次に、スライスして最初の3桁を取得します。

return myString.replace(/\D/g,'').substr(0, 3);
于 2012-12-13T20:45:04.273 に答える
5

最初の3桁を連続して取得します...

/[0-9]{3}/.exec("(212)-555-1234")[0]

サンプル(フィドル):

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
于 2012-12-13T20:45:28.733 に答える
1

10桁の番号の最初の3桁、または1で始まる11桁の番号の1の後の最初の3桁を取得します。これは、ドメインが米国の電話番号であると想定しています。

于 2012-12-13T20:45:01.697 に答える
1

私の図書館も利用できます。

https://github.com/Gilshallem/phoneparser

parsePhone("12025550104");
result: { countryCode:1, areaCode:202, number:5550104, countryISOCode:"US" }
于 2014-07-01T10:12:25.853 に答える
0

必要に応じて正規表現'^\(*(\d{3})'。試合から最初のグループを取得します。

ここで^最初から一致を開始し、\d{3}3桁に一致します。\(*オプションの開始括弧と一致します。市外局番の後の次の数字や記号を気にする必要はありません。

于 2012-12-13T20:43:44.983 に答える