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

JavaScript表單驗(yàn)證示例詳解

 更新時(shí)間:2021年10月04日 10:38:57   作者:軟件開發(fā)技術(shù)學(xué)習(xí)實(shí)踐愛好者  
這篇文章主要為大家詳細(xì)介紹了JavaScript表單驗(yàn)證示例,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

HTML表單(form)通常用于收集用戶信息,例如姓名,電子郵件地址,位置,年齡等。

但是很可能某些用戶可能不會(huì)輸入您期望的數(shù)據(jù)。HTML表單驗(yàn)證可以通過JavaScript完成。

為了避免對(duì)服務(wù)器資源造成不必要的壓力,您可以使用JavaScript在客戶端(用戶系統(tǒng))上驗(yàn)證表單數(shù)據(jù),不正確的信息是不會(huì)提交給后臺(tái)服務(wù)器的——這是所謂客戶端驗(yàn)證。本文將介紹這種驗(yàn)證

表單驗(yàn)證一般分為兩種方式。

客戶端驗(yàn)證:直接在客戶端執(zhí)行JS進(jìn)行驗(yàn)證,驗(yàn)證的過程中和服務(wù)器端沒有任何的交互

服務(wù)器端驗(yàn)證:頁面將驗(yàn)證信息傳回服務(wù)器端,服務(wù)器端進(jìn)行驗(yàn)證,并將驗(yàn)證的結(jié)果發(fā)送回客戶端

這兩個(gè)驗(yàn)證都是必須的,因?yàn)榭蛻舳说尿?yàn)證安全性不是太高,但是可以防止80%以上的用戶的誤操作,可以減輕服務(wù)器端的壓力,而且速度非???,用戶體驗(yàn)高。不要以為有了客戶端的驗(yàn)證就不需要了服務(wù)器端的了,客戶端的驗(yàn)證是很容易繞過去的,服務(wù)器端驗(yàn)證安全性比較高,所以一般驗(yàn)證兩個(gè)驗(yàn)證都需要寫?!?/p>

例1、一個(gè)簡單示例

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>表單驗(yàn)證簡單示例</title>
</head>
<head>
<script>
function validateForm(){
var x=document.forms["myForm"]["fname"].value;
if (x==null || x==""){
  //alert("姓名必須填寫");
  usernameerror.innerHTML="<font color='red'>姓名必須填寫</font>";
  return false;
  }
else{
  usernameerror.innerHTML="正確";
  return true;
  }  
 
}
</script>
</head>
<body>
<!-- 
<form name="myForm" action="demo-form.php" onsubmit="return validateForm()" method="post">
-->
<form name="myForm" onsubmit="return validateForm()" >
姓名: <input type="text" name="fname" id="username">
<span id="usernameerror"></span>
<br>
<input type="submit" value="提交">
<input type="reset" value="重置">
</form>
 
</body>
</html>

保存文件名為:表單驗(yàn)證的例1.html

用瀏覽器運(yùn)行測(cè)試之,效果如下:

例2、一個(gè)復(fù)雜點(diǎn)的示例

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>表單驗(yàn)證示例注冊(cè)用戶</title>
  
  <style type="text/css">
  </style>
 
  <script>
    function checkusername()
    {
      var myform = document.getElementById("form1");
      var username = myform.username.value.length;
      if(username < 1||username>12)
      {
        errusername.innerHTML = "<font color='red'>用戶名不符合要求</font>";
        return false;
      }else{
        errusername.innerHTML = "<font color='green'>用戶名符合要求</font>";
        return true;
      }
    }
    function checkage()
    {
      var myform = document.getElementById("form1");
      var age = myform.age.value;
      if(age != parseInt(age))
      {
        errage.innerHTML = "<font color='red'>年齡不符合要求</font>";
        return false;
      }else{
        errage.innerHTML = "<font color='green'>年齡符合要求</font>";
        return true;
      }
    }
    function checkemail()
    {
      var myform = document.getElementById("form1");
      var mail=/^[A-Za-z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/;
      if(!mail.test(myform.email.value))
      {  
        erremail.innerHTML = "<font color='red'>email不符合要求</font>";
        return false;
      }else{
        erremail.innerHTML = "<font color='green'>email符合要求</font>";
        return true;
      }
    }
    function checkform()
    {
      checkusername();checkage();checkemail();
      if(checkusername()&&checkage()&&checkemail())
      {
        return true;  
      }else{
        return false;
      }
    }
  </script>
</head>
 
<body>
<!--
 <form id="form1" name="form1" method="post" action="ttt.jsp" onsubmit="return checkform()">
-->
 
 <form id="form1" name="form1" method="post" onsubmit="return checkform()">
<table width="777" border="0" cellpadding="1" cellspacing="1">
 <tr>
  <td colspan="3" ><div align="center">請(qǐng)輸入你的注冊(cè)信息</div></td>
 </tr>
 <tr>
  <td width="250" ><div align="right" >請(qǐng)輸入你的用戶名:</div></td>
  <td width="250"><div align="center">
     <input type="text" name="username" onblur="checkusername()" />  
   </div></td>
  <td><div id="errusername" align="center"></div></td>
 </tr>
 <tr>
  <td width="250"><div align="right">請(qǐng)輸入你的年齡:</div></td>
  <td width="250"><div align="center" >
   <label>
   <input type="text" name="age" onblur="checkage()"/>
   </label>
  </div></td>
   <td><div align="center" id="errage"></div></td>
 </tr>
 <tr>
  <td width="250"><div align="right" >請(qǐng)輸入你的EMAIL:</div></td>
  <td width="250"><div align="center" >
   <label>
   <input type="text" name="email" onblur="checkemail()" />
   </label>
  </div></td>
   <td><div align="center" id="erremail"></div></td>
 </tr>
 <tr>
  <td><div align="right">
   <label>
   <input type="submit" name="Submit" value="提交" />
   </label>
  </div></td>
   <td><div align="center">
    <label>
    <input type="reset" name="Submit2" value="重置" />
    </label>
   </div></td>
  <td><div align="center"></div></td>
 </tr>
</table>
 
</form>
 
</body>
</html>

保存文件名為:表單驗(yàn)證的例1.html

用瀏覽器運(yùn)行測(cè)試之,效果如下:

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • JS實(shí)現(xiàn)帶提示的星級(jí)評(píng)分效果完整實(shí)例

    JS實(shí)現(xiàn)帶提示的星級(jí)評(píng)分效果完整實(shí)例

    這篇文章主要介紹了JS實(shí)現(xiàn)帶提示的星級(jí)評(píng)分效果,以完整實(shí)例形式較為詳細(xì)的分析了JavaScript響應(yīng)鼠標(biāo)事件動(dòng)態(tài)變換頁面元素樣式的相關(guān)技巧,非常簡單實(shí)用的代碼,需要的朋友可以參考下
    2015-10-10
  • JavaScript 實(shí)現(xiàn)生命游戲

    JavaScript 實(shí)現(xiàn)生命游戲

    這篇文章主要介紹了JavaScript 實(shí)現(xiàn)生命游戲的示例步驟,幫助大家更好的理解和學(xué)習(xí)使用JavaScript,感興趣的朋友可以了解下
    2021-04-04
  • 微信小程序訂閱消息(java后端實(shí)現(xiàn))開發(fā)

    微信小程序訂閱消息(java后端實(shí)現(xiàn))開發(fā)

    這篇文章主要介紹了微信小程序訂閱消息(java后端實(shí)現(xiàn))開發(fā),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • JavaScrip中window.dispatchEvent的原理和使用具體實(shí)例

    JavaScrip中window.dispatchEvent的原理和使用具體實(shí)例

    window.dispatchEvent是JavaScript中用于手動(dòng)觸發(fā)某個(gè)事件的方法,下面這篇文章主要介紹了JavaScrip中window.dispatchEvent的原理和使用的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-04-04
  • JavaScript?讀取及寫入本地文件的操作方法

    JavaScript?讀取及寫入本地文件的操作方法

    文章介紹了在純前端JavaScript中如何讀取和寫入本地文件,瀏覽器環(huán)境限制了直接訪問文件系統(tǒng),但提供了文件上傳和下載功能,對(duì)于文件讀取,可以使用FileReader?API,支持分片讀取和流式處理,感興趣的朋友一起看看吧
    2025-03-03
  • 一個(gè)獲取第n個(gè)元素節(jié)點(diǎn)的js函數(shù)

    一個(gè)獲取第n個(gè)元素節(jié)點(diǎn)的js函數(shù)

    這篇文章主要介紹了一個(gè)獲取第n個(gè)元素節(jié)點(diǎn)的js函數(shù),功能還不完善 ,需要的朋友可以參考下
    2014-09-09
  • 原生js實(shí)現(xiàn)水平方向無縫滾動(dòng)

    原生js實(shí)現(xiàn)水平方向無縫滾動(dòng)

    這篇文章主要為大家詳細(xì)介紹了原生js實(shí)現(xiàn)水平方向無縫滾動(dòng)的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-01-01
  • 該如何加載google-analytics(或其他第三方)的JS

    該如何加載google-analytics(或其他第三方)的JS

    很多網(wǎng)站為了獲取用戶訪問網(wǎng)站的統(tǒng)計(jì)信息,使用了google-analytics或其他分析網(wǎng)站(下面的討論中只提google-analytics,簡稱ga)。
    2010-05-05
  • JavaScript頁面倒計(jì)時(shí)功能完整示例

    JavaScript頁面倒計(jì)時(shí)功能完整示例

    這篇文章主要介紹了JavaScript頁面倒計(jì)時(shí)功能,結(jié)合完整實(shí)例形式分析了javascript計(jì)時(shí)器、時(shí)間運(yùn)算相關(guān)操作技巧,需要的朋友可以參考下
    2019-05-05
  • 通過webpack引入第三方庫的方法

    通過webpack引入第三方庫的方法

    這篇文章主要介紹了通過webpack引入第三方庫的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-07-07

最新評(píng)論

扶绥县| 丰城市| 宿州市| 长子县| 怀集县| 星子县| 大姚县| 榆树市| 象州县| 邹平县| 张掖市| 星子县| 自贡市| 东辽县| 保亭| 柳林县| 饶平县| 色达县| 永清县| 铁岭县| 理塘县| 宝清县| 诸城市| 木兰县| 刚察县| 叶城县| 峨山| 含山县| 景德镇市| 麻江县| 深水埗区| 赣州市| 海盐县| 光泽县| 铁力市| 仪陇县| 开平市| 东港市| 新乡市| 二连浩特市| 湘潭市|