• ベストアンサー

特定なフォーマットで入力されているかチェックするには

phpでフォームで入力された文字列が特定な フォーマットで入力されているか チェックする事ができますか? 例 XXX-XX-XXX X:半角英数字 -:半角ハイフン 上記のフォーマット以外で入力されている場合には エラーにしたいのですが。

質問者が選んだベストアンサー

  • ベストアンサー
  • php504
  • ベストアンサー率42% (926/2160)
回答No.2

正規表現のパターンを使ってフォーマットを表せばできます。 1文字以上の半角英数字の繰り返しなら[a-zA-Z0-9]+になるので正規表現パターンは [a-zA-Z0-9]+-[a-zA-Z0-9]+-[a-zA-Z0-9]+ になります。 これが行の先頭( ^ )から最後( $ )まで全ての部分でマッチすようにということなので ^[a-zA-Z0-9]+-[a-zA-Z0-9]+-[a-zA-Z0-9]+$ これをPHPのpreg関数で使って $num = "1DD23-45aa6-7Rg89"; if (preg_match("/^[a-zA-Z0-9]+-[a-zA-Z0-9]+-[a-zA-Z0-9]+$/", $num)) { echo "フォーマットOK"; } else { echo "フォーマットが違います"; } みたいにします。

rabu_chihaha
質問者

お礼

ありがとうございます。 大変わかりやすく書いていただいて よくわかりました。 ありがとうございました。

すると、全ての回答が全文表示されます。

その他の回答 (1)

回答No.1

rabu_chihahaさん、こんにちは。 正規表現を使ってみてはいかがでしょうか。 if(! preg_match("/^[0-9a-z][0-9a-z][0-9a-z]\-[0-9a-z][0-9a-z]\-[0-9a-z][0-9a-z][0-9a-z]$/i", $str)) { print "フォーマットが違います。"; exit; } のような形です。

rabu_chihaha
質問者

お礼

ありがとうございます。 正規表現を使えばいいのですね。 できました。 またよろしくお願いいたします。

すると、全ての回答が全文表示されます。

関連するQ&A

  • フォーム入力のチェック

    フォームの入力をCGI(Perl)でチェックするとき、 全角の漢字、カタカナ、ひらがなでの入力以外は禁止にしたいです。 どなたかいい方法をご存知でしょうか? とりあえず、現在は、 jcode.plで全角英数字⇒半角英数字に変換 フォームに入力された文字列を一文字(半角2文字)ずつ抽出して、 $a=~ s/([^\w ])/'%' . unpack("H2", $1)/eg; でエンコードしたものが%を含んでいるかどうかで判別してます。 でもこれだと全角英数字と半角英数字しかシャットアウトできません。 記号文字なども入力出来ないようにしたいです。 よろしくお願いします。

    • ベストアンサー
    • CGI
  • セルの入力チェック Excel200

    あるセルで入力チェックをしたいと思っています。 半角英数字、もしくは、-(ハイフン)だけを入力できるように したいと思っています。 どのようにすればよろしいでしょうか? Excel2000です。

  • きちんと入力された値が指定された形式になっているかチェックしたい

    いつもお世話になっております。 システムをつくっているのですが、その中で、ひとつのテキストボックスに入力された値が正しい形式で入力されているのかチェックしたいのです。もし、違う形式であれば再度入力を促したいのですが。。。 形式は、XX-XXXXXXX-XXXXX (Xは0~9の半角数字で、2箇所にハイフンが入ります)で、もし、全角で入力していたり、関係ない文字がはいっていたり、形式とことなっていたら、警告をだして、focus()を使い、そのテキストボックスに移動させたいのです。 (例:08-1234567-00283(正)、08123456700283(誤)、081234567-00283(誤)等です) すみませんが、よろしくお願いいたします。

  • 半角英数字のみを受け付ける入力フォーム

    PHPで半角英数字文字のみを受け付ける入力フォームをつくりたいので教えてください。 JavaScriptではコピペで全角を受け付けてしまうので困っています。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • 入力値チェックについて

    access2007 にて・・・ テキストボックスの入力値の最終チェックとして(ボタンを押したときにチェックする)、 半角数字と半角ハイフン以外が入っていたらエラーとしたいのですが、 どのようなコードを書けばよろしいのでしょうか?ご指導願います。

  • 正規表現による文字列のチェックについて

    文字列の入力チェックで困っています。 入力された文字列が以下の文字のみで構成されているか、正規表現でチェックするにはどうすれば良いか教えてください。 できれば一発でチェックしたいです。 ・全角(漢字、ひらがな、かたかな)※英数字を含め、左記以外の全角は使用禁止 ・半角英数字 ・半角記号(「-」「.」「:」「*」「&」)※後から追加変更される可能性がある Java(UTF-8)とJavaScript(Shift-JIS)それぞれで対応できる方法をお願いいたします。

  • 文字列のエラーチェック

    Javaをはじめて間もないので、基本的なことなのかもしれませんが、回答いただけると嬉しいです。 (1)文字の空白チェック、AllSpace (2)文字列が数字かどうかチェック、convertAllDigit (3)文字列が英字かどうかチェック、AllCharacter (4)英数字の半角処理? convertHalfSize の使い方がいまいちよくわからず困っています。 よいサンプルや例がありましたら教えていただけると助かります。

  • 半角カタカナの入力チェックを作りたいです

    入力フォームで入力された文字に対して半角カタカナかチェックをしたいです。 function CheckHalfSizeKatakana($str) {  if (mb_ereg("^[ア-ン゛゜]+$",$str)) {    return true;  } else {    return false;  } } としたのですがうまくいきません。 PHP4です。

    • ベストアンサー
    • PHP
  • メールフォーム内容のチェック方法を教えて下さい。

    下記のサイトのフォームを使用しようと思っています。 http://www.keitai-site.net/php/mailform_php/ ●メールアドレス項目にて「正しいメールアドレスが入力されたかのチェック」 ●ID項目を設置し「半角英数字での入力しているかのチェック」を付けたいと思っています。 どのように書いたら良いか教えて下さい。 どうぞ宜しくお願いいたします。

    • 締切済み
    • PHP
  • ハイフンを全角で入力

    Web上で住所などを入力するフォームでよく、「住所は全角」と指定されていますが、この住所を入力するときに、続けて入力すると 1-2-3 のように、ハイフンとは違い、また半角なのかもよくわからないものが入力されて、「全角で入力してください」と注意されてしまいます。 仕方ないので、いつもハイフンを打つ前にEnterを押してハイフンを一文字入力して”ー”の入力をしているのですが、正直面倒です。 1ー2ー3のように入力する方法はあるのでしょうか? Mac OS X 10.4 ことえり を使用しています。 よろしくお願いします。

    • ベストアンサー
    • Mac
このQ&Aのポイント
  • ゲームボーイカラーの画面に変な跡が現れた場合、それはキズや汚れが原因である可能性があります。このような跡の正体を特定することが重要です。
  • 画面の跡を確認するため、まずソフトな布で優しく画面を拭いてみましょう。傷ではなく汚れや指紋である場合、これで問題が解決することがあります。
  • もしもキズである場合、専用の研磨剤や修理キットを使って修復を試みることができます。しかし、無理に修復しようとすると画面をさらに痛める可能性があるため、注意が必要です。
回答を見る

専門家に質問してみよう