jsp頁面中正則表達式的使用


首先這是需要顯示的注冊界面,其中每一項都對應有id值

onblur 屬性在元素失去焦點時觸發。
onblur 常用於表單驗證代碼(例如用戶離開表單字段)。
也就是說每次用戶輸入完信息之后,鼠標焦點離開輸入框的時候,會調用一次checkXxx()方法。這個方法是采用js寫的。然后我們可以在這個方法里面獲取我們的輸入信息,進行正則匹配,判斷用戶輸入的信息是否符合要求。

 1 <div class="register_id" id="formID">
 2                 <input type="text" name="lid" placeholder="請輸入用戶id"/>
 3             </div>
 4             <div class="register_account">
 5                 <input type="text" name="lusername" id="formName" onblur="checkName()" placeholder="請輸入用戶名(只能以字母開頭,且必須是字母與數字的組合)"/>
 6                    <span style="font-size:13px" id="namespan"></span>
 7             </div>
 8             <div class="register_password">
 9                 <input type="password" name="lpassword" id="formPwd" onblur="checkPwd()" placeholder="請輸入密碼(只能以字母開頭,且必須是字母與數字的組合)"/>
10                 <span style="font-size:13px" id="pwdspan"></span>
11             </div>
12             <div class="register_repassword">
13                 <input type="password" name="lrepassword" id="formRepwd" onblur="checkRepwd()" placeholder="請再次輸入密碼(只能以字母開頭,且必須是字母與數字的組合)"/>
14                 <span style="font-size:13px" id="repwdspan"></span>
15             </div>
16             <div class="register_tel">
17                 <input type="text" name="ltel" id="formTel" onblur="checkTel()" placeholder="請輸入聯系電話(只能是數字的組合)"/>
18                 <span style="font-size:13px" id="telspan"></span>
19             </div>
20             <div class="register_address">
21                 <input type="text" name="laddress" id="formAddress" onblur="checkAddress()" placeholder="請輸入家庭住址(只能以字母開頭,且必須是字母間的組合)"/>
22                    <span style="font-size:13px" id="addressspan"></span>
23             </div>
View Code

需要對輸入的每一項進行檢查,因此在script標簽中寫檢查是否合格代碼

注意:正則表達式可根據自己需要進行更換!!!

 1 //檢查用戶名
 2         function checkName(){  
 3             var name = document.getElementById("formName").value;  
 4             var spanNode = document.getElementById("namespan");  
 5             //用戶名的規則: 昵稱的長度為1-15,包含任意的字母、數字、中文,不可以使用其他符號
 6             var reg = /^([\u4e00-\u9fa5]|[a-zA-Z0-9]){1,15}$/i;      
 7             if(reg.test(name)){  
 8                 //符合規則 
 9                 spanNode.innerHTML = "".fontcolor("green");  
10                 return true;  
11             }else{  
12                 //不符合規則  
13                 spanNode.innerHTML = "昵稱的長度為1-15,包含任意的字母、數字、中文,不可以使用其他符號".fontcolor("red");      
14                 return false;  
15             }     
16         }   
17         
18         //2.檢查密碼
19         function checkPwd(){  
20             var password = document.getElementById("formPwd").value;  
21             var spanNode = document.getElementById("pwdspan");  
22             //密碼的規則: 6-16,包含任意的字母、數字,不可以使用其他符號
23             var reg = /^([a-zA-Z0-9]){6,16}$/i;      
24             if(reg.test(password)){  
25                 //符合規則  
26                 spanNode.innerHTML = "".fontcolor("green");   
27                 return true;  
28             }else{  
29                 //不符合規則  
30                 spanNode.innerHTML = "密碼的長度為 6-16,包含任意的字母、數字,不可以使用其他符號".fontcolor("red");    
31                 return false;  
32             }     
33         }   
34         //3.檢查再次輸入的密碼
35         function checkRepwd(){  
36             var repassword = document.getElementById("formRepwd").value; 
37             var password = document.getElementById("formPwd").value; 
38             var spanNode = document.getElementById("repwdspan"); 
39             var reg = /^([a-zA-Z0-9]){6,16}$/i;      
40             if(reg.test(repassword)){  
41                 if(repassword==password){  
42                     //符合規則  
43                     spanNode.innerHTML = "".fontcolor("green");   
44                     return true;  
45                 }else{  
46                     //不符合規則  
47                     spanNode.innerHTML = "兩次輸入的密碼不一致".fontcolor("red");    
48                     return false;  
49                 }    
50             }else{
51                 //不符合規則  
52                 spanNode.innerHTML = "密碼的長度為 6-16,包含任意的字母、數字,不可以使用其他符號".fontcolor("red");    
53                 return false;  
54             }  
55         }   
56         //4.檢查電話
57         function checkTel(){  
58             var tel = document.getElementById("formTel").value;  
59             var spanNode = document.getElementById("telspan");  
60             //電話的規則:1開頭,一共11位數字
61             var reg = /^1[0-9]{10}$/i;   
62             if(reg.test(tel)){  
63                 //符合規則  
64                 spanNode.innerHTML = "".fontcolor("green");   
65                 return true;  
66             }else{  
67                 //不符合規則  
68                 spanNode.innerHTML = "電話的長度為 11,且由1開頭,不可以使用其他符號".fontcolor("red");    
69                 return false;  
70             }     
71         }   
72         //5.檢查地址
73         function checkAddress(){  
74             var address = document.getElementById("formAddress").value;  
75             var spanNode = document.getElementById("addressspan");  
76           //地址的規則:地址的長度為1-15,包含任意的字母、數字、中文,不可以使用其他符號
77             var reg = /^([\u4e00-\u9fa5]|[a-zA-Z0-9]){1,15}$/i;   
78             if(reg.test(address)){  
79                 //符合規則  
80                 spanNode.innerHTML = "".fontcolor("green");   
81                 return true;  
82             }else{  
83                 //不符合規則  
84                 spanNode.innerHTML = "地址的長度為1-15,包含任意的字母、數字、中文,不可以使用其他符號".fontcolor("red");    
85                 return false;  
86             }     
87         }
View Code

在點擊"注冊"按鈕之后form表單會提交到action,這個時候觸發onsubmit事件,跳轉至checkAll()方法

<form action="r_register.action" method="post" onsubmit="return checkAll()">

checkAll()方法也在script標簽中

 1 //6.檢查用戶所有的輸入的所有是否符合規則
 2         function checkAll(){   
 3              var name = checkName();  
 4              var pwd = checkPwd();  
 5              var repwd = checkRepwd();  
 6              var tel = checkTel();  
 7              var address = checkAddress();  
 8              if(name&&pwd&&repwd&&tel&&address){  
 9                  return true;  
10              }else{  
11                  return false;  
12              }  
13          }    
View Code

然后檢測即可


免責聲明!

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



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