(212)-555-1234
:または212-555-1234
またはなどの複数の方法でフォーマットされた電話番号のリストがあります2125551234
。
JavaScriptを使用して、これらの文字列から市外局番のみを抽出するための最良の方法は何でしょうか?
(212)-555-1234
:または212-555-1234
またはなどの複数の方法でフォーマットされた電話番号のリストがあります2125551234
。
JavaScriptを使用して、これらの文字列から市外局番のみを抽出するための最良の方法は何でしょうか?
まず、数字以外のすべてを削除して、単純な数字を取得します。次に、スライスして最初の3桁を取得します。
return myString.replace(/\D/g,'').substr(0, 3);
最初の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
10桁の番号の最初の3桁、または1で始まる11桁の番号の1の後の最初の3桁を取得します。これは、ドメインが米国の電話番号であると想定しています。
私の図書館も利用できます。
https://github.com/Gilshallem/phoneparser
例
parsePhone("12025550104");
result: { countryCode:1, areaCode:202, number:5550104, countryISOCode:"US" }
必要に応じて正規表現'^\(*(\d{3})'
。試合から最初のグループを取得します。
ここで^
最初から一致を開始し、\d{3}
3桁に一致します。\(*
オプションの開始括弧と一致します。市外局番の後の次の数字や記号を気にする必要はありません。