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             }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM