js验证框里设置输入框里面的长度为20个字符(可以为中文)改怎么设置?

 我来答
让猫飞一会儿
2015-01-19 · TA获得超过1120个赞
知道小有建树答主
回答量:540
采纳率:80%
帮助的人:278万
展开全部
<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("超长了");
}
eadio
2015-01-19 · TA获得超过1610个赞
知道小有建树答主
回答量:962
采纳率:80%
帮助的人:1017万
展开全部
写个函数计算输入框里头字符串的长度就好了,,
function getStringLen(Str){
var i,len,code;
if(Str==null || Str == "") return 0;
len = Str.length;
for (i = 0;i < Str.length;i++)
{
code = Str.charCodeAt(i);
if (code > 255) {len ++;}
}
if(len > 20) { return true;}else{
alert('字数至少20个');

return false;

}
}
然后当文本框失去焦点触发函数,,<input id="input" onblur = getStringLen(document.getElementsById('input')) type="text" />
这个函数我网上找的,,在加工,你可以自己完善看看。。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
玩撞篮球
推荐于2017-08-26
知道答主
回答量:5
采纳率:0%
帮助的人:5167
展开全部
var para ="你好朋友";//字符串
var len = 0;
if(para==""||para==undefined||para==null)
return "";
for (var i = 0; i < para.length; i++) {
var a = para.charAt(i);
if (a.match(/[^\x00-\xff]/ig) != null) {
len += 2;
} else {
len += 1;
}
}
if(len>20){
return "字符串长度不能超过20个字符";
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2015-01-19
展开全部
<input type="text" onblur="var reg=/^.{20}$/; if(!reg.test(this.value)) {alert('error');this.value='';}" />
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
袭空岚枫
2015-01-19 · TA获得超过190个赞
知道小有建树答主
回答量:192
采纳率:0%
帮助的人:194万
展开全部
var inp = document.getElementById("id").value;

if(inp .length > 20){
alert("报错");

return false;

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式