javascript 计算文本长度
汉字按照两个字符计算,英文字符按照一个字母计算
$.fn.extend({
tqMaxLength:function(options){
var self=$(this);
var defaultOption={
maxLength:10,
showSpanId:""
}
$.extend(defaultOption,options);
self.keyup(function(){
var themeVal=self.val();
var theVal=themeVal.replace(/[^\x00-\xff]/g, "xx");
var themeLength=theVal.length;
if(themeLength>defaultOption.maxLength){
var tempLength=0,subLength=0,reg=/^[\x00-\xff]+$/;
for (var i = 0; i < themeVal.length; i++) {
if (reg.test(themeVal.charAt(i)))
{
tempLength++;
}else{
tempLength=tempLength+2;
}
subLength++;
if(tempLength==defaultOption.maxLength){
break;
}else if(tempLength>defaultOption.maxLength){
subLength--;
break;
}
}
self.val(themeVal.substring(0,subLength));
}
$("#"+defaultOption.showSpanId).text(self.val().replace(/[^\x00-\xff]/g, "xx").length+"/"+defaultOption.maxLength);
});
}
});
其中有两个参数,一个是显示地方的id,另一个是限制的长度。
例如:
$("#userName").tqMaxLength({
maxLength:50,
showSpanId:"showLength"
});

浙公网安备 33010602011771号