<!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>