Archiva

A note of notions. On web, tech, and others.



文字数カウントフォーム

あると便利だな~、と思って作ってみたもの。
純粋に文字数としてカウントしてます。基本は物書き用。

memo: 半角も全角も等しく1文字でカウント。改行はカウントしない仕様になってます。

ソース

  1. var target = document.testForm.text;
  2.  
  3. function Check(obj) {
  4. var text = obj.value
  5. text = escape(text);
  6. text = text.replace(/%0D/g,'');
  7. text = text.replace(/%0A/g,'');
  8. text = unescape(text);
  9. var num = text.length;
  10.  
  11. document.testForm.counter.value = num || 0;
  12. }
  13.  
  14. target.onkeydown = function(){ Check(target) };
  15. target.onkeyup = function(){ Check(target) };

重要なのは9行目だけ。5~8行目は改行を削除してます。何故かっていうと、改行コードを何文字とするかどうかはブラウザによって違うから。

Update: 2007.12.12

ホッテントリにid:ma.laの文字カウントツールが載ってた。触発されて微修正。

  1. function $(id){
  2. return document.getElementById(id);
  3. }
  4.  
  5. function Check(obj) {
  6. var text = obj.value
  7. text = text.replace(/\r|\n/g, '');
  8. var num = text.length;
  9.  
  10. $("count").value = num;
  11. }
  12.  
  13. var target = $("text");
  14. target.onkeydown = function(){ Check(target) };
  15. target.onkeyup = function(){ Check(target) };

$()関数が prototype.js っぽくて面白い。

Posted in /web/tool
ブックマークする: save to del.icio.us はてなブックマーク livedoor クリップ Google Bookmarks Tumblr

コメントする

名前
Webサイト
コメント

画像に表示されている5桁の英数字を入力してください。
captcha



Back to page-top