解決文字框中輸入字元限制---精確控制中文佔兩個位元組,英文佔一個位元組~
阿新 • • 發佈:2019-01-09
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> <script src="scripts/zepto.min.js"></script> <script> $(function () { $('#modifyPluginName').on('input', function (e) { var$that = $(this), limitLen = 10; //定義所需位元組數 $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" id="modifyPluginName" maxlength="10"> </body> </html>