$rootScope.inputLenLimit = function(e,num){ //e.target.value = e.target.value.replace(/(s*)/g,''); e.target.value = e.target.value.replace(/(^s*)|(s*$)/g,''); var len = 0; //字符总长度 var cNum = 0; //中文字符个数记录 for (var i=0; i<e.target.value.length; i++) { if (e.target.value.charCodeAt(i)>127 || e.target.value.charCodeAt(i)==94) { len += 2; cNum ++; } else { len ++; } } var maxCNum = (num-(len-cNum*2))/2; //判断最多能输入的汉字数量,以便减少相应字符 if(len>num){ if(cNum>maxCNum){cNum = maxCNum;} e.target.value = e.target.value.substring(0,num-cNum); $rootScope.msgPopup('最多只能输入'+num+'个字符,一个汉字占两个字符!'); return; } };