電話番号チェック


動作ブラウザ 【 IE:4.0  NN:3.0
Internet Explorer Netscape Navigator DreamPassport iCab
3.0x 4.0x 4.5 5.0x 5.5 2.0x 3.0x 4.0x 4.x 6.0 2 3 2.x
Windows × - × - -
Macintosh × - × - -
UNIX - - - - - × - - -
Dreamcast - - - - - - - - - - -

ポイント data1 = txt.match(/^[0-9-]{6,9}$|^[0-9-]{12}$/); data2 = txt.match(/^\d{1,4}-\d{4}$|^\d{2,5}-\d{1,4}-\d{4}$/);
説  明 電話番号は市外局番で始まり合計10桁の数値で構成されています。JavaScriptでは正規表現文字列内に変数を利用することができないので桁数のチェックと電話番号のチェックを別々に行い、両方ともマッチした場合は正しい、そうでない場合は不正というようにします。正規表現では「^[0-9-]{6,9}$|^[0-9-]{12}$」(桁数)、「^\d{1,4}-\d{4}$|^\d{2,5}-\d{1,4}-\d{4}$」(市外局番を含む電話番号のパターン)のように記述します。なお、-(ハイフン)は含まれるという条件付きであり-なしの場合はサンプルではチェックしていません。
サンプル <html> <head> <title>電話番号チェック</title> <script language="JavaScript"><!-- function check() { txt = document.myFORM.BANGOU.value; data1 = txt.match(/^[0-9-]{6,9}$|^[0-9-]{12}$/); data2 = txt.match(/^\d{1,4}-\d{4}$|^\d{2,5}-\d{1,4}-\d{4}$/); if(!data1 && !data2) alert("電話番号が不正です"); } // --></script> </head> <body> <form name="myFORM"> 電話番号:<input type="text" name="BANGOU"><br> <input type="button" value="チェック" onClick="check()"> </form> </body> </html>
補足説明 全国全ての地域が10桁ではなく小田原地区(神奈川)、神岡地区(岐阜)のように9桁の電話番号の地域もあり、これに関してはサンプルでは考慮していません。

■サンプルスクリプトを実行する >>実行
■各ブラウザでの動作結果を見る >>View!

写真素材 PIXTA