字符类型检测

时间:2013-04-10 16:50:50

标签: 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)');

}); This is the above code in action

现在我要做的是:

var text_max_En = 100;
var text_max_utf8 = 200;
if   /*  what user has typed is English   */
{
   Do this
}
else if /*  what user has typed is in utf8 type*/
{
   Do that
}

简而言之:

**If**用户在那里输入了英文,然后每条消息最多可以输入100个字符

AND **if**这是urf8类型,那么它最多可以计数200个。

任何解决方案?

1 个答案:

答案 0 :(得分:1)

使用String.charCodeAt获取字符串中任何或所有字符的数值。如果值> 127,那你就是在处理unicode值。

由于您的回叫是keyUp,因此您可以一次执行此操作:

var str = $('#textarea').val();
var ascii = str.charCodeAt(str.length - 1) < 128;

(你也可以循环遍历字符串长度,但这是多余的,因为你一次只进行一次击键。)