Edited at

JavaScriptで全角を2、半角を1で数える(半角カタカナ対応)

More than 1 year has passed since last update.

同種のものはたくさんあるのですが、半角カタカナを2と数えるものが多かったため

1と数えるよう変更したものです。

var charcount = function (str) {

len = 0;
str = str.split("");
for (i=0;i<str.length;i++) {
if (str[i].match(/[ア-ン゙゚]+/)){
// 半角カタカナ
len++;
} else {
esc = escape(str[i]);
if (esc.match(/^\%u/)){
// 全角
len+=2;
} else {
// 半角英数
len++;
}
}
}

return len;
}