久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

詳解HTML5中表單驗證的8種方法介紹

表單驗證就是在表單提交服務器前對其進行一系列的檢查并通知用戶糾正錯誤,本篇文章主要介紹了詳解HTML5中表單驗證的8種方法,具有一定的參考價值,有興趣的可以了解一下。

在深人探討表單驗證之前,讓我們先思考一下表單驗證的真實含義。就其核心而言,表單驗證是一套系統,它為終端用戶檢測無效的控件數據并標記這些錯誤。換言之,表單驗證就是在表單提交服務器前對其進行一系列的檢查并通知用戶糾正錯誤。

但是真正的表單驗證是什么?

是一種優化。

之所以說表單驗證是一種優化,是因為僅通過表單驗證機制不足以保證提交給服務器的表單數據是正確和有效的。另一方面,設計表單驗證是為了讓Web應 用更快地拋出錯誤。換句話說,最好利用瀏覽器內置的處理機制來告知用戶網頁內包含無效的表單控件值。過去,數據在網絡上轉一圈,僅僅是為了讓服務器通知用 戶他輸入了錯誤的數據。如果瀏覽器完全有能力讓錯誤在離開客戶端之前就被捕獲到,那么我們應該利用這個優勢。

不過,瀏覽器的表單檢查還不足以處理所有的錯誤。

話雖如此,HTML5還是引入了八種用于驗證表單控件的數據正確性的方法。讓我們依次了解一下,不過先要介紹一下用于反饋驗證狀態的ValidityState對象。

在支持Html5表單驗證的瀏覽器中,可以通過表單控件來訪問ValidityState對象:

var valCheck = document.myForm.myInput.validity;

這行代碼獲取了名為myInput的表單元素的ValidityState對象。對象包含了對所有八種驗證狀態的引用,以及最終驗證結果。

調用方式如下:

valCheck.valid

執行完畢,我們會得到一個布爾值,它表示表單控件是否已通過了所有的驗證約束條件。可以把valid特性看做是最終驗證結果:如果所有八個約束條件都通過了,valid特性就是true,否則,只要有一項約束沒通過,valid標志都是false。

如前所述,任何表單元素都有八個可能的驗證約束條件。每個條件在ValidityState對象中都有對應的特性名,可以用適當的方式訪問。讓我們逐一分析,看看它們是如何與表單控件關聯的,以及如何基于ValidityState對象來對它們進行檢查:

1、valueMissing

目的:確保表單控件中的值已填寫。

用法:在表單控件中將required特性設置為true。

示例:

<input type="text" name="myText" required>

詳細說明:如果表單控件設置了required特性,那么在用戶填寫或者通過代碼調用方式填值之前,控件會一直處于無效狀態。例如,空的文本輸入框無法通過必填檢查,除非在其中輸入任意文本。輸入值為空時,valueMissing會返回true。

2、typeMismatch

目的:保證控件值與預期類型相匹配(如numbe、email、URL等).

用法:指定表單控件的type特性值。

示例:

<input type="email" name="myEmail">

詳細說明:特殊的表單控件類型不只是用來定制手機鍵盤, 如果瀏覽器能夠識別出來表單控件中的輸入不符合對應的類型規則,比如email地址中沒有@符號,或者number型控件的輸入值不是有效的數字,那么瀏 覽器就會把這個控件標記出來以提示類型不匹配。無論哪種出錯情況,typeMismatch將返回true。

3、patternMismatch

目的:根據表單控件上設置的格式規則驗證輸入是否為有效格式。

用法:在表單控件上設置pattern特性,井賦予適當的匹配規則。

示例:

<input type="text" name="creditcardnumber" pattern="[0-9]{16}" title="A credit
card number is 16 digits with no spaces or dashes">

詳細說明:pattern特性向開發人員提供了一種強大而靈活的方式來為表單的控件值設定正則表達式驗證機制。當為控件設置了pattern特性后,只要 輸入控件的值不符合模式規則,patternMismatch就會返回true值。從引導用戶和技術參考兩方面考慮,你應該在包含pattern特性的表 單控件中設置title特性以說明規則的作用。

4、tooLong

目的:避免輸入值包含過多字符。

用法:在表單控件上設置maxLength特性。

示例:

<input type="text" name="limitedText" maxLength="140">

詳細說明:如果輸入值的長度超過maxLength, tooLong特性會返回true。雖然表單控件通常會在用戶輸入時限制最大長度,但在有些情況下,如通過程序設置,還是會超出最大值。

5、rangeUnderflow

目的:限制數值型控件的最小值。

用法:為表單控件設置min特性,并賦予允許的最小值。

示例:

<input type="range" name="ageCheck" min="18">

詳細說明:在需要做數值范圍檢查的表單控件中,數值很可能會暫時低于設置的下限。此時,ValidityState的rangeUnderflow特性將返回true。

6、rangeOverflow

目的:限制數值型控件的最大值。

用法:為表單控件設置max特性,并賦予允許的最大值。

示例:

<input type="range" name="kidAgeCheck" max="12">

詳細說明:與rangeUnderflow類似,如果一個表單控件的值比max更大,特性將返回true。

7、stepMismatch

目的:確保輸入值符合min、max及step即設置。

用法:為表單控件設置step特性,指定數值的增量。

【網站聲明】本站除付費源碼經過測試外,其他素材未做測試,不保證完整性,網站上部分源碼僅限學習交流,請勿用于商業用途。如損害你的權益請聯系客服QQ:2655101040 給予處理,謝謝支持。

相關文檔推薦

這篇文章主要介紹了有關HTML5頁面在iPhoneX適配問題,需要的朋友可以參考下
本篇文章主要介紹了html5中canvas圖表實現柱狀圖的示例,本文使用canvas來實現一個圖表,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
Adobe公司出品的多媒體處理軟件產品線較多,涵蓋了音視頻編輯、圖像處理、平面設計、影視后期等領域。這篇文章主要介紹了Adobe Html5 Extension開發初體驗圖文教程,非常不錯,需要的朋
這篇文章主要介紹了基于HTML5的WebGL經典3D虛擬機房漫游動畫,需要的朋友可以參考下
這篇文章主要介紹了html5實現移動端適配完美寫法,需要的朋友可以參考下
本篇文章主要介紹了HTML5響應式(自適應)網頁設計的實現,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
主站蜘蛛池模板: 国产精品a久久久久 | 久久久蜜桃 | 日韩久久久久久久久久久 | 久久精品中文字幕 | 911影院 | www.久久精品| 久久久久国产一区二区三区 | 91av亚洲| 福利视频大全 | 狠狠av| www.9191| 一区二区三区精品 | 久草视频在 | 一本久久a久久精品亚洲 | 亚洲乱码一区二区三区在线观看 | 一级欧美一级日韩片 | 免费三级网| 国产激情视频在线 | 成人在线一区二区 | 久久亚洲精品国产精品紫薇 | 影音先锋中文字幕在线观看 | 久久精品97 | 欧美综合一区二区 | 狠狠操狠狠干 | 中文字幕高清免费日韩视频在线 | 亚洲精品在线免费观看视频 | 久草视频在线看 | 毛片的网址 | 怡红院免费的全部视频 | 国产精品一区二区不卡 | 成人在线电影网站 | 国产精品久久久久久久岛一牛影视 | 久久天堂| 久久国产亚洲 | 北条麻妃av一区二区三区 | 国产美女在线观看 | 国产美女在线免费观看 | 亚洲国产一区二区视频 | 日韩免费看片 | 91久久久久久久久久久久久 | 亚洲日韩中文字幕一区 |