JavaScript表单验证,输入中文时字符长度为2
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 }
以上是关于JavaScript表单验证,输入中文时字符长度为2的主要内容,如果未能解决你的问题,请参考以下文章