jQuery使用者登入和登錄檔單驗證程式碼例項
本章節分享一段簡單的程式碼例項,它實現了使用者登入或者註冊之類表單的驗證效果。
雖然簡單,但是可以滿足一些簡單的實際需求,程式碼例項如下:
[HTML] 純文字檢視 複製程式碼<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style> body { font-family: Arial, "宋體", Lucida, Verdana, Helvetica, sans-serif; font-size: 12px; color: #333; line-height: 150%; background: #f2f2f2; } .hide { display: none; } .focus, .error { color: #e4393c; line-height: 36px; height: 36px; position: absolute; top: 0px; width: 260px; padding: 0 5px; background: #FFEBEB; border: 1px solid #ffbdbe; } .error span, .focus span { padding: 5px 0; line-height: 13px; display: block; } .focus { color: #666; width: 260px; line-height: 36px; background: #f7f7f7; border: 1px solid #dddddd; } .regist { width: 990px; padding: 0; margin: 0 auto; zoom: 1; } .mc { padding: 30px 0 20px; border: solid #dddddd; border-width: 0px 1px 1px; background: #FFF; overflow: hidden; zoom: 1; border-width: 0px 1px 1px; } .form { float: left; width: 750px; font-size: 12px; } .form label, .form input, .form select, .form textarea, .form button, .form .label { float: left; font-size: 12px; } .item { padding-top: 9px; height: 60px; line-height: 34px; position: relative; z-index: 1; } .label { float: left; width: 190px; text-align: right; font-size: 14px; color: #999; padding-right: 10px; } .input { float: left; position: relative; width: 270px; overflow: visible; } .text { float: none; width: 275px; height: 37px; line-height: 32px; border: 1px solid #cccccc; font-size: 14px; font-family: arial, "宋體"; overflow: hidden; } </style> <script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script> <script> $(document).ready(function () { // 1. 使用者名稱 $("#username").focus(function () { /* 獲取焦點 var username_msg = $("#username_msg"); username_msg.text("4-20位字元,支援英文、數字及'-'、'_'組合"); username_msg.attr("class","focus"); */ elemFocus("username_msg", "4-20位字元,支援英文、數字及'-'、'_'組合"); }).blur(userValidator); // 2. 密碼 $("#password").focus(function () { elemFocus("pwd_msg", "6-20位字元,可使用字母、數字的組合"); }).blur(pwdValidator); // 3. 確認密碼 $("#pwdRepeat").focus(function () { elemFocus("pwdRepeat_msg", "6-20位字元,可使用字母、數字的組合"); }).blur(pwdRepeatValidator); // 4. Email $("#mail").focus(function () { elemFocus("mail_msg", "完成驗證後,可以使用該郵箱登入和找回密碼"); }).blur(emailValidator); $("#registsubmit").click(function () { return validateForm(); }) }) // 定義函式 - 通用的資訊提示 function elemFocus(eleId, text) { var ele_msg = $("#" + eleId); ele_msg.text(text); ele_msg.attr("class", "focus"); } // 定義驗證使用者名稱的函式 function userValidator() { // 獲取使用者名稱輸入的值 var value = $("#username").val(); // 獲取用於顯示提示資訊的元素 var username_msg = $("#username_msg"); // 驗證邏輯 if (value == "" || value == null) { username_msg.text("使用者名稱不能為空"); username_msg.attr("class", "error"); return false; } else if (value.length < 4 || value.length > 20) { username_msg.text("使用者名稱的長度不正確"); username_msg.attr("class", "error"); return false; } else if (!/^[a-zA-Z0-9-_]{4,20}$/.test(value)) { username_msg.text("使用者名稱輸入不正確"); username_msg.attr("class", "error"); return false; } // 驗證通過修改正確樣式 if (!username_msg.hasClass("hide")) { username_msg.text(""); username_msg.attr("class", "hide"); } return true; } // 定義驗證密碼的函式 function pwdValidator() { var value = $("#password").val(); var pwd_msg = $("#pwd_msg"); if (value == "" || value == null) { pwd_msg.text("密碼不能為空"); pwd_msg.attr("class", "error"); return false; } else if (value.length < 6 || value.length > 20) { pwd_msg.text("密碼的長度不正確"); pwd_msg.attr("class", "error"); return false; } else if (!/^[a-zA-Z0-9]{6,20}$/.test(value)) { pwd_msg.text("密碼輸入不正確"); pwd_msg.attr("class", "error"); return false; } if (!pwd_msg.hasClass("hide")) { pwd_msg.text(""); pwd_msg.attr("class", "hide"); } return true; } // 定義確認密碼驗證的函式 function pwdRepeatValidator() { var value = $("#pwdRepeat").val(); var pwdRepeat_msg = $("#pwdRepeat_msg"); var pwd = $("#password").val(); if (value == "" || value == null) { pwdRepeat_msg.text("密碼不能為空"); pwdRepeat_msg.attr("class", "error"); return false; } else if (value.length < 6 || value.length > 20) { pwdRepeat_msg.text("密碼的長度不正確"); pwdRepeat_msg.attr("class", "error"); return false; } else if (!/^[a-zA-Z0-9]{6,20}$/.test(value)) { pwdRepeat_msg.text("密碼輸入不正確"); pwdRepeat_msg.attr("class", "error"); return false; } else if (value != pwd) { pwdRepeat_msg.text("兩次密碼輸入不一致"); pwdRepeat_msg.attr("class", "error"); return false; } if (!pwdRepeat_msg.hasClass("hide")) { pwdRepeat_msg.text(""); pwdRepeat_msg.attr("class", "hide"); } return true; } // 定義Email驗證的函式 function emailValidator() { var value = $("#mail").val(); var email_msg = $("#mail_msg"); if (value == "" || value == null) { email_msg.text("Email不能為空"); email_msg.attr("class", "error"); return false; } else if (!/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/.test(value)) { email_msg.text("Email格式不正確"); email_msg.attr("class", "error"); return false; } if (!email_msg.hasClass("hide")) { email_msg.text(""); email_msg.attr("class", "hide"); } return true; } function validateForm() { if (!userValidator() || !pwdValidator() || !pwdRepeatValidator() || !emailValidator()) { return false; } return true; } </script> </head> <body> <div class="regist"> <div class="mc"> <form id="personRegForm" class="form" action="login.html" method="post"> <div class="item"> <span class="label">使用者名稱:</span> <div class="input"> <input type="text" id="username" name="username" class="text"> <label id="username_msg" class="hide"></label> </div> </div> <div class="item"> <span class="label">請設定密碼:</span> <div class="input"> <input type="password" id="password" name="password" class="text"> <label id="pwd_msg" class="hide"></label> </div> </div> <div class="item"> <span class="label">請確認密碼:</span> <div class="input"> <input type="password" id="pwdRepeat" name="pwdRepeat" class="text"> <label id="pwdRepeat_msg" class="hide"></label> </div> </div> <div class="item"> <span class="label">驗證郵箱:</span> <div class="input"> <input type="text" id="mail" name="mail" class="text"> <label id="mail_msg" class="hide"></label> </div> </div> <div class="item"> <span class="label"> </span> <input type="submit" class="btn-img" id="registsubmit" value="立即註冊" /> </div> </form> </div> </div> </body> </html>
相關文章
- jQuery登錄檔單驗證程式碼例項jQuery
- js使用者登錄檔單驗證簡單程式碼例項JS
- jquery登陸表單簡單驗證程式碼jQuery
- JQuery登錄檔單jQuery
- jQuery表單驗證簡單程式碼例項jQuery
- sql 注入越過登入驗證例項SQL
- jquery 驗證碼效果程式碼例項jQuery
- cookie儲存使用者登入名和密碼程式碼例項Cookie密碼
- Spring Security 一鍵接入驗證碼登入和小程式登入Spring
- jQuery實現的利用cookie儲存使用者登入資訊程式碼例項jQueryCookie
- jQuery加法驗證碼效果程式碼例項jQuery
- css3實現的使用者登入表單程式碼例項CSSS3
- 登入驗證碼生成kaptcha(輸入驗證碼)APT
- uniapp 完成兩種方式登入 驗證碼登入 密碼登入APP密碼
- jQuery實現的表單註冊驗證程式碼例項jQuery
- 模擬使用者登入,內含驗證碼驗證和request等操作
- Django登入(含隨機生成圖片驗證碼)註冊例項Django隨機
- JWT實現登入認證例項JWT
- JavaScript 表單驗證程式碼例項JavaScript
- thinkphp中create()方法實現簡單的使用者登錄檔單驗證功能PHP
- css 使用者登入表單程式碼CSS
- 關於登入(使用者名稱,密碼,驗證碼)密碼
- oracle使用者登入驗證總結Oracle
- 20151222jquery學習筆記--驗證登錄檔單jQuery筆記
- ajax實現的無重新整理使用者登入例項程式碼
- 驗證手機號碼程式碼簡單程式碼例項
- 使用 jQuery, Angular.js 實現登入介面驗證碼詳解jQueryAngularJS
- 單例模式 – 單例登錄檔與 Spring 實現單例剖析單例模式Spring
- 單例模式 - 單例登錄檔與 Spring 實現單例剖析單例模式Spring
- js驗證表單項是否為空例項程式碼JS
- MySQL登入驗證方式MySql
- JS登入驗證nullJSNull
- python驗證登入Python
- oracle中使用者登入的驗證方法Oracle
- tornado登陸豆瓣程式碼例項
- app直播原始碼,登入時輸入驗證碼、簡訊驗證身份APP原始碼
- 表單驗證手機號碼格式例項程式碼
- 手機驗證碼登入原理、風險和應對策略