Javascript を使って、携帯電話の番号なのかどうかチェックし、現在の携帯で使用可能な番号 090, 080. 070, 060 で始まり 4桁+4桁 の数字かどうか確認します。ハイフン付きも対応しています。
- 半角限定のチェックのため、全角文字が入っているとうまくチェックできません。事前に全角数字を半角数字に変換する処理を入れて、そのあとで実行してください。
- 携帯電話の最初三桁の番号は今後増える可能性がありますので注意してください。060 は今後解放される予定のようですが、2019/07現在使用されていません。
関数
/**
* 携帯電話番号チェック
* - 11桁の0[9876]0で始まる数字
* - ハイフン有無どちらも対象
* @param {string|number} 電話番号
* @return {boolean}
*/
function is_cellphone( number ){
if ( number.match(/^0[9876]0[-]?\d{4}[-]?\d{4}$/) ) {
return true;
} else {
return false;
}
}
/^0[9876]0[-]?\d{4}[-]?\d{4}$/
の箇所が判定部分になります。[9876]
の番号を増やすと050
や040
等にも対応できるようになります。
使用例
関数を読み込んだ後で、jQuery を使った使用方法です。クラス「only-cellphone-number」がついた input で、change, paste イベント時にチェックをかけます。type は html5 に対応していると仮定して tel としています。tel は特に入力を特定の文字に強制しているということはないので、あまり意味はないですが…。
<input type="tel" name="cellphone" class="only-cellphone-number">
jQuery('.only-cellphone-number').on('change paste', function(){
if ( is_cellphone( $(this).val() ) ) {
// 携帯電話番号が正しい時
} else {
// 携帯電話番号が正しくない時
}
});