HTML文本框中怎么限制输入字符长度?

我找了不少,最简单的就是添加maxlength参数,但是输入的中英文个数是一样的,我想要的是限制字符数,即中文是英文的一半,怎么弄谢谢!

<script language="javascript">
function calculate() {
String.prototype.lenB = function(){return this.replace(/[^\x00-\xff]/g,"**").length;}
//var str = "这是一个可以将汉字计算成两个字节的函数";
var str =document.all.uInput.value
alert("count = " + str.lenB());
}
</script>

请输入<input name="uInput" type="text">
<input type="button" value="计算" onclick="calculate()"/>
结果为<input name="result" type="text">

执行下这个代码你就懂了,之后用js对str.lenB()判断就行了,str.lenB()可以将汉字计算成两个字节。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-06-10
通过js控制下,可以用str.length
第2个回答  2018-03-06
<script language="javascript">
function calculate() {
String.prototype.lenB = function(){return this.replace(/[^\x00-\xff]/g,"**").length;}
//var str = "这是一个可以将汉字计算成两个字节的函数";
var str =document.all.uInput.value
alert("count = " + str.lenB());
}
</script>
第3个回答  2014-06-10
用脚本控制
第4个回答  2014-06-10
function strlen(str){
var len = 0;
for (var i=0; i<str.length; i++) {
var c = str.charCodeAt(i);
//单字节加1否则加2
if ((c >= 0x0001 && c <= 0x007e) || (0xff60<=c && c<=0xff9f)) {
len++;
}
else {
len+=2;
}
}
return len;
}

function checklen(){
var n = strlen($("#title").val());
if(n>40){
alert("标题必须在40字符内,一个汉字算两个字符!");
}
}