转载出处:http://chen106106.iteye.com/blog/1556182
找了好久,终于找到了一个好的解决方法,废话不多说,直接上代码======》
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<script type="text/javascript" src="../js/jquery-1.9.1.min.js"></script>
<body>
<input type="text" id="nickname" class="nickname" value="" placeholder="请输入您的名字" οnkeyup="limitInputCharLen(this,8);"/>
<script type="text/javascript">
function limitInputCharLen(str, maxLen) {
var w = 0;
var tempCount = 0;
//length 获取字数数,不区分汉子和英文
for(var i = 0; i < str.value.length; i++) {
//charCodeAt()获取字符串中某一个字符的编码
var c = str.value.charCodeAt(i);
//单字节加1
if((c >= 0x0001 && c <= 0x007e) || (0xff60 <= c && c <= 0xff9f)) {
w++;
} else {
w += 2;
}
if(w > maxLen) {
str.value = str.value.substr(0, i);
break;
}
}
}
</script>
</body>
</html>