下面是我已经写好的代码,它运行良好:
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个字符
属于urf8类型的AND **if**,那么它应该会计数到200个1。
有什么解决方案吗?
发布于 2013-04-11 01:28:22
使用String.charCodeAt获取字符串中任意或所有字符的数值。如果值大于127,那么您就是在处理Unicode值。
因为你的回调是keyUp,所以你可以一次做一个:
var str = $('#textarea').val();
var ascii = str.charCodeAt(str.length - 1) < 128;(您也可以只遍历字符串长度,但这是多余的,因为您一次只进行一个击键操作。)
https://stackoverflow.com/questions/15931855
复制相似问题