アプリ版:「スタンプのみでお礼する」機能のリリースについて

perlについては素人な者ですが、私の質問をお願いします。
フリーの掲示板cgiを使っていますが、IDネームを決定する際に入力できる文字数の制限がありません。
「未入力」と「全角」を含む場合は、以下の部分でエラーを出せますが、

if ($in{'name'} eq "" || $in{'name'} =~ /[^a-zA-Z0-9]/) {
&error("IDネームを確認してください。");}

この箇所に書き加えて、4文字から10文字以内といった文字入力数の制限を加えるにはどうしたらよいのでしょうか?
cgiは携帯用なのでJavaScriptは使わない方法で何かあればお願い致します。

A 回答 (2件)

length()でチェックすればいいのでは?



  http://perl.misty.ne.jp/function01/length.html

  if (length($in{'name'}) lt 4 || length($in{'name'}) gt 10) {
&error("4文字以上10文字以内で入力してください");}

#Perlは滅多に書かないのでtypoがあったらごめんなさい(汗

この回答への補足

早速の回答ありがとうございます。
しかし、実際に書き加えて試したところ4~10文字以内であってもエラー?が出てしまいました。

補足日時:2008/02/18 17:00
    • good
    • 0

あ、すみません。

数値比較だったですね(汗

  if (length($in{'name'}) < 4 || length($in{'name'}) > 10) { &error("4文字以上10文字以内で入力してください");}

でいいと思います。
    • good
    • 0
この回答へのお礼

誠に有難うございます。
これで問題となっていたIDネームの文字入力数を制限することができました。
心からお礼申し上げます。

お礼日時:2008/02/19 12:12

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!