我发现了使用jQuery计算字符/短信数量,但它不支持中文、日文、泰文等国际字符。
var $remaining = $('#remaining'),
$messages = $remaining.next();
$('#message').keyup(function(){
var chars = this.value.length,
messages = Math.ceil(chars / 160),
remaining = messages * 160 - (chars % (messages * 160) || messages * 160);
$remaining.text(remaining + ' characters remaining');
$messages.text(messages + ' message(s)');
});
以下是一些错误的字符计数示例:
如何与非ASCII字符配合使用?您好,請問你吃飯了嗎?<< 11个字符
สวัสดีคุณกินหรือ?<< 17个字符
こんにちは、あなたは食べていますか?<< 18个字符
안녕하세요, 당신이 먹는 거죠?<< 17个字符
हैलो, आप खाते हैं?<< 18个字符
Добры дзень, вы ясьце?<< 22个字符
您好,请问你吃饭了吗?
的长度为11个字符,日语、韩语和俄语的数字也没问题。您期望的是哪些数字呢?只有泰语和印地语可能会有偏差,但我不知道那里如何计算字符数。 - deceze