JS
$(function(){
jQuery.fn.maxLength=function(max){
return this.each(function(){
var type = this.tagName.toLowerCase(); //获取文本域类型
var inputType = this.type? this.type.toLowerCase() : null;
//判断"input"、"text"和"password"文本域类型
if(type == "input" && inputType == "text" || inputType == "password"){
this.maxLength = max;
}else if(type=="textarea"){ //判断"textarea"文本域类型
this.onkeypress=function(e){ //onkeypress事件处理过程
var ob=e||event;
var keyCode=ob.keyCode; //键盘输入编码
var hasSelection=document.selection? document.selection.createRange().text.length > 0 : this.selectionStart != this.selectionEnd; //获取当前页面选中的内容
return !(this.value.length >= max && (keyCode > 50 || keyCode == 32 || keyCode == 0 || keyCode == 13) && !ob.ctrlKey && !ob.altKey && !hasSelection);
};
this.onkeyup=function(){ //onkeyup事件处理过程
if(this.value.length>max){ //判断文本域中字符个数是否大于设定值
this.value = this.value.substring(0,max); //截断多余字符
}
};
}
});
};
$("#id-button-maxLen").click(function(){
var vMaxLen=$('input#id-text-maxLen').val();
var iMaxLen=parseInt(vMaxLen);
$('#id-maxLenTextarea').maxLength(iMaxLen);
$("#div-log").html($("#div-log").html()+"<p>"+"最大输入字符个数设定为:"+vMaxLen+"个"+"</p>");
});
});