/**
* 扩展一个字符自动长度自动检测的函数
* @param {[type]} max [description]
* @param {Function} callback [description]
* @return {[type]} [description]
*/
jQuery.fn.maxLength = function(max, callback) {
this.each(function(){
var type = this.tagName.toLowerCase();
var inputType = this.type ? this.type.toLowerCase() : null;
if(type == "input" && inputType == "text" || inputType == "password") {
this.maxLength = max;
} else if(type == "textarea") {
this.onkeypress = function(e) {
var obj = e || event;
var keyCode = obj.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) && !obj.ctrlKey && !obj.altKey && !hasSelection);
};
this.onkeyup = function() {
if(‘undefined‘ != typeof(callback)) {
callback(this.value.length);
}
if(this.value.length > max) {
this.value = this.value.substring(0,max);
}
};
}
});
};
原文:http://www.cnblogs.com/luodao1991/p/3965274.html