- ベストアンサー
文字数チェック
下記だと文字数がなんか変なんです。???の状態です。 #文字を追加したりすると正常な文字数にならず。 #環境IE5.0 <SCRIPT language=JavaScript> function test() { alert( testarea.value.length ) ; } </SCRIPT> <TEXTAREA NAME="testarea">あいうえおか</TEXTAREA><BR> <A HREF="test.html" onmouseover="test()">文字数チェック</A>
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんな風にしてみては? function test() { str = testarea.value.replace(/\r\n|\r|\n/g, ''); alert(str.length); } 全ての改行を抜いて、文字数をカウントします。
その他の回答 (1)
- 387
- ベストアンサー率66% (40/60)
テキストエリアの中で改行した時におかしくなりませんか? Windows 上では、改行文字は復帰文字( "\r" )と行送り文字( "\n" )の 2文字で構成されますので、「あいう<改行>えおか」と入力した状態だと 8文字 となります。 改行文字があるかどうかは、 testarea.value.indexOf( "\r\n", i ) で検索できます。見つかれば 0から数えて何文字目にあるかが返ってき、見つから なければ -1 が返ってきます( i には 文字列の何文字目から検索するかを指定 します)ので、改行文字が何文字あるかを調べてその分減らしてあげましょう。 (改行文字を数えないのであれば 改行文字数×2を、1文字として数えるのであれば 改行文字数を引けば良いですよね) ※ Macintosh や Unix などでは、改行を構成する文字や文字数も異なります。
お礼
皆様、回答ありがとうございました。javascript初心者としてははじめての記述内容もあり、勉強になりました。そして、初心者としては、より簡単な方法で、今回の課題は解決させていただきます。 (^^;