js使用者登錄檔單驗證簡單程式碼例項
分享一段程式碼例項,它實現了使用者註冊效果的驗證。
比如對使用者名稱長度驗證、對於密碼格式的驗證,總體還是很簡單的。
關於表單驗證建議使用’Validate外掛,具體可以參閱jQuery Validate教程板塊。
程式碼例項:
[HTML] 純文字檢視 複製程式碼<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style> * { margin: 0; padding: 0; } body { font-size: 20px; } #allcontent { width: 1024px; padding: 15px; margin: 100px auto 0; border: 1px dashed orange; } p { display: inline; margin-left: 10px; } #count { visibility: hidden; margin-left: 83px; } #em { background: orange; width: 153px; margin: 3px 0 7px 60px; } em { opacity: 0.2; display: inline-block; width: 51px; text-align: center; } em:first-child { background: orange; opacity: 1; } .active { background: orange; opacity: 1; } </style> <script> function getLength(str) { // \x00-xff代表單位元組字元。 return str.replace(/[^\x00-\xff]/g, "xx").length; } function findStr(str, n) { var tmp = 0; for (var i = 0; i < str.length; i++) { if (str.charAt(i) == n) { tmp++; } } return tmp; } window.onload = function() { var aInput = document.getElementsByTagName('input'); var oName = aInput[0]; var pwd = aInput[1]; var pwd2 = aInput[2]; var aP = document.getElementsByTagName('p'); var name_msg = aP[0]; var pwd_msg = aP[1]; var pwd2_msg = aP[2]; var count = document.getElementById('count'); var aEm = document.getElementsByTagName('em'); var name_length = 0; //會員名 oName.onfocus = function() { name_msg.style.display = "inline"; name_msg.innerHTML = "<i class=‘ati’></i>5-25個字元,一個漢字為兩個字元,推薦使用中文會員名。"; } oName.onkeyup = function() { count.style.visibility = "visible"; name_length = getLength(this.value); count.innerHTML = name_length + "個字元"; if (name_length == 0) { count.style.visibility = "hidden"; } } oName.onblur = function() { //含有非法字元 var reg = /[^\w\u4e00-\u9fa5]/g; // \w代表“數字、字母(不分大小寫)、下劃線”,\u4e00-\u9fa5代表漢字。 if (reg.test(this.value)) { name_msg.innerHTML = '<i class="err"></i>含有非法字元!'; alert(reg.test(this.value)); } //不能為空 else if (this.value == "") { name_msg.innerHTML = "<i class='err'></i>不能為空!"; } //長度超過25個字元 else if (name_length > 25) { name_msg.innerHTML = "<i class='err'></i>長度超過25個字元!"; } //長度少於6個字元 else if (name_length < 6) { name_msg.innerHTML = "<i class='err'></i>長度少於6個字元!"; } //OK else { name_msg.innerHTML = "<i class='err'></i>OK!"; count.style.visibility = "hidden"; } } //密碼 pwd.onfocus = function() { pwd_msg.style.display = "inline"; pwd_msg.innerHTML = '<i class="ati"></i>6-16個字元,請使用字母加數字或符號的組合密碼,不能單獨使用字母、數字或符號。' } pwd.onkeyup = function() { //大於5字元為“中” if (this.value.length > 5) { aEm[1].className = "active"; pwd2.removeAttribute("disabled"); pwd2_msg.style.display = "inline"; } else { aEm[1].className = ""; pwd2.setAttribute("disabled"); pwd2_msg.style.display = "none"; } //大於10字元為“強” if (this.value.length > 10) { aEm[2].className = "active"; } else { aEm[2].className = ""; } } pwd.onblur = function() { var m = findStr(pwd.value, pwd.value[0]); var reg_n = /[^\d]/g; var reg_c = /[^a-zA-Z]/g; //不能為空 if (this.value == "") { pwd_msg.innerHTML = '<i class="err"></i>不能為空!'; } //不能用相同字元 else if (m == this.value.length) { pwd_msg.innerHTML = '<i class="err"></i>不能用相同字元!'; alert(m); } //長度應為6-16個字元 else if (this.value.length < 6 || this.value.length > 16) { pwd_msg.innerHTML = '<i class="err"></i>長度應為6-16個字元!'; } //不能全為數字, else if (!reg_n.test(this.value)) { pwd_msg.innerHTML = '<i class="err"></i>不能全為數字!'; } //不能全為字母 else if (!reg_c.test(this.value)) { pwd_msg.innerHTML = '<i class="err"></i>不能全為字母!'; } //OK else { pwd_msg.innerHTML = '<i class="ok"></i>OK!'; } } //確認密碼 pwd2.onblur = function() { if (this.value != pwd.value) { pwd2_msg.innerHTML = '<i class="err"></i>兩次輸入的密碼不一致!'; alert(this.value != pwd.value); } else { pwd2_msg.innerHTML = '<i class="ok"></i>OK!'; } } } </script> </head> <body> <form id="allcontent"> <div> <label> <b>會員名:</b> <input type="text"> </label> <p>5-25個字元,一個漢字為兩個字元,推薦使用中文會員名。</p> </div> <div id="count">0個字元</div> <div> <label> <b>密碼:</b> <input type="text"> </label> <p>6-16個字元,請使用字母加數字或符號的組合密碼,不能單獨使用字母、數字或符號。</p> </div> <div id="em"> <em>弱</em> <em>中</em> <em>強</em> </div> <div> <label> <b>確認密碼:</b> <input type="text" disabled> </label> <p></p> </div> </form> </body> </html>
相關文章
- jQuery登錄檔單驗證程式碼例項jQuery
- jQuery使用者登入和登錄檔單驗證程式碼例項jQuery
- jQuery表單驗證簡單程式碼例項jQuery
- 驗證手機號碼程式碼簡單程式碼例項
- js驗證表單項是否為空例項程式碼JS
- js解析xml檔案簡單程式碼例項JSXML
- jquery登陸表單簡單驗證程式碼jQuery
- JavaScript 表單驗證程式碼例項JavaScript
- javascript實現的簡單驗證碼效果程式碼例項JavaScript
- js選項卡簡單程式碼例項JS
- thinkphp中create()方法實現簡單的使用者登錄檔單驗證功能PHP
- js map集合簡單程式碼例項JS
- JSON簡單格式程式碼例項JSON
- js簡單日曆效果程式碼例項JS
- js簡單的留言功能程式碼例項JS
- js簡單摺紙效果程式碼例項JS
- javascript使用cookie記錄使用者資訊簡單程式碼例項JavaScriptCookie
- Angularjs製作簡單的路由功能簡單程式碼例項AngularJS路由
- 表單驗證手機號碼格式例項程式碼
- js prototype原型應用簡單例項程式碼JS原型單例
- js讀寫二進位制檔案簡單程式碼例項JS
- HTML5自帶表單驗證程式碼例項HTML
- node.js [superAgent]請求簡單程式碼例項Node.js
- jQuery實現的簡單投票簡單程式碼例項jQuery
- jQuery實現的表單註冊驗證程式碼例項jQuery
- js微信視窗關閉事件簡單程式碼例項JS事件
- js自定義回撥函式簡單程式碼例項JS函式
- js簡單時間日期格式化程式碼例項JS
- js簡單富文字編輯器效果程式碼例項JS
- js實現的字串簡單編碼和解碼程式碼例項JS字串
- 單例模式 – 單例登錄檔與 Spring 實現單例剖析單例模式Spring
- 單例模式 - 單例登錄檔與 Spring 實現單例剖析單例模式Spring
- javascript閉包簡單程式碼例項JavaScript
- javascript作用域簡單例項程式碼JavaScript單例
- JavaScript 動畫效果簡單例項程式碼JavaScript動畫單例
- css簡單水平導航選單程式碼例項CSS
- 焦點離開立刻進行表單驗證程式碼例項
- js自定義實現的簡單編碼和解碼程式碼例項JS