ps:中文算作2个字符,英文算作1个,2个字符算作一个字。本方法适用于判断多少个字的情况。
js判断中英文字符长度:
function countCharacters(str){
var totalCount = 0;
for(var i=0; i<str.length; i++){
var c = str.charCodeAt(i);
if ((c >= 0x0001 && c <= 0x007e) || (0xff60<=c && c<=0xff9f)){
totalCount++;
}
else{
totalCount+=2;
}
}
return totalCount;
}
函数返回的是字符数,除以2就是汉字数,要获取整数的字个数,需要取整:
var wb_count = countCharacters(weibo_content) ;
Math.floor(wb_count/2)
2.文本框实时获取字数 ,利用jquery的focus函数,绑定keyup事件就可以实现动态提示还可以输入多少字。
$('#send_weibo').focus(function() {
$(this).bind("keyup", function(){
var weibo_content = $("#send_weibo").val() ;
var wb_count = countCharacters(weibo_content) ;
if(wb_count>send_wb_count){
$("#alarm_weibo").html("微博内容大于130个字!") ;
}else{
$("#alarm_weibo").html("还可以输入"+(Math.floor((send_wb_count-wb_count)/2))+'个字!') ;
}
});
});
3.php获取中文字数:
$length = (strlen($weibo_content) + mb_strlen($weibo_content,'UTF8')) / 4 ;
这是通过搜索比较感觉最简便,准确的方法。