• 締切済み

空欄でも送信可能なフォーム入力項目の設定方法をおし

メールアドレスの入力欄なのですが、項目に半角英数指定をしています。 こちらを未入力(空欄)の状態で送信しようとするとエラーメッセージが出てしまうのですが、 入力なしでも送信できるように設定できるコードなどがあれば教えていただけないでしょうか。 下記は現在設定している半角英数指定のコードです。 if ($form{'before'} !~ /^[\w\+\.-]+@[\w\+\.-]*[A-Za-z0-9-]{2,23}\.[A-Za-z]{2,4}$/) { &error_check("<B>メールアドレスの形式</B>が間違っています。半角で正しく入力してください。<BR>");next;} よろしくお願いいたします。

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

みんなの回答

回答No.1

>if ($form{'before'} !~ /^[\w\+\.-]+@[\w\+\.-]*[A-Za-z0-9-]{2,23}\.[A-Za-z]{2,4}$/) これの意味は理解して(せめて知って)使っていますか?「半角英数指定」ではありませんよ? 「メールアドレスの入力欄」が「未入力(空欄)」の場合、「$form{'before'}」がどうなるか分かりますか? 「if ($form{'before'} !~ /^[\w\+\.-]+@[\w\+\.-]*[A-Za-z0-9-]{2,23}\.[A-Za-z]{2,4}$/)」は「$form{'before'}が/^[\w\+\.-]+@[\w\+\.-]*[A-Za-z0-9-]{2,23}\.[A-Za-z]{2,4}$/(以下、《A》)でない」場合エラーになるようにしています。なので、ここに「なおかつ空白でない」という条件を追加します。そうすると「《A》でなく、しかも空白でもない」場合のみエラーとなるので、当然「《A》であるか、もしくは空白」のときにエラーを出さずに処理を続行することになります。 以上、つまりどういうことかと言うと、「どこかの丸写しコードだかレンタルの改造したいのか知りませんが、今のレベルじゃメールフォームなんていう危険なものに手を出しちゃ駄目」ということです。

関連するQ&A

  • 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=""の""の中を指定すれば良いのだと思うのですがどうしても解決せず、この場で質問させて頂いてます。 どうかご教授の程、宜しくお願い致します。

  • メールアドレス入力チェック

    毎回初心者な質問で申し訳ないです。 Strutsを使ってフォーム作成中なのですが、Validatorではなくjavaの中でエラーチェックをしています。 入力の有無でのエラーチェックはできたのですが、メールアドレスチェックができません。 自分としては 「1文字以上の半角英数記号」@「1文字以上の半角英数記号」 じゃなかったらエラーを返すようにしたいと思い以下のように記述しました。 if (mail != "[\\d[a-zA-Z]*]+@[\\d[a-zA-Z]*]"){ errors.add("mail", new ActionMessage("errors.mail")); } 動かしてみると何を入力してもエラーがかえるようになってしまいました。 正しい記述をご存知の方、ご教授ください。よろしくお願いいたします。

    • ベストアンサー
    • Java
  • お問い合わせフォームをつくり、入力して送信すると、名前を全角で入力して

    お問い合わせフォームをつくり、入力して送信すると、名前を全角で入力していると「半角カナ」で入力しないでくださいと表示されます。 メッセージでも同じ表示がされ、結局全ての入力を半角英数で入力すると送信されます。 理由がわかりません。どなたか教えていただけませんか。

  • japascriptでどうしても、メールアドレスの

    ソースコードは下の共有コードサイト「張り紙」にあります。 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして、アラートを出したいです。 下記のコードはメールアドレスの入力フォームのコードで、入力欄が空の時にボタンをクリックすると、アラートによるエラー表示がでるようになっています。これを、このフォームをさらに、空白エラーの他に、 入力フォームの javascript で メールアドレスの正規チェックを行い、ボタンをクリックして、アラートを出したいです。どうコードを書いたら良いでしょうか? ちなみにrequiedt等も試したのですが、アラートほど目だたなくて、断念しました。 以下のコードを追加したのですが、おかしくなります。 // javaでエラーメッセージの表示に以下を追加 const reg = /^[A-Za-z0-9]{1}[A-Za-z0-9_.-]*@{1}[A-Za-z0-9_.-]{1,}.[A-Za-z0-9]{1,}$/; else if(!reg.test(email.value)){ msg +=("メールアドレスの形式が不正です。"); 共有ソースコード https://harigami.net/cd?hsh=8709eccd-312a-41fd-8240-99fd44af816b

  • 入力モードの設定について

    いつもお世話になります。 入力モードの指定の仕方について教えて下さい。 フォームを開く際にWhere条件式で [顧客コード] = [顧客コードは?] と指定しています。 それで顧客コードの入力を要求してきた時に入力モードが「ひらがなモード」の時と 「半角英数」の時があります。 直前に入力したモードがそのまま使われているように思うのですが(違うかもしれませんが) 顧客コード入力の際は「半角英数モード」にしたいのですがどのようにすればいいでしょうか? テーブルやフォーム内のテキストボックスならプロパテイのIME入力モードやIME変換モードで 指定すればよいのでしょうが、Where条件式のパラメーターの場合はどこで指定すればよいか わかりません。よろしくお願いします。 それから関連するかもしれませんので、もう一つ教えて下さい。 プロパテイのIME入力モード保持というのはどういうふうに使うのでしょうか。 今はすべて いいえ にしているのですが、何か有効に使えるのでしょうか。

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

    送信フォームの入力内容チェックについて 送信フォーム作成の勉強をしています。 「必須項目未記入」と「半角英数以外の文字入力」を同時にチェックする方法をお聞きしたいです。 「必須項目未記入」と「半角英数以外の文字入力」の時に赤字で警告を表示させたいです。 「必須項目未記入」は赤字で警告が表示されるのですが、「半角英数以外の文字入力」の時は赤字で警告が表示されません。。。 素人で説明不足かもしれませんが、助言をいただきたいです。 よろしくお願いいたします。 (URL↓) http://www.photoiku.com/sample/form-sample.php (Javascript↓) <script type="text/javascript"> <!-- function formCheck(){ var flag = 0; if( document . Form1 . InputText1 . value . match ( /[^0-9a-zA-Z_]+/ ) ){ flag = 1; document . getElementById( 'notice-input-text-1' ) . style . display = "block"; }else{ document . getElementById( 'notice-input-text-1' ) . style . display = "none"; } if( document . Form1 . InputText1 . value == "" ){ flag = 1; document . getElementById( 'notice-input-text-1' ) . style . display = "block"; }else{ document . getElementById( 'notice-input-text-1' ) . style . display = "none"; } if( document . Form1 . Textarea1 . value == "" ){ flag = 1; document . getElementById( 'notice-textarea-1' ) . style . display = "block"; }else{ document . getElementById( 'notice-textarea-1' ) . style . display = "none"; } if( flag ){ window . alert( '入力内容に不備があります。' ); return false; }else{ return true; } } // --> </script> (html↓) <form name="Form1" method="post" action="#" onsubmit="return formCheck()"> <p>ID(必須)(半角英数)</p> <p id="notice-input-text-1" style="display: none; color: red;"> 【半角英数で入力されているか確認して下さい】</p> <p><input type="text" name="InputText1"></p> <p>コメント(必須)</p> <p id="notice-textarea-1" style="display: none; color: red;"> 【コメントを入力して下さい】</p> <p><textarea name="Textarea1" rows="5" cols="40"></textarea></p> <p><input type="submit" value="送信"></p> </form> 補足ですが、1つ目のif~elseのブロックと、2つ目のif~elseのブロックを入れ替えてもできませんでした。

  • アクセス:フォーム入力:【大項目→中項目への絞りこみ入力】方法を教えてください。

    アクセス初心者です。よろしくお願いします。 【やりたいこと:次のような大項目→中項目への絞りこみ入力】 フォームの入力で、大項目をリストで選ぶと、次に小項目のリストが自動で出て入力できるようにしたい。 ◆まず、テーブルで「大項目コード」表があります。   1  A   2  B   3  … ◆別のテーブルで、 「Aの小項目」表  11  ○   12  ×   13  △     「Bの小項目」表  21  ●  23  ■  24  ▲ というようなものがあります。 そこで、フォームで「大項目」フィールドに「1」(=A)を入力すると「小項目」フィールドに自動でコンボボックスのようなもので「○、×、△」がリストが出てコード番号(11,12,13)が入力できる、同様に「大項目」に「2」(=B)と入力するとリスト「●、■、▲」で選んで入力したいのです。 私が初心者であることから、上記のようなアクセス構築の考え方そのものも邪道なものかどうか、不安があります。 要は、【大項目→中項目への絞りこみ入力】ができればいいのです。できますなら、できるだけシンプルな方法を教えてくだされば幸いです。 よろしくお願いいたします。

  • 正規表現を使って入力チェックを行う

    JavaScriptで正規表現を用いて半角英数入力チェックを行いたいのですが、うまくいきません。 ご協力お願いします。 --【1】------------------------------------------------- if((element2.value.match(/^[^0-9a-zA-Z]$/)){  document.FORM01.in_AAA.value="";  return false; } ------------------------------------------------------- 【1】では、半角、全角に関わらず正常に処理が行われます。 --【2】------------------------------------------------- if(!element2.value.match(/^[^0-9a-zA-Z]$/)){   document.FORM01.in_AAA.value="";   return false; } ------------------------------------------------------- 【2】にすると、半角、全角ともエラーとなってしまいます。 どのようにすれば、実装できるのでしょうか。 皆さん、よろしくお願いします。

  • 入力フォームで入力出来る文字を半角英数に制限する

    いつもお世話になっています 問合せフォームを作成しているのですが、自分で携帯でアクセスしてみた時に、 電話番号など、数字しか入力する必要の無いフォームにフォーカスするとき、 いちいち半角英数を選び直さなければならないのが不便に感じます。 入力フォームにフォーカスすると、自動的に半角英数に入力文字が 切り替わるようなサイトに入ったことがある気がするのですが、 Perlを使ったCGIで設定することは出来るでしょうか? 携帯向けを考えているので、Javascriptでは設定出来ません。 作成している入力フォームはPerlで書かれている、KENTWEBの送信フォームCGIスクリプトです。 宜しくお願いいたします。

    • ベストアンサー
    • CGI
  • ひらがな入力に設定したい

    辞書は、マイクロソフトのIME98です。 初期入力モードは「ひらがな」にしているのですが、 たとえば、gooやヤフーオークションなどでキーボードから入力する際に、英数半角を漢字に切り替えなければ漢字入力ができません。(半角英数になっている。) 最初から漢字が入力できる設定に変えれないのでしょうか。

専門家に質問してみよう