• 締切済み

フォームの入力チェック

いつも参考にさせて頂いています。 Perl初心者です。 フォームの入力チェックを作成したいと思っています。 チェック項目 ・会社名    → 空入力でないか、全角入力であるか ・住所     → 会社名のチェックと同様 ・電話番号   → 空入力でないか、半角であるか 処理 上の条件を満たさなかった場合は 「全角で入力してください。」や 「電話番号は半角数字で入力してください」 などといった コメントを付けたページを表示させる。 満たした場合は 「登録しました。」 というようなページを表示。 そこで、入力チェックの条件文を書いたのですが 空入力された場合の条件式がわかりません。 どなたか教えて下さる方がいらっしゃいましたら 宜しくお願いします。 また、入力チェック後のページ切り替えはどのように 行っているのでしょうか? 宜しくお願いします。 #-----社名チェック----- if ($name =~ /[\xA1-\xFE][\xA1-\xFE]/) { $namecheck = ""; } else { $namecheck = "全角入力をして下さい。"; } #-----住所チェック----- if ($adr =~ /[\xA1-\xFE][\xA1-\xFE]/) { $adrcheck = ""; } else { $adrcheck = "全角入力をして下さい。"; } #-----電話番号チェック----- if($tel =~ /^[0-9]+$/) { $telcheck = ""; } else { $telcheck = "電話番号は半角数字で入力してください。"; } ※会社名、住所の全角チェックはjcodeでEUC-JPに変換しています。

  • Perl
  • 回答数1
  • ありがとう数1

みんなの回答

  • _himajin_
  • ベストアンサー率65% (128/195)
回答No.1

久しく触っていないので結構怪しいですが… > 空入力された場合の条件式がわかりません。 if (length($string) == 0) で、どうでしょう? > 入力チェック後のページ切り替え ページを切り替えるにはhttpヘッダでlocationを出すとか、<meta http-equiv="refresh" ~~~>を含むhtmlを出力するとか、ページ全体をperlスクリプトから生成するとか、他から読んで吐き出すとか…色々方法はあると思います。 用途にあった方法でやれば良いんじゃないでしょうか。

menta2000
質問者

お礼

ありがとうございました。 入力チェックは出来ました。 ページ切り替えの部分については勉強します。 また何かありましたら宜しくお願いします。

関連するQ&A

  • Webフォームにおける数字入力時の半角・全角について

    Webフォームで住所などを入力する時に 数字入力のところで、 ●電話番号は半角 ●住所の番地は全角 ●郵便番号は半角 となっているサイトって結構ありますよね。 正しい数字を入れているにもかかわらず、 上記の「半角・全角」の決まりを守らないと エラーになって再入力させられます。 すごくややこしいんですが、 なぜこのようになってるのでしょうか? 不親切な仕様ですよね 例えば、このようには出来ないのでしょうか?↓ ●電話番号も住所の番地も半角(または全角) に統一する。もしくは ●半角でも全角でもどちらでも良い 上記どちらかには出来ないものなのでしょうか? 上記を実現するには、プログラムの実装が難しいんでしょうか? もちろん、上記を実現していて、わかりやすいユーザインターフェースのサイトも あるにはあると思いますが。

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

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

    • ベストアンサー
    • CGI
  • 電話番号の入力チェック

    ハイフン付きの電話番号のチェックをしようとしています。いろいろ調べていますがうまくいきません。5桁までの半角数字-5桁までの半角数字-5桁までの半角数字という書式のチェックを考えています。 if (ereg("^[0-9]{1,5}-?[0-9]{1,5}-?[0-9]{1,5}$", $str )) { return true; } else { return false; } で中途半端になってチェックされます。 間違っているのか?他に書き方があるのか?教えてください。 宜しくお願いいたします。

    • ベストアンサー
    • PHP
  • 正規表現を使った入力値のチェック

    こんにちは、yukimura1024です。 perlでブラウザのフォームに入力された値をチェックしたいのですが、 入力された値が「全角文字のみか」と「全角カタカナのみか」 という2種類のチェックのしかたがわかりません。 「数値のみか」のチェックは正規表現を使ってできたのですが、 これと同じように正規表現を使って、この2つの全角チェックをする 方法はないでしょうか? 数値チェックは以下の方法でやっています↓ if ($str_txt_yuubin =~ /[^0-9]/) { print "「郵便番号」を半角数字で入力してください。<br>\n"; } ご存知の方がいましたら教えていただけると助かります。 よろしくお願い致します。

    • ベストアンサー
    • Perl
  • フォームのチェックについて

    今、フォームの送信ボタンを押すとチェックする 関数を作成しております。 function restChar() { if(10000 < document.F1.ご質問内容.value.length) window.alert("ご質問内容は全角5,000字以内でお願いします"); } function check(){ var flag = 0; if(document.F1.name.value == ""){ // 「お名前」の入力をチェック flag = 1; } else if(document.F1.kana.value == ""){ // 「パスワード」の入力をチェック flag = 2; } else if(document.F1.mail.value == ""){ // 「コメント」の入力をチェック flag = 3; }      else if(document.F1.ご質問内容.value == ""){ // 「コメント」の入力をチェック flag = 4; } if(flag == 1){ window.alert('お名前を入力してください'); // 入力漏れがあれば警告ダイアログを表示 return false; // 送信を中止 } if(flag == 2){ window.alert('フリガナを入力してください'); // 入力漏れがあれば警告ダイアログを表示 return false; // 送信を中止 } if(flag == 3){ window.alert('メールアドレスを入力してください'); // 入力漏れがあれば警告ダイアログを表示 return false; // 送信を中止 }      if(flag == 4){ window.alert('ご質問内容を入力して下さい'); // 入力漏れがあれば警告ダイアログを表示 return false; // 送信を中止 } fOBJ = document.F1.mail.value; check = /.+@.+\..+/; if (!fOBJ.match(check)){ window.alert("メールアドレスが正しくありません"); return false; // 送信を中止 } fOBJ = document.F1.ご質問内容.value.length; if(10000 < fOBJ){ window.alert("ご質問内容は全角5,000字以内でお願いします"); return false; // 送信を中止 } return true; // 送信を実行 } こんな感じです。 1-4のチェックは問題ないのですが、 アドレスと文字数のチェックは、一度は ダイアログがでますが、連続で押すと通ってしまいます。 何がわるいのでしょうか?

    • ベストアンサー
    • Java
  • 全角漢字の入力チェック

    Javascriptにて、Formのテキストフィールドの内容を入力チェックしているのですが、「全角漢字」「全角かな」「全角カナ」「半角英数字」 のみを許可して、それ以外の入力文字をいれるとエラーになるような 関数を作りたいのですが、全角記号や半角記号をチェックするには どうしたらよいのでしょうか。

  • JavaScriptでフォームの入力項目をリアルタイムでチェックする「

    JavaScriptでフォームの入力項目をリアルタイムでチェックする「jQuery Form Validators」で全角カナや半角数字のみを入力できるようにすることはできますか? (参考にしたサイト) http://www.skuare.net/test/jvalidator.html フォームの入力項目で以下の入力のチェックが出来るようにしたいのですが可能でしょうか? ・全角カタカナのみで姓名の入力 ・半角数字のみで電話番号の入力 メールアドレスは、inputタグのサンプルにある部分をコピーすることで出来ました。 --------------------------------------- validExpress="[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-]*[a-zA-Z0-9])?" --------------------------------------- validExpress=""の""の中を指定すれば良いのだと思うのですがどうしても解決せず、この場で質問させて頂いてます。 どうかご教授の程、宜しくお願い致します。

  • フォームの入力チェックについて

    下記のプログラムで、チェックボックスや、ラジオボタンの 入力チェックを行うと、 値自体は、$_POST['radio_check']にて取得できるのですが、Javascriptコンソールにて objElm has no propertiesと 出てしまいます。 外部ファイル部分 function requiredRadioCheck(objElm,strErr) { flag=false; for(i=0;i<objElm.length;i++){ if(objElm[i].checked){flag=true;} } if(!flag){ return strErr + "が入力されていません。 \r"; }else{ return ""; } } html部分 function chk(){ strErr=""; strErr+=requiredCheck(strErr+=requiredRadioCheck(document.Form.radio_check.value,"ラジオボタン"); strErr+=numberTypeCheck if(strErr==""){ return true; }else{ window.alert(strErr); return false; } }

  • 正規表現 半角英数字が混じっている場合

    正規表現について教えてください。 入力フォームより都道府県を入力した際に、 "東京都AAS421SBBss" や "AA1sss東京都" など、一部に半角英数字が含まれている場合、 どのような正規表現でマッチするのでしょうか? if(!preg_match("/[\xA1-\xFE][\xA1-\xFE]/",$address)) 感じで行ったのですが、最初に半角英数字だとマッチするのですが、 途中に半角英数字がある場合、マッチしなかったりと。 よろしくお願いいたします。

    • 締切済み
    • PHP
  • 全角で入力した電話番号を一括で半角にする方法を教えて下さい。

    全角で入力した電話番号を一括で半角にする方法を教えて下さい。 こんにちは。 素人です。ご教授下さい。 住所録を作成しておりまして、E列に電話番号を入力しました。 全角で入力した後に見にくいと思い、半角に直したいのですが、1,000件ほど打ち込んだ後で・・(^_^;) 電話番号は 080-○○○○-○○○○ 03-○○○○-○○○○ など、ハイフンも入れて入力してあります。 E2,E3,E4・・・E500と、E列に入力されている電話番号を一括で半角に直す方法をお教え下さい。 お手数お掛けしますが よろしくお願い致します。