註冊頁面校驗

【JavaScript小項目】用戶註冊校驗

  • 2020 年 2 月 13 日
  • 筆記

思路分析

  1. 校驗欄位:
    • 手機號
    • 密碼
    • Email
    • 用戶名
    • 性別
    • 出生日期
    • 驗證碼
  2. 校驗手段:
    • 正則表達式判斷
    • 長度判斷

程式碼實現

<!DOCTYPE html>  <html>        <head>          <meta charset="UTF-8">          <title>註冊頁面校驗</title>      </head>      <script>          var flag = true;            // 校驗手機號          function checkNum() {              // 獲取用戶輸入的內容              var num = document.getElementById("username").value;              // 定義正則表達式              var reg = new RegExp("^1[3456789]\d{9}$");              // 校驗手機號              var result = reg.test(num);                if(result) {                  document.getElementById("username_msg").innerHTML = "";              } else {                  document.getElementById("username_msg").innerHTML = "您輸入的手機號有誤,請檢查";                  flag = false;              }          }          // 校驗密碼          function checkPsw() {              var password = document.getElementById("password").value                if(password.length >= 6) {                  document.getElementById("password_msg").innerHTML = "";              } else {                  document.getElementById("password_msg").innerHTML = "密碼長度至少為6位";                  flag = false;              }          }          // 校驗重複密碼          function checkrePsw() {              var password = document.getElementById("repassword").value                if(password.length >= 6) {                  document.getElementById("repassword_msg").innerHTML = "";              } else {                  document.getElementById("repassword_msg").innerHTML = "密碼長度至少為6位";                  // 如果密碼長度校驗失敗,後續的邏輯就不需要再執行了                  flag = false;                  return;              }              // 比對兩次密碼              var psw = document.getElementById("password").value              if(psw == password) {                  document.getElementById("repassword_msg").innerHTML = "";              } else {                  document.getElementById("repassword_msg").innerHTML = "兩次密碼不一致,請檢查";                  flag = false;              }          }            function checkEmail() {              // 1111 @ qq .com .cn              // 英文字元數字-_,至少是1位              // .英文字元數字-_,至少是1位              // ([.][a-zA-Z0-9-_]+)+              // 獲取用戶輸入的內容              var email = document.getElementById("email").value;              // 定義正則表達式              var reg = new RegExp("^[a-zA-Z0-9-_]+@[a-zA-Z0-9-_]+([.][a-zA-Z0-9-_]+)+$");              // 校驗手機號              var result = reg.test(email);                if(result) {                  document.getElementById("email_msg").innerHTML = "";              } else {                  document.getElementById("email_msg").innerHTML = "您輸入的郵箱有誤,請檢查";                  flag = false;              }          }            function checkUserName() {              var usr = document.getElementById("name").value;              if(usr.length >= 5) {                  document.getElementById("name_msg").innerHTML = "";              } else {                  document.getElementById("name_msg").innerHTML = "用戶名長度至少5位";                  flag = false;              }          }            function checkCode() {              var usr = document.getElementById("checkcode").value;              if(usr.length >= 4) {                  document.getElementById("checkcode_msg").innerHTML = "";              } else {                  document.getElementById("checkcode_msg").innerHTML = "驗證碼錯誤";                  flag = false;              }          }            function checkForm() {              flag = true;              checkNum();              checkPsw();              checkrePsw();              checkEmail();              checkUserName();              checkCode();                return flag;          }      </script>        <body>          <form onsubmit="return checkForm()">              <table width="60%" height="90%" align="center" bgcolor="#FF88FF">                  <tr>                      <td colspan="3">會員註冊  USER REGISTER</td>                  </tr>                  <tr>                      <td width="20%">手機號:</td>                      <td width="40%"><input type="text" name="username" id="username" onblur="checkNum()"></td>                      <td width="40%"><span id="username_msg"></span></td>                  </tr>                  <tr>                      <td>密碼:</td>                      <td><input type="password" name="password" id="password" onblur="checkPsw()"></td>                      <td><span id="password_msg"></span></td>                  </tr>                  <tr>                      <td>確認密碼:</td>                      <td><input type="password" name="repassword" id="repassword" onblur="checkrePsw()"></td>                      <td><span id="repassword_msg"></span></td>                  </tr>                  <tr>                      <td>Email:</td>                      <td><input type="text" name="email" id="email" onblur="checkEmail()"></td>                      <td><span id="email_msg"></span></td>                  </tr>                  <tr>                      <td>用戶名:</td>                      <td><input type="text" name="name" id="name" onblur="checkUserName()"></td>                      <td><span id="name_msg"></span></td>                  </tr>                  <tr>                      <td>性別:</td>                      <td>                          <input type="radio" name="sex" value="男" checked="checked"> 男                          <input type="radio" name="sex" value="女" />女                      </td>                  </tr>                  <tr>                      <td>出生日期</td>                      <td>                          <input type="date" name="birthday" id="birthday">                      </td>                      <td><span id="birthday_msg"></span></td>                  </tr>                  <tr>                      <td>驗證碼</td>                      <td>                          <input type="text" name="checkcode" id="checkcode" onblur="checkCode()">                      </td>                      <td><span id="checkcode_msg"></span></td>                  </tr>                  <tr>                      <td colspan="2">                          <input type="submit" value="註冊" />                      </td>                  </tr>              </table>          </form>      </body>    </html>  

效果展示

參考

  • 黑馬程式設計師 120天全棧區塊鏈開發 開源教程 https://github.com/itheima1/BlockChain


一番霧語:JavaScript小項目。

Tags: