JavaScript の電話番号正規表現
 
国ごとに独自の数値形式があり、このデータをデータベースに保存する前に、ユーザーが正しい数値形式を入力していることを確認する必要があります。この記事では、JavaScript で電話番号の正規表現を作成する方法を学習します。
JavaScript の RegEx
    
正規表現は、文字列内の特定のパターンを見つけることができる検索ツールのようなものです。正規表現を学ぶための良いリソースは https://regexr.com です。JavaScript は、オブジェクトとして正規表現もサポートしています。これらのパターンは、matchAll()、match()、replaceAll()、replace()、search()、および split() で使用されます。正規表現を作成するには、リテラル正規表現を使用する方法と、RegExp オブジェクトのコンストラクター関数を呼び出す方法の 2つがあります。
電話番号 RegEx に移る前に、いくつかの一般的なパターンを理解しましょう。
- \d:この正規表現は任意の数値/桁に一致します。- [0-9]に似ています。
- \w:この正規表現は、- A-- Z、- a-- z、- 0-- 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');
  }
}
出力:

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