
Webサイトに問い合わせフォームを設けているのですが、電話番号のチェックで改善したいことがあります。
現状の問い合わせフォームでは、桁数が異なる場合と数字以外が入力されたら「エラー」を返しているのですが、次のように、ハイフン無しの数字だけで入力した場合、「エラー」になってしまいます。
090********
03********
現状、ハイフン有りで入力した場合でしか「正確」にならないので、ハイフン無しで入力した場合も「正確」にしたいです。
ちなみに、電話番号のコードは次の通りです。
$tel = htmlspecialchars($_POST['tel'], ENT_QUOTES, "UTF-8");
$telError = false;
if (!preg_match(
'/^[0-9]{2,4}-[0-9]{2,4}-[0-9]{3,4}$/',
$tel)) {
$telError = true;
$tel='※正しい電話番号を指定してください。';
}
どのようなコードにしたら、ハイフンなしでもエラーチェックができるでしょうか?
No.2ベストアンサー
- 回答日時:
俺のやり方は正しいとは言えないけど、チェックする前に別の変数に入れて、ハイフンをstr_replaceでざっくりやってから、[0-9]{11,12}としてる。
あと htmlspecialchars は表示する段階で使ってる。
ありがとうございます!
phpの理解は無いのですが、ご教示頂いた方法について理解してみたいと思います!!
それで、できればやってみます!!
No.1
- 回答日時:
もう少しざっくりやるならこんな感じで
$pattern='/^0[1-9]+[0-9\-]+$/';
0から始まり、1から9の数字が続き、0~9の数字かハイフンだけで構成された文字列
<?PHP
$a=array("0-12345-6789","01-2345-6789","0123-45-6789","01234-5-6789","0123456789","123-456-7890");
$pattern='/^0[1-9]+[0-9\-]+$/';
foreach($a as $val){
if(preg_match($pattern,$val)){
print "ok:";
}else{
print "ng:";
}
print $val."<br>\n";
}
?>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) SUMIFのIF分岐について 4 2023/04/15 12:57
- その他(プログラミング・Web制作) 入力フォームへ、データを自動的に入力するプログラム。どうやって作る? 4 2023/01/16 10:24
- Yahoo!メール Yahooメールにログインできません 2 2022/12/12 07:46
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- 銀行・ネットバンキング・信用金庫 ゆうちょアプリ。電話番号認証できない。 2 2022/06/10 15:59
- Java Java 南京錠 2 2023/02/04 11:46
- その他(スマホアプリ・スマホゲーム) auの暗所番号急に合わなくなった 今まで10年以上 同じ暗所番号で つい数日前までは問題なかったのに 3 2023/03/03 16:15
- Excel(エクセル) 製品番号での整列と、検索に関して 3 2023/06/28 19:20
- メルカリ メルカリの電話番号登録について 最近まで普通に使えていたのに急に電話番号の登録を求められました。入力 1 2022/04/20 23:03
- プリンタ・スキャナー キャノンmp490プリンター【エラー番号5400】で【プリンタートラブルが発生しました。電源を入れ直 2 2023/07/24 17:45
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
正規表現で、半角大文字と半角...
-
正規表現を使いimgタグ内から幅...
-
電話番号のチェック ハイフン...
-
PHPで<a>タグ内からURLと文字を...
-
preg_matchでエラーが出ます。
-
正規表現でシングルクォーテー...
-
VBAを使ってHTMLソースから特定...
-
正規表現で「0」のみ抽出
-
、"(ダブルクォーテーション)...
-
VBAのコマンドボタンの文字列の...
-
文字の入力で横バー上段、中断...
-
ソースコードの1行が長いとき...
-
エクセルのCOUNTIFが正しくカウ...
-
全角括弧と全角読点の間隔を狭...
-
Excel VBAからBeckyを起動して...
-
エスケープ文字の復帰(¥r)と...
-
グレープシティのSPREAD...
-
エクセルVBA 文字列領域が不足...
-
PHPExcelでのexcelヘッダ編集に...
-
カンマの含まれる文字列の数値...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PHPで<a>タグ内からURLと文字を...
-
VBAを使ってHTMLソースから特定...
-
preg_matchでエラーが出ます。
-
PHPで変数から1行目だけを取得...
-
、"(ダブルクォーテーション)...
-
正規表現で「0」のみ抽出
-
電話番号のチェック ハイフン...
-
Smartyで部分一致
-
正規表現でシングルクォーテー...
-
正規表現パターンの記入方法に...
-
preg_matchの正規表現で
-
phpでhtmlソースを解析し、文字...
-
PHPで あるフォルダ内の、特定...
-
PHPメールフォーム URLと半角...
-
正規表現 画像リンクのaltの取得
-
phpで文字列に"や'などが含まれ...
-
正規表現で切り出せません。 <...
-
「半角数字」と「+」を許可する...
-
C#でのワイルドカードを使った...
-
正規表現preg_match('#^(?:[a-z
おすすめ情報