textareaからの入力文字数を制限する伝統の技
[上に]
[前に]
[次に]
金銀ぱーるくん
1999/11/30(火) 00:12:27
ってありますか?
正規表現で実現しないと駄目なんでしょうか?
input type=text の場合は maxlengt=30(すいませんスペル違います)
等で規制できますよね。
textarea では駄目なようなのですが、
必殺技があったら教えて下さい。
cocoa
1999/11/30(火) 01:01:56
伝統の技ではないかもしれませんが・・・、正規表現を使用しなくても、
length関数を使う事で制御できます。
例えば変数$commentにコメント文が代入されているとした場合、
length($comment)で、コメントの文字数を調べる事が可能です。
if (length($comment) >= 100)) { &error; } #100文字以上ならサブルーチンerrorへ
但し、当然これは英文字(1バイト文字)の場合ですので、日本語(2バイト文字)を
制御したいのであれば、2倍の数値を指定する必要があります。
他にも、substr関数を使用して切り捨て(取り出す?)てしまう方法等もあります。
$substring = substr($string,0,100); #変数$stringの0番目から100個の部分文字列を変数$substringへ
日本語の場合、先ほどと同様です。
金銀ぱーるくん
1999/11/30(火) 01:07:13
cocoaさん。 回答どうもです。
なるほど、そのような関数がありましたか。
input type=text は簡単に制限できるのに
なぜ、textareaでは出来ないのか?と思っていました。
if (length($comment) >= 100)) { &error; } #100文字以上ならサブルーチンerrorへ
↑ これ、いいっすね。 早速使わせて頂きます。
それにしてもperlは奥深いっすね。
えっ? 僕の知識が浅いって? そういうつっこみはご遠慮下さい。
cocoa
1999/11/30(火) 01:16:10
ごめんなさい!さっきの書き込み「)」が一つ多かったです。
if (length($comment) >= 100) { &error; }
です・・・。
・・・・
2000/01/17(月) 16:02:10
[[解決]]
・
[上に]
[前に]
[次に]