CGI-BBS > 情報収集 > フォームメール > メールアドレスのチェック項目を追加したい


カレッヂ
カレッヂ


質問者 かずさん  投稿日 1/26(金) 17:31:34
標準でメールアドレスが未記入の場合は警告がでますが空欄以外の-(たとえばハイフン等)も警告を出したいのですが下記のところを変更してみましたが書き方が違っているのかサーバーエラーになります。

入力チェック
if (!$mailcheck && $email eq '') { &error('Eメールを入力してください',''); }
if ($mailcheck && $email eq '') { $email = 'anonymous@on.the.net'; }
if ($spcheck eq "on") {        foreach (@DATA_V) { if ($_ eq "") { &error('送信不可','受信者の意向により、全ての項目を埋めないと送信できません.'); } }}
if ($mailto eq '' || !($mailto =~ /(.*)\@(.*)\.(.*)/)) { &error('設定ミス','受信先メールアドレスが設定されていません.'); }

if ($nocheck eq "on") { &sendmail; }

上記のどこをところを変更または追加すればよいのか教えていただければと思います。
よろしくお願いします。
回答者 いのちゃん  [削除]  投稿日 1/28(日) 13:40:37
プログラムの改造に関しては門外漢ですが多少の応用くらいは通常やって
おりますが以下のスクリプトはminibbs-ex-1.17からコピーして来たも
のですが適用出来るかどうかを一度テストして見て下さいね。

1227: if ($in{'email'} ne '' && $in{'email'} !~ /\b[-\w.]+@[-\w.]+\.
1228: [-\w]+\b/) { push(@ERR,"Eメールを半角で正しく記述してください");
1229: undef $in{'email'}; }
1220: elsif ($in{'email'} =~ /[;:,=\s]+/) { push(@ERR,"Eメールには;:,
1231: =が使えません"); }

ただし、当方の場合はE-mail: ki-net@mail.kcb-ent.ne.jp と2箇所に半角の
“-”を使用しておりますのでもしご希望のような設定をされると困りますねぇ。

従って当方の場合は上記のような状況下で使用しておりますがエラーが出ておりま
せんのでご紹介申し上げたものをそのまま使用しても無効かと存じますので半角の
“-”を無効にする作業は貴殿の方で遣って見て下さいね。
回答者 いのちゃん  [削除]  投稿日 1/28(日) 14:04:44
1230: elsif ($in{'email'} =~ /[;:,-,=\s]+/) { push(@ERR,"Eメールには;:,-,
1231: =が使えません"); }

上記Item No.1230 “-,”を2箇所に挿入した場合に以下のエラーが出ました。(^^)

●入力が不適です.
Eメールを半角で正しく記述してください.

返信(回答)する


Web裏技