mura
[E-Mail]
1998/08/28(金) 19:13:56
<INPUT TYPE=TEXT SIZE=xx>のように強制的に入力を止めることはできないと思います。
バイト数は次のJavaScript関数で計算できます。
(引き数には「this.form.TEXTAREA変数名.value」のようにTEXTAREAの値を入れます)
ブラウザでJavaScriptを無効にしていたりすればチェックできないです。
Unicodeは「%uXXXX」を2バイトとして計算してますが、これでいいんでしたっけ?
#ほんとは改行も正確に計算しないといけないんでしょうけど省略してます。
function textarealen(val) {
var len;
var i=0;
var escval;
escval=escape(val);
len=escval.length;
for(; (i=escval.indexOf('%', i))>-1; i++) {
len -= escval.charAt(i+1)=='u' ? 4 : 2; // '%uXXXX'を2バイト、 '%XX'を1バイトとして数える
}
return(len);
}