最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaWeb表單及時驗證功能在輸入后立即驗證(含用戶類型,性別,愛好...的驗證)

 更新時間:2017年06月09日 11:20:35   作者:水山奇  
最近做項目遇到表單在輸入后立即驗證,而不是提交后再驗證,在網(wǎng)上找了下資料,沒有合適的,于是我自己動手寫了一個,分享到腳本之家平臺,供大家參考

問題:表單怎么在輸入后立即驗證,而不是提交后再驗證那么不方便(網(wǎng)上搜到的要么是模棱兩可,要么是殘缺不全…)

方法:鑒于此,加上我個人的理解(注釋)在上面。

截圖:

這里寫圖片描述

代碼:

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>用戶注冊</title>
<!-- 此處引用外部css樣式 -->
<link rel="stylesheet" href="css/style.css" rel="external nofollow" />
  <script type="text/javascript">
  //及時驗證用戶名
  function checkuse(){
     //在每個函數(shù)中定義check變量是為了在表單提交后,能夠逐個驗證每個函數(shù)是否通過,很好很好。(以下同理)
     var check; 
     var username = document.getElementById("username").value; 
     if (username.length > 18 || username.length < 6) { 
       alert("用戶名輸入不合法,請重新輸入!");
       //此處甚妙,既然你在此處輸入錯誤,那么按理說當(dāng)然要在此處繼續(xù)輸入了。(在此處繼續(xù)獲取焦點?。?
       document.getElementById("username").focus();
       check = false; 
      } else { 
       document.getElementById("checktext1").innerHTML = "* 用戶名由6-18位字符組成 √"; 
       check = true; 
      } 
      return check; 
    } 
  //利用正則表達(dá)式判斷密碼符合否
  function checkpwd() { 
    var check; 
    var reg = /[^A-Za-z0-9_]+/;
    var regs = /^[a-zA-Z0-9_\u4e00-\u9fa5] + $ /;
    var password = document.getElementById("password").value; 
    if (password.length < 6 || password.length > 18 || regs.test(password)) { 
      alert("密碼輸入不合法,請重新輸入!");
      document.getElementById("password").focus();
      check = false; 
    } else { 
      document.getElementById("checktext2").innerHTML = "* 密碼由6-18位字符組成,且必須包含字母、數(shù)字和標(biāo)點符號 √"; 
      check = true; 
    } 
    return check; 
  } 
  //驗證密碼是否不一致!
  function checkpwdc() { 
    var check; 
    var password = document.getElementById("password").value; 
    var pwdc = document.getElementById("pwdc").value; 
    if (password != pwdc) { 
      alert("兩次輸入密碼不一致,請重新輸入!");
      document.getElementById("pwdc").focus();
      check = false; 
    } else { 
      document.getElementById("checktext3").innerHTML = "* 請再次輸入你的密碼 √"; 
      check = true; 
    } 
    return check; 
  }
  //提交時驗證用戶類別
  function checkut(){
    var check; 
    if(document.getElementById("selUser").selectedIndex == 0)
      {
        alert("請選擇用戶類型!");
        document.getElementById("selUser").focus();
        check = false; 
      }else{
        document.getElementById("checktext4").innerHTML = "* 請選擇用戶類型 √"; 
        check = true; 
      }
    return check;  
  }
  //提交時驗證用戶性別
  function checkGender(){
    var check; 
    var gender = "";
    //獲取所有名稱為sex的標(biāo)簽
    var sex = document.getElementsByName("sex");
    //遍歷這些名稱為sex的標(biāo)簽
    for(var i=0;i<sex.length;++i){
      //如果某個sex被選中,則記錄
      if(sex[i].checked)
        gender = sex[i].value;   
    }
    if(gender == "")
      {
        alert("請選擇性別!");
        check = false;
      }else{
        document.getElementById("checktext5").innerHTML = "* 請選擇你的性別 √"; 
        check = true; 
      }  
    return check;
  }
  //及時驗證出生日期
  function checkDate(){
    var check; 
    if(document.getElementById("txtDate").value ==""){
       alert("請?zhí)顚懗錾掌冢?);
       document.getElementById("txtDate").focus();
       check = false;
      }else{
        document.getElementById("checktext6").innerHTML = "* 請選擇你的出生日期 √"; 
        check = true;
      }
    return check;
  }
  //及時驗證興趣愛好
  function checkHobby(){
    var check; 
    var hobby = 0;
    //objNum為所有名稱為hobby的input標(biāo)簽
    var objNum = document.getElementsByName("hobby");
    //遍歷所有hobby標(biāo)簽
    for(var i=0;i<objNum.length;++i){
      //判斷某個hobby標(biāo)簽是否被選中
      if(objNum[i].checked==true)
        hobby++;
    }  
    //如果有選中的hobby標(biāo)簽
    if(hobby >=1){
      document.getElementById("checktext7").innerHTML = "* 請選擇你的興趣愛好 √";     
      check = true;
    }else{
      alert("請?zhí)顚憪酆茫?);
      check = false;
    }
    return check;  
  }
  //正則表達(dá)式驗證電子郵件(及時)
  function checkemail(){
    var check; 
    //電子郵件的正則表達(dá)式
    var e1 = document.getElementById("email").value.indexOf("@",0);
    var e2 = document.getElementById("email").value.indexOf(".",0);
    if(email == "" || (e1==-1 || e2==-1) || e2<e1 )
    {
      alert("E_mail輸入錯誤!");
      document.getElementById("email").focus();
      check = false;
    } else { 
      document.getElementById("checktext8").innerHTML = "* 請?zhí)顚懗S玫腅MAIL,將用于密碼找回 √"; 
      check = true; 
    } 
    return check; 
  } 
  //及時驗證自我介紹
  function checkintro(){
    var check;  
    var intro = document.getElementById("introduction").value; 
    if (intro.length > 100) { 
     alert("字?jǐn)?shù)超限!"); 
     check = false; 
    } else { 
     document.getElementById("checktext9").innerHTML = "* 限100字內(nèi) √";
     document.getElementById("checktext9").focus();
     check = true; 
    } 
    return check; 
  } 
  //提交表單時所有都驗證一遍(若任何一個驗證不通過,則返回為false,阻止表單提交)
  function check() { 
    var check = checkuse() && checkpwd() && checkpwdc() && checkut() && checkGender() && checkDate() && checkHobby()
     && checkemail() &&checkintro(); 
    return check;  
  } 
  </script>
</head>
<body >
<!-- <form action ="跳轉(zhuǎn)頁面" method ="get"|"post" name ="表單名稱" target ="打開方式" enctype="multipart/form-data" > -->
<!-- onsubmit()函數(shù)在返回值為true時提交表單。 -->
<form action="#" method="get" onsubmit="return check()" >
<fieldset>
<legend>
 表單及時驗證小例子
</legend>
<table align="left" style="background-image: url('img/4.jpg');" >
  <tr>
   <td>用戶名:</td>
   <td><input type="text" name="username" id="username" onchange=" checkuse()" /></td>
   <td id="checktext1">* 用戶名由6-18位字符組成</td>
  </tr>
  <!-- onblur 事件處理程序:當(dāng)元素或窗口失去焦點時觸發(fā)該事件 -->
  <!-- onchange事件處理程序:當(dāng)表單元素獲取焦點,并且內(nèi)容發(fā)生改變時,觸發(fā)該事件 -->
  <!-- 以下同理 -->
  <tr>
   <td>密碼:</td>
   <td><input type="password" name="password" id="password" onchange="checkpwd()" /></td>
   <td id="checktext2">* 密碼由6-18位字符組成,且必須包含字母、數(shù)字和標(biāo)點符號</td>
  </tr>
  <tr>
   <td>確認(rèn)密碼:</td>
   <td><input type="password" name="pwdc" id="pwdc" onchange="checkpwdc()" /></td>
   <td id="checktext3">* 請再次輸入你的密碼</td>
  </tr>
  <tr>
   <td>用戶類型:</td>
   <td>
     <select id="selUser" onblur="checkut()">
       <option name="selUser" value="0">請選擇</option>
       <option name="selUser" value="1">管理員</option>
       <option name="selUser" value="2">普通用戶</option>   
     </select>
   </td>
   <td id="checktext4">* 請選擇用戶類型</td>
  </tr>
  <tr>
   <td>性別:</td>
   <td>
     <input type="radio" value="1" name="sex" onchange="checkGender()"/>男
     <input type="radio" value="2" name="sex" onchange="checkGender()"/>女
   </td>
   <td id="checktext5">* 請選擇你的性別</td>
  </tr>
  <tr>
   <td>出生日期:</td>
   <td><input type="date" name="date" id="txtDate" onblur="checkDate()"/></td>
   <td id="checktext6">* 請選擇你的出生日期</td>
  </tr>
  <tr>
   <td>興趣愛好:</td>
   <td>
     <input type="checkbox" name="hobby" value="reading" onchange="checkHobby()">閱讀
     <input type="checkbox" name="hobby" value="music" onchange="checkHobby()">音樂
     <input type="checkbox" name="hobby" value="sports" onchange="checkHobby()">運動
   </td>
   <td id="checktext7">* 請選擇你的興趣愛好</td>
  </tr>
  <tr>
   <td>電子郵件:</td>
   <td><input type="text" name="email" id="email" onchange="checkemail()"/></td>
   <td id="checktext8">* 請?zhí)顚懗S玫腅MAIL,將用于密碼找回</td>
  </tr>
  <tr>
   <td>自我介紹:</td>
   <td><textarea cols="30" rows="3" name="introduction" id="introduction" onchange="checkintro()">這是自我介紹...</textarea></td>
   <td id="checktext9">* 限100字內(nèi)</td>
  </tr>
  <tr>
   <td colspan="2" align="center">
     <input type="submit" name="submit" value="提交" />
     <input type="reset" name="reset" value="重置" />
   </td>
  </tr>
</table>
</fieldset>
</form>
</body>
</html>

CSS樣式:

 input:focus,textarea:focus{
    border:1px solid #f00;
    background:#fcc;
  }
  textarea{
    width:230px;
    height:50px;
  }
  body
  {
    font-size:15px;
    /* 字體的樣式 */
    font-family:Microsoft YaHei;  
  }
  select option{
    font-size:10px;
    font-family:Microsoft YaHei;
  }

以上所述是小編給大家介紹的JavaWeb表單及時驗證功能在輸入后立即驗證(含用戶類型,性別,愛好...的驗證),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • JS實現(xiàn)蘋果計算器

    JS實現(xiàn)蘋果計算器

    這篇文章主要為大家詳細(xì)介紹了JS實現(xiàn)蘋果計算器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-04-04
  • 原生js實現(xiàn)倒計時--2018

    原生js實現(xiàn)倒計時--2018

    本文主要介紹了原生js實現(xiàn)倒計時--2018的示例代碼,具有很好的參考價值,下面跟著小編一起來看下吧
    2017-02-02
  • JS實現(xiàn)的數(shù)組全排列輸出算法

    JS實現(xiàn)的數(shù)組全排列輸出算法

    這篇文章主要介紹了JS實現(xiàn)的數(shù)組全排列輸出算法,實例分析了全排列的原理與相關(guān)的javascript實現(xiàn)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-03-03
  • bootstrap multiselect下拉列表功能

    bootstrap multiselect下拉列表功能

    這篇文章主要為大家詳細(xì)介紹了bootstrap multiselect下拉列表功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • JavaScript?Array.from及其相關(guān)用法詳解(示例演示)

    JavaScript?Array.from及其相關(guān)用法詳解(示例演示)

    Array.from方法是ES6引入的一個靜態(tài)方法,用于從類數(shù)組對象或可迭代對象創(chuàng)建一個新的數(shù)組實例,本文將詳細(xì)介紹Array.from的基本用法、實際場景中的應(yīng)用,以及它如何與其他JavaScript特性相結(jié)合提升代碼的簡潔性和可讀性,感興趣的朋友一起看看吧
    2025-03-03
  • 淺析JavaScript定時器setTimeout的時延問題

    淺析JavaScript定時器setTimeout的時延問題

    這篇文章主要為大家詳細(xì)介紹了JavaScript中定時器setTimeout有最小時延的相關(guān)知識,文中的示例代碼簡潔易懂,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-11-11
  • JavaScript實現(xiàn)前端網(wǎng)頁版倒計時

    JavaScript實現(xiàn)前端網(wǎng)頁版倒計時

    這篇文章主要為大家詳細(xì)介紹了JavaScript實現(xiàn)前端網(wǎng)頁版倒計時,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-03-03
  • JS獲取鼠標(biāo)選中的文字

    JS獲取鼠標(biāo)選中的文字

    下面是小編給大家分享的js獲取鼠標(biāo)選中的文字和js獲取鼠標(biāo)選中的值關(guān)鍵代碼,大家如果有需要可以參考下
    2016-08-08
  • js實現(xiàn)簡易購物車功能

    js實現(xiàn)簡易購物車功能

    這篇文章主要為大家詳細(xì)介紹了js實現(xiàn)簡易購物車功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • js實現(xiàn)新年倒計時效果

    js實現(xiàn)新年倒計時效果

    這篇文章主要介紹了js實現(xiàn)2015年新年倒計時效果,很快就要迎接新的一年,想知道距離2016還有多少天嗎?大家可以參考一下這篇文章
    2015-12-12

最新評論

藁城市| 沐川县| 昌图县| 辰溪县| 莫力| 保亭| 柳林县| 五莲县| 哈密市| 三亚市| 镇平县| 扎兰屯市| 饶河县| 罗定市| 巴中市| 呼图壁县| 龙游县| 墨脱县| 白山市| 景德镇市| 开江县| 康马县| 富顺县| 柳江县| 江孜县| 蒙山县| 绩溪县| 阿拉尔市| 汶川县| 吴川市| 织金县| 喀喇沁旗| 讷河市| 巴彦淖尔市| 峨边| 武穴市| 清徐县| 琼结县| 长治市| 奎屯市| 河西区|