JS 如何限制中文字符输入字数

JavaScript023

JS 如何限制中文字符输入字数,第1张

1、在html中定义一个input输入框,给输入框设置一个id值2、在输入框绑定一个onkeydown事件3、定义onkeydown事件发生时的处理函数controlLen4、在controlLen函数中检查input输入框的输入值长度n5、当大于规定的字符长度时,利用字符串的substring重新截取输入值的前n个值,重新赋值给input框,同时alert提示。示例:js代码:<script type="text/javascript"> function controlLen(){//获取input输入框元素var inputText = document.getElementById('mytext').value if(inputText.length >10){var text = inputText.substring(0,10) document.getElementById('mytext').value = text//从新设置input输入框的值alert("最多输入10个字符") }}</script>html代码:<body><input type="text" id="mytext" value="" onkeydown="controlLen()"/></body>

<input maxLength=20>

这样是最多20个

如果必须20个不能多也不能少,那就只能用JS来控制了。

jQuery("input").text().length==20才行

如果你说的中文要占2个半角字符的长度的话,要用以下方法

var len =jQuery("input").text().replace(/[\u4E00-\u9FA5]/g,'aa').length

if(len>20){

alert("超长了")

}

//获取字符数,1个中文=2个英文字符

//参数:对象

function gw_js_checkform_str_len(str){

var value=str

var length=value.length

if(length>0){

for(var i=0i<lengthi++){

var value_substr=value.substr(i,1)//截取字符串

var value_escape=escape(value_substr)//编码

if(value_escape.indexOf('%u')>-1){length++} //是否搜索到指定字符串

//if(value_escape.length>3){length++} //也可使用此语句替换上一条语句

}

}

return length

}