問題
PHPで文字列が電話番号かどうかを判定するには?
解決策
- ハイフンなし → 正規表現で「/^0[0-9]{9,10}\z/」とマッチするかどうかで判定する。
- ハイフンあり → 正規表現で「/^0[0-9]{1,4}-[0-9]{1,4}-[0-9]{3,4}\z/」とマッチするかどうかで判定する。
フォームでの電話番号の入力チェック
フォームでの電話番号の入力チェック等、PHPで文字列が電話番号かどうかを判定する正規表現をご紹介します。
ハイフンありの場合
ハイフンありの場合、正規表現で「/^0[0-9]{1,4}-[0-9]{1,4}-[0-9]{3,4}\z/」とマッチするかどうかをpreg_matchで判定します。
if( preg_match( '/^0[0-9]{1,4}-[0-9]{1,4}-[0-9]{3,4}\z/', '文字列' ) ) {
// 文字列が電話番号(ハイフンあり)である場合
}else{
// 文字列が電話番号(ハイフンあり)でない場合
}
ハイフンなしの場合
ハイフンなしの場合、正規表現で「/^0[0-9]{9,10}\z/」とマッチするかどうかをpreg_matchで判定します。
if( preg_match( '/^0[0-9]{9,10}\z/', '文字列' ) ) {
// 文字列が電話番号(ハイフンなし)である場合
}else{
// 文字列が電話番号(ハイフンなし)でない場合
}
コメント