
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で質問しましょう!
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
弁護士が解説!あなたの声を行政に届ける「パブリックコメント」制度のすべて
社会に対する意見や不満、疑問。それを発信する場所は、SNSやブログ、そしてニュースサイトのコメント欄など多岐にわたる。教えて!gooでも「ヤフコメ民について」というタイトルのトピックがあり、この投稿の通り、...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
、"(ダブルクォーテーション)...
-
PHPで<a>タグ内からURLと文字を...
-
Excelで数字のみを2倍3倍にする...
-
phpでhtmlソースを解析し、文字...
-
正規表現での改行数を求めるに...
-
VBAのコマンドボタンの文字列の...
-
C++で空Enterの入力を判...
-
文字の入力で横バー上段、中断...
-
VBAでCSVをExcelに取り込む時に...
-
文字化け変換方法
-
jsp 改行コードで改行させて表...
-
エディットボックスで改行
-
メッセージボックスで1025文字...
-
Excel関数「COUNTIF」で”文字”...
-
コンボボックスの項目中に改行を
-
エクセルのCOUNTIFが正しくカウ...
-
vbsで2文字以上の空白を改行に...
-
記号は半角と全角どちらがよい...
-
ソースコードの1行が長いとき...
-
C言語の標準入力で改行しない方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
、"(ダブルクォーテーション)...
-
正規表現で、半角大文字と半角...
-
PHPで変数から1行目だけを取得...
-
PHPで<a>タグ内からURLと文字を...
-
携帯アドレスの正規表現
-
VBAを使ってHTMLソースから特定...
-
switchの大量分岐の高速化
-
正規表現について
-
preg_matchでエラーが出ます。
-
電話番号のチェック ハイフン...
-
変数に指定文字列が含まれると...
-
1ファイルから項目を正規表現で...
-
正規表現で「0」のみ抽出
-
複雑な/による文字列の分割につ...
-
サイトが移動しました(301)が...
-
Smartyで部分一致
-
PHPで あるフォルダ内の、特定...
-
PHPの正規表現について
-
Excelで数字のみを2倍3倍にする...
-
正規表現 先頭一桁をマッチさせ...
おすすめ情報