JS+jQuery實(shí)現(xiàn)注冊(cè)信息的驗(yàn)證功能
用JS和JQuery實(shí)現(xiàn)的效果是一樣的。
HTML代碼
<legend> 請(qǐng)?zhí)顚懽?cè)信息</legend> <form action="index.html" method="post"> <table style="text-align: right;"> <tr> <td>用戶名:</td> <td><input type="text" name="userName" placeholder="由英文字母和數(shù)字組成的4-16位字符,以字母開頭"> </td> </tr> <tr> <td>昵稱:</td> <td><input type="text" name="nickName" placeholder="由2-6個(gè)漢字組成"> </td> </tr> <tr> <td>郵箱:</td> <td><input type="text" name="email" placeholder="郵箱賬號(hào)@域名。如good@tom.com、whj@sina.com.cn"> </td> </tr> <tr> <td>密碼:</td> <td><input type="password" name="pwd" placeholder="由英文字母和數(shù)字組成的4-10位字符"> </td> </tr> <tr> <td>確認(rèn)密碼:</td> <td><input type="password" name="pwd2" placeholder="確認(rèn)密碼"> </td> </tr> <tr> <td>手機(jī)號(hào)碼:</td> <td><input type="text" name="phone" placeholder="手機(jī)號(hào)由11位數(shù)字組成,且以13,15,18開頭"> </td> </tr> <tr> <td>出生日期:</td> <td><input type="text" name="date" placeholder="出生日期在1990-2009之間"> </tr> <tr> <td colspan="2" align="left"><input type="button" name="submit" value="提交"></td> </tr> </table> </form> </fieldset>
CSS樣式
body { text-align: center; padding: 0; margin: 0; } fieldset { width: 800px; } table tr td ~ td { text-align: left; width: 600px; }
JS代碼
//驗(yàn)證用戶名 function check_userName() { var userName = document.getElementById("name").value; var regName = /[a-zA-Z]\w{4,16}/ if (userName == "" || userName.trim() == "") { document.getElementById("err_name").innerHTML = "請(qǐng)輸入用戶名"; return false; } else if (!regName.test(userName)) { document.getElementById("err_name").innerHTML = "由英文字母和數(shù)字組成的4-16位字符,以字母開頭"; return false; } else { document.getElementById("err_name").innerHTML = "ok!!!"; return true; } } //驗(yàn)證昵稱 function check_nickName() { var nickName = document.getElementById("nick").value; var regName = /[\u4e00-\u9fa5]{2,6}/ if (nickName == "" || nickName.trim() == "") { document.getElementById("err_nick").innerHTML = "請(qǐng)輸入昵稱"; return false; } else if (!regName.test(nickName)) { document.getElementById("err_nick").innerHTML = "由2-6個(gè)漢字組成"; return false; } else { document.getElementById("err_nick").innerHTML = "ok!!!"; return true; } } //驗(yàn)證郵箱 function check_email() { var email = document.getElementById("email").value; var regEmail = /^\w+@\w+((\.\w+)+)$/; if (email == "" || email.trim() == "") { document.getElementById("err_email").innerHTML = "請(qǐng)輸入郵箱"; return false; } else if (!regEmail.test(email)) { document.getElementById("err_email").innerHTML = "郵箱賬號(hào)@域名。如good@tom.com、whj@sina.com.cn"; return false; } else { document.getElementById("err_email").innerHTML = "ok!!!"; return true; } } //驗(yàn)證密碼 function check_pwd() { var pwd = document.getElementById("pwd").value; var regPwd = /^\w{4,10}$/; if (pwd == "" || pwd.trim() == "") { document.getElementById("err_pwd").innerHTML = "請(qǐng)輸入密碼"; return false; } else if (!regPwd.test(pwd)) { document.getElementById("err_pwd").innerHTML = "格式錯(cuò)誤"; return false; } else { document.getElementById("err_pwd").innerHTML = "ok!!!"; return true; } } //確認(rèn)密碼 function check_pwd2() { var pwd = document.getElementById("pwd").value; var pwd2 = document.getElementById("pwd2").value; if (pwd2 == "" || pwd2.trim() == "") { document.getElementById("err_pwd2").innerHTML = "請(qǐng)輸入密碼"; return false; } else if (!pwd2.equals(pwd)) { document.getElementById("err_pwd2").innerHTML = "兩次輸入密碼不一致"; return false; } else { document.getElementById("err_pwd2").innerHTML = "ok!!!"; return true; } } //驗(yàn)證手機(jī)號(hào) function check_phone() { var phone = document.getElementById("phone").value; var regPhone = /[13,15,18]\d{9}/; if (phone == "" || phone.trim() == "") { document.getElementById("err_phone").innerHTML = "請(qǐng)輸入手機(jī)號(hào)"; return false; } else if (!regPhone.test(phone)) { document.getElementById("err_phone").innerHTML = "手機(jī)號(hào)由11位數(shù)字組成,且以13,15,18開頭"; return false; } else { document.getElementById("err_phone").innerHTML = "ok!!!"; return true; } } //驗(yàn)證時(shí)間 function check_date() { var birthday = document.getElementById("birthday").value; var regDate = /[13,15,18]\d{9}/; if (birthday == "" || birthday.trim() == "") { document.getElementById("err_date").innerHTML = "請(qǐng)輸入日期"; return false; } else if (!regDate.test(birthday)) { document.getElementById("err_date").innerHTML = "出生日期在1990-2009之間"; return false; } else { document.getElementById("err_date").innerHTML = "ok!!!"; return true; } }
Jquery代碼
$(function () { var errMsg; $.each($("input"), function (i, val) { $(val).blur(function () { if ($(val).attr("name") == "userName") { $(".nameMsg").remove(); var userName = val.value; var regName = /[a-zA-Z]\w{4,16}/ if (userName == "" || userName.trim() == "") { errMsg = "<span class='nameMsg' style='color:red;'>用戶名不能為空</span>"; } else if (!regName.test(userName)) { errMsg = "<span class='nameMsg' style='color:red;'>由英文字母和數(shù)字組成的4-16位字符,以字母開頭</span>"; } else { errMsg = "<span class='nameMsg' style='color:red;'>OK!</span>"; } $(this).parent().append(errMsg); } else if ($(val).attr("name") == "nickName") { $(".nickMsg").remove(); var nickName = val.value; var regName = /[\u4e00-\u9fa5]{2,6}/ if (nickName == "" || nickName.trim() == "") { errMsg = "<span class='nickMsg' style='color:red;'>昵稱不能為空</span>"; } else if (!regName.test(nickName)) { errMsg = "<span class='nickMsg' style='color:red;'>由2-6個(gè)漢字組成</span>"; } else { errMsg = "<span class='nickMsg' style='color:red;'>OK!</span>"; } $(this).parent().append(errMsg); } else if ($(val).attr("name") == "email") { $(".emailMsg").remove(); var email = val.value; var regEmail = /^\w+@\w+((\.\w+)+)$/; if (email == "" || email.trim() == "") { errMsg = "<span class='emailMsg' style='color:red;'>郵箱不能為空</span>"; } else if (!regEmail.test(email)) { errMsg = "<span class='emailMsg' style='color:red;'>郵箱賬號(hào)@域名。如good@tom.com、whj@sina.com.cn</span>"; } else { errMsg = "<span class='emailMsg' style='color:red;'>OK!</span>"; } $(this).parent().append(errMsg); } else if ($(val).attr("name") == "pwd") { $(".pwdMsg").remove(); var pwd = val.value; var regPwd = /^\w{4,10}$/; if (pwd == "" || pwd.trim() == "") { errMsg = "<span class='pwdMsg' style='color:red;'>密碼不能為空</span>"; } else if (!regPwd.test(pwd)) { errMsg = "<span class='pwdMsg' style='color:red;'>格式錯(cuò)誤</span>"; } else { errMsg = "<span class='pwdMsg' style='color:red;'>OK!</span>"; } $(this).parent().append(errMsg); } else if ($(val).attr("name") == "pwd2") { $(".pwd2Msg").remove(); var pwd2 = val.value; var pwd = $("input")[3].value; if (pwd2 == "" || pwd2.trim() == "" || !pwd2.equals(pwd)) { errMsg = "<span class='pwd2Msg' style='color:red;'>兩次輸入密碼不一致</span>"; } else { errMsg = "<span class='pwd2Msg' style='color:red;'>OK!</span>"; } $(this).parent().append(errMsg); } else if ($(val).attr("name") == "phone") { $(".phoneMsg").remove(); var phone = val.value; var regPhone = /[13,15,18]\d{9}/; if (phone == "" || phone.trim() == "") { errMsg = "<span class = 'phoneMsg' style = 'color:red;' > 手機(jī)號(hào)不能為空 < /span>" } else if (!regPhone.test(phone)) { errMsg = "<span class = 'phoneMsg' style = 'color:red;' > 格式錯(cuò)誤 < /span>" } else { errMsg = "<span class = 'phoneMsg' style = 'color:red;' > OK! < /span>" } $(this).parent().append(errMsg); } else if ($(val).attr("name") == "date") { $(".dateMsg").remove(); var birthday = val.value; var regDate = /(199\d|200\d)[-/](0\d|1[0-2])[-/](0\d|[1-2]\d|30|31)/; if (birthday == "" || birthday.trim() == "") { errMsg = "<span class='dateMsg' style='color:red;'>請(qǐng)輸入生日</span>"; } else if (!regDate.test(birthday)) { errMsg = "<span class='dateMsg' style='color:red;'>格式錯(cuò)誤</span>"; } else { errMsg = "<span class='dateMsg' style='color:red;'>OK!</span>"; } $(this).parent().append(errMsg); } }); }); });
總結(jié)
以上所述是小編給大家介紹的JS+jQuery實(shí)現(xiàn)注冊(cè)信息的驗(yàn)證功能,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
javascript Deferred和遞歸次數(shù)限制實(shí)例
你知道Deferred和遞歸次數(shù)限制嗎?如果還不知道,可以看看下面的實(shí)例,很好,適合新手朋友們2014-10-10JavaScript 實(shí)現(xiàn)鼠標(biāo)拖動(dòng)元素實(shí)例代碼
這篇文章主要介紹了JavaScript 實(shí)現(xiàn)鼠標(biāo)拖動(dòng)元素實(shí)例代碼,需要的朋友可以參考下2014-02-02js給網(wǎng)頁(yè)加上背景音樂(lè)及選擇音效的方法
這篇文章主要介紹了js給網(wǎng)頁(yè)加上背景音樂(lè)及選擇音效的方法,涉及javascript操作音頻的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-03-03JS解決Date對(duì)象在IOS中的“大坑” 以及時(shí)間格式兼容問(wèn)題
這篇文章主要介紹了JS解決Date對(duì)象在IOS中的“大坑” 以及時(shí)間格式兼容問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-10-10Jquery調(diào)用iframe父頁(yè)面中的元素及方法
對(duì)于javascript操作iframe父級(jí)頁(yè)面元素的方法,大家應(yīng)該都非常清楚了,下面結(jié)合當(dāng)前非常流行的jquery分享一下如何使用jquery查找和操作iframe父級(jí)頁(yè)面元素的實(shí)現(xiàn)代碼。2016-08-08javascript權(quán)威指南 學(xué)習(xí)筆記之javascript數(shù)據(jù)類型
JavaScript中允許使用三種基本數(shù)據(jù)類型 數(shù)字,文本字符和布爾值。其中數(shù)字包括符點(diǎn)數(shù).此外,它還支持兩種小數(shù)據(jù)類型 -null(空)和undefined(未定義),該兩種小數(shù)據(jù)類型,它們各自只定義了一個(gè)值 。2011-09-09