From 1311305e233317672a41d001f22d6be21473e342 Mon Sep 17 00:00:00 2001 From: drry Date: Tue, 8 Jul 2008 05:04:18 -0400 Subject: [PATCH] multibyte counter #00179 darcs-hash:20080708090418-57001-e5c0f9e19666fb25a7fcb2e92e89ef83d159b5ab.gz --- js/util.js | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/js/util.js b/js/util.js index 828915438a..603014dda8 100644 --- a/js/util.js +++ b/js/util.js @@ -2,22 +2,26 @@ $(document).ready(function(){ // count character on keyup function counter(){ var maxLength = 140; - var currentLength = $("#status_textarea").val().length; - var remaining = 140 - currentLength; - var counter = $("#counter"); + var currentLength = $("#status_textarea").val() + .replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g, "drry") + .replace(/[\u0800-\uFFFF]/g, "drr") + .replace(/[\u0080-\u07FF]/g, "dr") + .length; + var remaining = maxLength - currentLength; + var counter = $("#counter"); counter.text(remaining); - if(remaining <= 0) { + if (remaining <= 0) { counter.attr("class", "toomuch"); - } else { + } else { counter.attr("class", ""); - } + } } if ($("#status_textarea").length) { $("#status_textarea").bind("keyup", counter); // run once in case there's something in there - counter(); + counter(); } });