1. 程式人生 > 程式設計 >JS簡單表單驗證功能完整示例

JS簡單表單驗證功能完整示例

本文例項講述了JS簡單表單驗證功能。分享給大家供大家參考,具體如下:

簡單js表單驗證demo

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
  <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  <title>Document</title>
  <script>
    //當用戶名獲取焦點時
    function focus_username(){
      document.getElementById("user_res").innerHTML="<font color='#f00'>請輸入使用者名稱</font>";
    }
    //當用戶名失去焦點時
    function blur_username(){
      var user_value=document.getElementsByName("username")[0].value;
      if(user_value.length===0){
      document.getElementById("user_res").innerHTML="<font color='#f00'>你沒有輸入使用者名稱</font>";
          return false;
          //判斷其長度是否在5~18之間 如果不在就提示使用者
      }else if(user_value.length<5||user_value.length>18)
      {
      document.getElementById("user_res").innerHTML="<font color='#f00'>使用者名稱長度必須在5-18之間</font>";
          return false;
      }else if(!checkUser(user_value)){
        //使用者名稱還有特殊符號
      document.getElementById("user_res").innerHTML="<font color='#f00'>使用者名稱含有特殊符號</font>";
          return false;
      }else{
        //使用者名稱合法
      document.getElementById("user_res").innerHTML="<font color='#00f'>使用者名稱合法</font>";
          return true;
      }
    }
    //密碼獲取焦點時
    function focus_password(){
      document.getElementById("pass_res").innerHTML="<font color='#f00'>請輸入密碼</font>";
    }
    //密碼失去焦點時
    function blur_password(){
      var user_value=document.getElementsByName("password")[0].value;
      if(user_value.length===0){
      document.getElementById("pass_res").innerHTML="<font color='#f00'>你沒有輸入密碼</font>";
          return false;
          //判斷其長度是否在5~18之間 如果不在就提示使用者
      }else if(user_value.length<5||user_value.length>18)
      {
      document.getElementById("pass_res").innerHTML="<font color='#f00'>用密碼長度必須在5-18之間</font>";
          return false;
      }else{
        //密碼合法
      document.getElementById("pass_res").innerHTML="<font color='#00f'>密碼合法</font>";
          return true;
      }
    }
     function checkUser(user){
      var arr=["<",">","#","?","%"];
      var arr_length=arr.length;
      var user_length=user.length;
      for(var i=0;i<arr_length;i++){
        for(var j=0;j<user_length;j++){
          if(arr[i]===user.charAt(j)){
            return false;
          }
        }
      }
      //表示使用者名稱合法
       return true;
     }
     //提交提交表單驗證
     function checkForm(){
      var user_flag=blur_username();
      var pass_flag=blur_password();
      if(user_flag && pass_flag){
        alert("提交合法表單");
         return true;
      }else{
        alert("輸入不合法");
        return false;
      }
     }
  </script>
</head>
<body>
                          <!--action 引數自定義跳轉頁面-->
  <form name='form1' onsubmit='return checkForm()' action='index.php'>
    <table width='600' align='center'>
      <tr>
        <td align='right' width='150'>使用者名稱:</td>
        <td width='100'><input type='text' name='username' onfocus='focus_username()' onblur = 'blur_username()'/></td>
        <td><span id="user_res"></span></td>
      </tr>
      <tr>
        <td align='right' width='100'>密碼:</td>
        <td width='100'><input type='password' name='password' onfocus='focus_password()' onblur = 'blur_password()'/></td>
        <td><span id="pass_res"></span></td>
      </tr>
      <tr>
        <td></td>
        <td><input type='submit' value='提交' /></td>
      </tr>
    </table>
  </form>
</body>
</html>

執行結果:

PS:這裡再為大家提供2款非常方便的正則表示式工具供大家參考使用:

JavaScript正則表示式線上測試工具:
http://tools.jb51.net/regex/javascript

正則表示式線上生成工具:
http://tools.jb51.net/regex/create_reg

更多關於JavaScript相關內容感興趣的讀者可檢視本站專題:《JavaScript正則表示式技巧大全》、《JavaScript表單(form)操作技巧大全》、《JavaScript資料結構與演算法技巧總結》、《JavaScript錯誤與除錯技巧總結》及《JavaScript數學運算用法總結》

希望本文所述對大家JavaScript程式設計有所幫助。