
首先這是需要顯示的注冊界面,其中每一項都對應有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>
需要對輸入的每一項進行檢查,因此在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 }
在點擊"注冊"按鈕之后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 }
然后檢測即可

