js限制文本框输入20个字母或10个汉字

< input type= "text" name= "explain" id= "explain" onkeyup= "limitLength(value,20,'','explain')" >

< script >
function limitLength( value, byteLength, title, attribute) {
var newvalue = value. replace( / [^ \x00 - \xff ] / g, "**"); //输入内容
var length = newvalue. length; //获取内容长度
//当填写的字节数小于设置的字节数
if ( length * 1 <= byteLength * 1){
return;
}
var limitDate = newvalue. substr( 0, byteLength);
var count = 0;
var limitvalue = "";
for ( var i = 0; i < limitDate. length; i++) {
console. log( i);
var flat = limitDate. substr( i, 1);
if ( flat == "*") {
count++;
}
}
var size = 0;
var istar = newvalue. substr( byteLength * 1 - 1, 1); //校验点是否为“×”
//if 基点是×; 判断在基点内有×为偶数还是奇数
if ( count % 2 == 0) {
//当为偶数时
size = count / 2 + ( byteLength * 1 - count);
limitvalue = value. substr( 0, size);
} else {
//当为奇数时
size = ( count - 1) / 2 + ( byteLength * 1 - count);
limitvalue = value. substr( 0, size);
}
// alert(title + "最大输入" + byteLength + "个字节(相当于"+byteLength /2+"个汉字)!");
document. getElementById( attribute). value = limitvalue;
return;
}
< / script >

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值