問題
解決策
- ハイフンあり → 正規表現で「/^0[7-9]0-[0-9]{4}-[0-9]{4}$/」とマッチするかどうかで判定する。
- ハイフンなし → 正規表現で「/^0[7-9]0[0-9]{8}$/」とマッチするかどうかで判定する。
フォームでの携帯電話番号の入力チェック
フォームでの携帯電話番号の入力チェック等、PHPで文字列が電話番号かどうかを判定する正規表現をご紹介します。
ポイント!
携帯電話番号は基本的に「070、080、090」のいずれかから始まります。
なのでその点を判定することで、固定電話番号は除き、携帯電話番号であることを判定することができます。
ハイフンありの場合
ハイフンありの場合、正規表現で「/^0[7-9]0-[0-9]{4}-[0-9]{4}$/」とマッチするかどうかをpreg_matchで判定します。
if( preg_match( '/^0[7-9]0-[0-9]{4}-[0-9]{4}$/', '文字列' ) ) {
// 文字列が電話番号(ハイフンあり)である場合
}else{
// 文字列が電話番号(ハイフンあり)でない場合
}
ハイフンなしの場合
ハイフンなしの場合、正規表現で「/^0[7-9]0[0-9]{8}$/」とマッチするかどうかをpreg_matchで判定します。
if( preg_match( '/^0[7-9]0[0-9]{8}$/', '文字列' ) ) {
// 文字列が携帯電話番号(ハイフンなし)である場合
}else{
// 文字列が携帯電話番号(ハイフンなし)でない場合
}
コメント