我发现Count characters/sms using 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)');
});
这里是不正确的字符计数的一些例子:
您好,请问你吃饭了吗?< < 11个汉字
สวัสดีคุณกินหรือ? < < 17个字符
こんにちは,あなたは食べていますか?< < 18个字符
안녕하세요,당신이먹는거죠? < < 17个字符
是什么,请问该怎么办? < < 18个字符
添加到收藏夹从本地下载? < < 22个字符
我怎样才能使非ASCII字符这项工作?
大部分似乎算得很好。 '您好,请问你吃饭了吗?'* *长11个字符,日语,韩语和俄语的数字也很好。你会期待什么数字?只有泰语和印地语可能会关闭,但我不知道字符如何计算在那里。 – deceze 2011-03-28 05:21:22
是的,正如你所说的泰语和印地语不同,好的已经是2个字符,所以,如上所述,我发现如何使它支持国际中文,泰文,日文,韩文,印地文,俄文。 – Ironman 2011-03-28 05:32:39
是的,但“您“是*一个UTF-8字符*。显然你要计算*字节*,而不是字符? – deceze 2011-03-28 06:06:54