CGI-BBS > CGI > Perl > 文字制限について


カレッヂ
カレッヂ


質問者 みお♪  投稿日 1/12(金) 20:07:12
入力フォームにおいて
メールアドレスの間違いを防ぐために
cgiでメールアドレスに制限をかけようと思っているのですが
うまくいきません。

制限はi-modeのアドレスにかけるのですが、
@docomo.ne.jpは固定しておいて
その前だけを記入するだけになっています。

使える文字の制限はできているのですが、
090で始まったら11桁入れなければいけない、とか
携帯以外のアカウントであったら
文頭は英字で3文字以上30文字以内でなければいけない、
といった制限は
lengthとsubstrを用いてやろうとしているのですが、
初心者の私にはちょっときつくて・・・。


もしご存知な方がいらっしゃいましたら
教えてはいただけないでしょうか。
それともできないのかなぁ・・・。

よろしくお願いします。
回答者 しあわせのツボ  [削除]  投稿日 1/13(土) 00:24:17
たぶん、lengthやsubstrを使うより正規表現を使った方が早いと思います。
if ($email =~ /^090\d{8}$/) { ; }
elsif ($email =~ /^\w.{2,29}/) { ; }
else { &error('エラー','メールアドレスが正しくありません'; }
こんなのでどうでしょうか。
質問者 みお♪  [削除]  投稿日 1/13(土) 23:25:35
どうもありがとうございました。
なんとかできました。

何かあったらまたよろしくお願いいたします♪

このページは終了したので返信(回答)は書きこめません

Web裏技