HTML---表單驗證

文章目錄

  • 目錄

    本章目標

    一.表單驗證概述

    二.表單選擇器

    屬性過濾選擇器?

    ?三.表單驗證

    ?表單驗證的方法

    總結


本章目標

  • 掌握String對象的用法
  • 會使用表單選擇器的選擇頁面元素
  • 會使用JQuery事件進行表單驗證
  • Ajax的概念和作用

一.表單驗證概述

前端中的表單驗證是在用戶提交表單之前,對用戶輸入的數據進行合法性檢查的過程。這種驗證的目的是確保用戶輸入的數據符合預期的要求,從而減少錯誤和無效的數據提交,提高數據的質量和準確性。

表單驗證可以分為多種類型,包括但不限于:

  1. 輸入類型的驗證:檢查用戶輸入的數據是否符合預期的輸入類型,如文本、數字、郵箱、密碼等。
  2. 必填字段的驗證:確保用戶必須填寫某些字段,這些字段通常是表單中的關鍵信息。
  3. 日期和時間范圍的驗證:檢查用戶輸入的日期或時間是否在允許的范圍內。
  4. 步長的驗證:對于某些需要遞增或遞減的輸入字段,如價格、評分等,驗證其步長是否符合要求。
  5. 字符長度的驗證:檢查用戶輸入的字符長度是否在規定的范圍內。
  6. 數值范圍的驗證:檢查用戶輸入的數值是否在允許的范圍內。
  7. 正則表達式的驗證:使用正則表達式對用戶輸入的數據進行復雜的模式匹配和驗證。

在前端中,表單驗證可以通過多種技術實現,如HTML5的內置驗證、JavaScript驗證庫(如jQuery Validation Plugin)以及自定義的JavaScript代碼。其中,JavaScript是實現表單驗證的常用工具之一,它可以在數據被送往服務器前對HTML表單中的輸入數據進行驗證,從而減輕服務器的負擔并提高用戶體驗。

二.表單選擇器

<!DOCTYPE html>  
<html>  
<head>  <title>表單選擇器示例</title>  
</head>  
<body>  <form id="myForm">  <label for="name">姓名:</label>  <input type="text" id="name" name="name"><br><br>  <label>性別:</label>  <input type="radio" id="male" name="gender" value="male">  <label for="male">男</label><br>  <input type="radio" id="female" name="gender" value="female">  <label for="female">女</label><br><br>  <label>興趣愛好:</label>  <input type="checkbox" id="reading" name="hobby" value="reading">  <label for="reading">閱讀</label><br>  <input type="checkbox" id="travel" name="hobby" value="travel">  <label for="travel">旅行</label><br>  <input type="checkbox" id="coding" name="hobby" value="coding">  <label for="coding">編程</label><br><br>  <input type="submit" value="提交">  </form> <script src="jq/jquery-3.7.1.js"></script><script type="text/javascript">$(document).ready(function(){//選中標簽id=myForm中所有的input、button,select,textarea元素$("#myForm :input").css("background-color","aqua") });</script>
</body>  
</html>

屬性過濾選擇器?

<!DOCTYPE html>  
<html lang="en">  
<head>  
<meta charset="UTF-8">  
<meta name="viewport" content="width=device-width, initial-scale=1.0">  
<title>前端表單示例</title>  
</head>  
<body>   
<form>  <!-- 下拉框 -->  <label for="country">選擇國家:</label>  <select id="country" name="country">  <option value="usa">美國</option>  <option value="china">中國</option>  <option value="france">法國</option>  <option value="germany">德國</option>  </select>  <br><br>  <!-- 單選按鈕 -->  <label>選擇性別:</label>  <br>  <input type="radio" id="male" name="gender" value="male">  <label for="male">男</label><br>  <input type="radio" id="female" name="gender" value="female">  <label for="female">女</label><br>  <br>   <!-- 多選按鈕 -->  <label>選擇你感興趣的運動:</label>  <br>  <input type="checkbox" id="football" name="sport" value="football">  <label for="football">足球</label><br>  <input type="checkbox" id="basketball" name="sport" value="basketball">  <label for="basketball">籃球</label><br>  <input type="checkbox" id="swimming" name="sport" value="swimming">  <label for="swimming">游泳</label><br>  <br>   <!-- 提交按鈕 -->  <input type="submit" value="提交">  
</form>  
<script src="jq/jquery-3.7.1.js"></script>
<script type="text/javascript">$(function(){//使用屬性選擇器selected選中標簽select中選中的option并存貯在變量slist中var slist = $("#country :selcted");//使用each()函數遍歷slist并調用函數slist.each(function(){使用html()函數編譯選中的option標簽并保存在變量message中var messsage = $(this).html();window.alert(message);});});
</script>	
</body>  
</html>

?三.表單驗證

?演示案例

<!DOCTYPE html>  
<html>  
<head>  <title>表單選擇器示例</title>  
</head>  
<body>  <form id="myForm">  <label for="name">賬號:</label>  <input type="text" id="name" name="name" value=""><br><br>  <label>性別:</label>  <input type="radio" id="male" name="gender" value="male">  <label for="male">男</label><br>  <input type="radio" id="female" name="gender" value="female">  <label for="female">女</label><br><br>  <label>興趣愛好:</label>  <input type="checkbox" id="reading" name="hobby" value="reading">  <label for="reading">閱讀</label><br>  <input type="checkbox" id="travel" name="hobby" value="travel">  <label for="travel">旅行</label><br>  <input type="checkbox" id="coding" name="hobby" value="coding">  <label for="coding">編程</label><br><br>  <input type="submit" value="提交">  </form> <script src="jq/jquery-3.7.1.js"></script><script type="text/javascript">$(document).ready(function(){//點擊表單中的提交按鈕時調用函數$("#myForm").submit(function(){// $("#myForm :text")選中表單中的文本框并使用val()提取標簽中的value值并儲存在變量user中var user = $("#myForm :text").val();//判斷賬號是否為空if(user==""){window.alert("賬號不能為空!");//結合當前方法并返回false的值return false;}if(user.indexOf("@")==-1){window.alert("User格式錯誤,必須包含@符號");return false;}var pwd = $("#myForm :password").val();//使用for循環遍歷密碼框中的每個字符for(var i=0;i<pwd.length;i++){//使用substring(i,i++)函數提取i位置到i+位置的數字不包含i+1var s = pwd.subtring(i,i++);//使用isNaN(s)判斷該變量是否為字符串if(isNaN(s) == false){window.alert("密碼框內不允許出現數字");return false;}});});</script></body>  
</html>

?表單驗證的方法


總結

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/713634.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/713634.shtml
英文地址,請注明出處:http://en.pswp.cn/news/713634.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

圖神經網絡導論 - 劉知遠

一、神經網絡基礎 近年來&#xff0c;機器學習領域的發展迅速&#xff0c;主要表現在多種神經網絡架構的出現。盡管不同的神經網絡架構相差甚遠&#xff0c;但現有的神經網絡架構可以分為幾個類別&#xff1a; 卷積神經網路是前饋神經網路的特殊形式&#xff0c;FNN通常是全…

什么是VR虛擬現實|虛擬科技博物館|VR設備購買

虛擬現實&#xff08;Virtual Reality&#xff0c;簡稱VR&#xff09;是一種通過計算機技術模擬出的一種全新的人機交互方式。它可以通過專門的設備&#xff08;如頭戴式顯示器&#xff09;將用戶帶入一個計算機生成的虛擬環境之中&#xff0c;使用戶能夠與這個虛擬環境進行交互…

Spring Boot文檔目錄

目錄 官方文檔 說明&#xff1a;本文檔翻譯的版本&#xff1a;2.7.18-SNAPSHOT。 1. 法規&#xff08;Legal&#xff09; 2. 獲取幫助&#xff08;Getting Help&#xff09; 3. 文檔概述&#xff08;Documentation Overview&#xff09; 4. 開始使用&#xff08;Getting Sta…

BUUCTF---另外一個世界1

1.這是一道雜項題&#xff0c;也是我覺得最值得記錄的一道題。 2.話不多說&#xff0c;題目描述&#xff08;真的是另一個世界&#xff09; 3.下載附件&#xff0c;是一張圖片 4.嘗試了查看屬性&#xff0c;以及在記事本中打開看看有沒有什么有用的信息&#xff0c;發現沒什么…

FaceBook獲取廣告數據

1、訪問 廣告管理工具 確認自己登陸的賬號下面能看到戶。 ? 2、使用 圖譜Api探索工具 生成用戶短期口令 ? 3、get請求(或者瀏覽器直接打開)訪問&#xff1a; https://graph.facebook.com/v19.0/me?fieldsid,name, email&access_token{上一步生成的口令} ? 4、短期…

c# 獲取源碼路徑與當前程序所在路徑

獲取源碼路徑 private static string GetFilePath([CallerFilePath] string path null) {return path;}//當程序所在路徑string str67 System.Environment.CurrentDirectory;//源碼路徑 var path GetFilePath();var directory Path.GetDirectoryName(path);參考

Vue2:用node+express寫一個輕量級的后端服務

1、桌面創建demo文件夾 進入demo&#xff0c;執行如下命令 npm init輸入名稱&#xff1a; test_server然后一路回車 2、安裝express框架 npm i express3、新建server.js 在demo文件夾中&#xff0c;新建server.js const express require(express) const app express()…

2023年12月CCF-GESP編程能力等級認證Scratch圖形化編程三級真題解析

一、單選題(共15題,共30分) 第1題 現代計算機是指電子計算機,它所基于的是( )體系結構。 A:艾倫圖靈 B:馮諾依曼 C:阿塔納索夫 D:埃克特-莫克利 答案:B 第2題 默認小貓角色,執行下列程序,舞臺上會看到? ( ) A: B: C: D: 答案:C

干凈的語料沒有免疫力嗎?

干凈的語料指的是沒有雜音、無污染、無錯誤的語言材料。雖然干凈的語料本身沒有免疫力&#xff0c;但可以提供給機器學習算法或自然語言處理模型&#xff0c;幫助提高其性能和準確性。通過使用干凈的語料&#xff0c;可以降低噪聲干擾&#xff0c;減少模型的誤差&#xff0c;提…

Java類加載器 和 雙親委派【詳解】

一.類加載器&#xff1a; 由JDK提供的&#xff0c;用于加載一些資源文件到JVM內存里的一項技術。主要是加載class文件到內存&#xff0c;也可以加載一些資源文件。 2.JDK提供了三個類加載器&#xff1a; BootstrapClassLoader&#xff1a;引導類加載器&#xff0c; 是c語言編寫…

LightGBM高級教程:高級特征工程

導言 特征工程是機器學習中至關重要的一部分&#xff0c;它直接影響到模型的性能和泛化能力。在LightGBM中進行高級特征工程可以進一步提高模型的效果。本教程將詳細介紹如何在Python中使用LightGBM進行高級特征工程&#xff0c;并提供相應的代碼示例。 1. 特征交叉 特征交叉…

界面控件DevExpress .NET MAUI v23.2新版亮點 - 擁有全新的彩色主題

DevExpress擁有.NET開發需要的所有平臺控件&#xff0c;包含600多個UI控件、報表平臺、DevExpress Dashboard eXpressApp 框架、適用于 Visual Studio的CodeRush等一系列輔助工具。屢獲大獎的軟件開發平臺DevExpress 今年第一個重要版本v23.1正式發布&#xff0c;該版本擁有眾多…

python鏈接數據庫,實現數據增刪改查

要在Python中鏈接數據庫并實現數據的增刪改查&#xff0c;需要使用數據庫的API&#xff08;Application Programming Interface&#xff09;。以下是一個示例&#xff0c;演示如何使用Python的SQLite3模塊連接并操作數據庫&#xff1a; 安裝SQLite3模塊&#xff08;如未安裝&a…

如何克隆樹莓派系統到較小的硬盤/SD卡上(如何分區、設置修復引導)

最近有個老固態硬盤空下來了&#xff0c;雖然寫入速度沒那么快&#xff0c;但是足夠滿足千兆網絡了&#xff0c;所以我就想把現在給樹莓派使用的固態硬盤換下來。由于一些設置很浪費時間&#xff0c;所以我不打算重裝系統。此外這個老固態是 120GB 的&#xff0c;要小于正在使用…

redis實現分布式全局唯一id

目錄 一、前言二、如何通過Redis設計一個分布式全局唯一ID生成工具2.1 使用 Redis 計數器實現2.2 使用 Redis Hash結構實現 三、通過代碼實現分布式全局唯一ID工具3.1 導入依賴配置3.2 配置yml文件3.3 序列化配置3.4 編寫獲取工具3.5 測試獲取工具 四、運行結果 一、前言 在很…

Linux運維_Bash腳本_部署安裝DocBook-XML-4.5(XML-DTD)

Linux運維_Bash腳本_部署安裝DocBook-XML-4.5(XML-DTD) Bash (Bourne Again Shell) 是一個解釋器&#xff0c;負責處理 Unix 系統命令行上的命令。它是由 Brian Fox 編寫的免費軟件&#xff0c;并于 1989 年發布的免費軟件&#xff0c;作為 Sh (Bourne Shell) 的替代品。 您可…

leetcode 熱題 100_最長連續序列

題解一&#xff1a; 哈希表&#xff1a;找連續最長的數字序列&#xff0c;很容易聯想到排序&#xff0c;但排序的時間復雜度O(nlogN)過大&#xff0c;判題容易超時。因此我們需要使用哈希表來快速查找&#xff0c;序列中是否存在與某個數相鄰的數。用HashSet建立哈希表并去重&a…

【Javascript編程實操02】1、判斷一個年份是閏年還是平年 2、找到三個數中最小的數

目錄 前言 1、判斷一個年份是閏年還是平年 原理&#xff1a; 代碼&#xff1a; 實現效果&#xff1a; 2、找到三個數中最小的數 流程圖&#xff1a; 代碼&#xff1a; 實現效果&#xff1a; 總結 前言 本次繼續針對Javascript階段的if...else...的實操練習&#xff0…

IDEA 配置股票插件

IDEA配置股票基金實時查看插件&#xff0c;步驟如下&#xff1a; 打開Settings&#xff0c;找到Plugins&#xff0c;在Marketplace中搜索&#xff1a;Money Never Sleeps&#xff0c;如下圖所示&#xff1a; Money Never Sleeps是IntelliJ IDEA平臺插件. 支持查看股票實時行情…

three.js 叉乘判斷物體在人前左,前右,后左、后右

效果&#xff1a; 代碼&#xff1a; <template><div><el-container><el-main><div class"box-card-left"><div id"threejs"></div><div style"padding: 10px;text-align: left;">叉乘判斷物體…