JavaScript の電話番号正規表現

Shraddha Paghdar 2024年2月15日
JavaScript の電話番号正規表現

国ごとに独自の数値形式があり、このデータをデータベースに保存する前に、ユーザーが正しい数値形式を入力していることを確認する必要があります。この記事では、JavaScript で電話番号の正規表現を作成する方法を学習します。

JavaScript の RegEx

正規表現は、文字列内の特定のパターンを見つけることができる検索ツールのようなものです。正規表現を学ぶための良いリソースは https://regexr.com です。JavaScript は、オブジェクトとして正規表現もサポートしています。これらのパターンは、matchAll()match()replaceAll()replace()search()、および split() で使用されます。正規表現を作成するには、リテラル正規表現を使用する方法と、RegExp オブジェクトのコンストラクター関数を呼び出す方法の 2つがあります。

電話番号 RegEx に移る前に、いくつかの一般的なパターンを理解しましょう。

  • \d:この正規表現は任意の数値/桁に一致します。[0-9] に似ています。
  • \w:この正規表現は、A-Za-z0-9 および _ の範囲内の任意の単語文字コードに一致します。
  • \s:この正規表現は、スペース、タブ、改行など、すべての空白文字に一致します。
  • \b:この正規表現は、単語文字と非単語文字の間の任意の単語境界位置または位置(文字列の開始/終了)に一致します。
  • [A-Z]:この正規表現は、A-Z の範囲内の任意の文字コードに一致します。
  • [0-9]:この正規表現は、0-9 の範囲の任意の文字コードに一致します。
  • (?:ABC):この正規表現は、キャプチャグループを作成せずに、複数のトークンをグループ化します。

各正規表現には、以下にリストされている特定のタグが含まれています。

  • i:このフラグは大文字と小文字を区別しないことを意味します。つまり、式全体で大文字と小文字が区別されません。
  • g:このフラグは、最後の一致のインデックスを維持するグローバル検索を意味します。これにより、後続の検索は前の一致の終了時に開始できます。グローバルフラグがない場合、後続の検索では同じ一致が返されます。
  • m:このフラグは複数行を意味します。複数行フラグがオンの場合、開始アンカーと終了アンカー(^$)は、チェーン全体の開始と終了ではなく、行の開始と終了に一致します。
  • u:このフラグは Unicode を意味します。ユーザーは、このフラグをアクティブにすることにより、\ x {FFFFF} の形式の拡張 Unicode エスケープを使用できます。
  • y:このフラグはスティッキーを意味します。式は lastIndex の位置にのみ一致し、設定されている場合はグローバルフラグ(g)を無視します。RegEx でのすべての検索は個別であるため、このインジケーターは表示される結果にそれ以上の影響を与えません。
  • s:このフラグは dotAll を意味します。ピリオド()は、改行を含む各文字に一致します。

JavaScript での正規表現の構文

const regEx = /pattern/;
const regEx = new RegExp('pattern');

サンプルコード:

<form name="form1">
  <input type='text' id="phoneNumber" name='text1'/>
  <button type="submit" name="submit" onclick="phonenumber()">Submit</button>
</form>
function phonenumber() {
  const indiaRegex = /^\+91\d{10}$/;
  const inputText = document.getElementById('phoneNumber').value;
  if (inputText.match(indiaRegex)) {
    console.log('Valid phone number');
  } else {
    console.log('Not a valid Phone Number');
  }
}

出力:

JS の電話番号正規表現

Shraddha Paghdar avatar Shraddha Paghdar avatar

Shraddha is a JavaScript nerd that utilises it for everything from experimenting to assisting individuals and businesses with day-to-day operations and business growth. She is a writer, chef, and computer programmer. As a senior MEAN/MERN stack developer and project manager with more than 4 years of experience in this sector, she now handles multiple projects. She has been producing technical writing for at least a year and a half. She enjoys coming up with fresh, innovative ideas.

LinkedIn

関連記事 - JavaScript Regex