<!DOCTYPE html>
<html lang="en">
<head>
???<meta charset="UTF-8">
???<title>Title</title>
???<script src="jquery-3.2.1.min.js"></script>
???<script>
???????$(function () {
???????????$(‘input[type="text"]‘).on(‘input‘, function (e) {
???????????????var $that = ?$(this);
???????????????var ?limitLen = $that .attr("maxcodelength") ?????????????????????//定义所需字节数
???????????????$that.attr(‘maxlength‘,limitLen);
???????????????setTimeout(function(){
???????????????????var value = ?$that.val(),
???????????????????????reg = /[\u4e00-\u9fa5]{1}/g, ????????????//中文
???????????????????????notReg = /\w{1}/g; ?????????????????????//非中文
???????????????????var resultCn = value.match(reg);
???????????????????var resultEn = value.match(notReg);
???????????????????if(resultCn){
???????????????????????limitLen = limitLen - (resultCn.length*2);
???????????????????}
???????????????????if(resultEn){
???????????????????????limitLen = limitLen - resultEn.length;
???????????????????}
???????????????????if(limitLen<=0){
???????????????????????var finalLen = value.length+limitLen;
???????????????????????value = value.substring(0,finalLen);
???????????????????????$that.attr(‘maxlength‘,limitLen);
???????????????????????$that[0].value = value;
???????????????????}
???????????????},0);
???????????});
???????});
???</script>
</head>
<body>
请输入:<input type="text" ?maxcodelength="10">
<input type="text" ?maxcodelength="5">
</body>
</html>
jquery扩展实现input框字符长度限制中文2个字符,英文1个字符
原文地址:http://www.cnblogs.com/edison20161121/p/7440314.html