JavaScript表单验证,输入中文时字符长度为2

获取输入框中的字符长度进行表单验证,当输入英文时字符长度就是1,当输入中文时字符长度为2。

 

字符数为4~16位,

上图:

 

一个中文抵两英文。

 

上代码

 

 1 btn.addEventListener('click',ov,false);
 2 
 3             function ov(){
 4                 var inputValue = text.value.trim();
 5                 //去掉最前最后的空格
 6                 if (countLength(inputValue) < 4 || countLength(inputValue) > 16) {
 7                     //判断长度是否在4-16之间
 8                     pro.innerHTML = '名称格式错误';
 9                     pro.className = 'pro warn';
10                     text.className = 'warn';
11                 }else{
12                     pro.innerHTML = '名称格式正确';
13                     pro.className = 'pro cor';
14                     text.className = 'cor';
15                 }
16             }
17 
18             function countLength(str){
19                 var inputLength = 0;
20                 //给一个变量来记录长度
21                 for (var i = 0; i < str.length; i++) {
22                     var countCode = str.charCodeAt(i);
23                     //返回指定位置的字符的Unicode编码
24                     //判断是不是ASCII码,Unicode码前128个字符是ASCII码
25                     if (countCode >= 0 && countCode <= 128) {
26                         inputLength ++;
27                     }else{
28                         inputLength +=2;
29                         //如果是扩展码,则一次+2
30                     }
31                 }
32                 return inputLength;
33             }

 

转载于:https://www.cnblogs.com/chigga/p/6082668.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值