午夜视频免费看_日韩三级电影网站_国产精品久久一级_亚洲一级在线播放_人妻体内射精一区二区三区_91夜夜揉人人捏人人添红杏_91福利在线导航_国产又粗又猛又黄又爽无遮挡_欧美日韩一区在线播放_中文字幕一区二区三区四区不卡 _日日夜夜精品视频免费观看_欧美韩日一区二区三区

主頁 > 知識庫 > HTML5利用約束驗證API來檢查表單的輸入數據的代碼實例

HTML5利用約束驗證API來檢查表單的輸入數據的代碼實例

熱門標簽:聯通400電話申請 西寧智能外呼系統加盟 百應電銷機器人產業 高德地圖標注賓館位置 貸款電銷人工和機器人哪個好 飛亞外呼系統 杭州營銷電銷機器人供應商 電話機器人如何 電視購物電銷外呼系統

HTML5對于表單有著極大程度的優化,無論是語義,小部件,還是數據格式的驗證。我猜你肯定會以瀏覽器兼容作為借口不愿意使用這些“新功能”,但這絕不應該成為使你停滯不前的原因,況且還有像Modernizr和ployfill這樣的工具庫幫助你在不支持Html5的瀏覽器上進行回退處理。當你真正試著使用這些表單的新功能時,我保證你會愛上它。如果說唯一的缺陷,就是提示框的樣式是瀏覽器默認的,你無法改變,好吧,如果你相信瀏覽器廠商的設計師的審美水平的話(我相信他們的設計水平比絕大部分普通人要好,如果不考慮風格兼容的話),抓緊學就對了!

原生驗證

input type

HTML5中為數據格式驗證提供了很多原生的支持,例如:

<input type='email'/>

當點擊提交按鈕時,如果你輸入的格式不符合email,則會導致無法提交,瀏覽器會提示你錯誤信息。

比如在chrome下:

注意:

1、僅當你提交的時候會觸發瀏覽器的驗證

2、不同瀏覽器提示信息的行為樣式不一樣

3、當有多個input不符合要求時,只會提示一個錯誤,一般會提示表單中相對較前的Input的

不要理所應當的認為當input的type等于tel的時候,如果你輸入的不是電話號碼格式,在提交時也會被瀏覽器的阻擋并提示錯誤信息,type=’tel’在PC端只起到語義的作用,在移動端可以使產生的鍵盤為純數字鍵盤,并不能起到數據驗證的作用。

pattern

你可以使用pattern屬性來對瀏覽器不提供原生驗證的數據格式設置自定義格式驗證。pattern屬性的值是一個正則表達式(字符串):

<input type='tel' pattern='[0-9]{11}' title='請輸入11位電話號碼'>

點擊提交時,如果你輸入的數據不符合pattern里面正則的格式,那么瀏覽器會阻止表單提交,并提示:‘請與所請求的格式保持一致’+ title里的內容(小字)。但注意,當你的文本框中內容為空的時候,瀏覽器不會對其進行檢查,會直接提交表單(因為瀏覽器認為這個框框不是必填項)。如果你想要這個框框必須有內容,請加上required屬性。

通過HTML原生的驗證系統,基本就能滿足我們對表單提交的限定。但HTML5提供了更高級的功能來方便我們開發和提升用戶體驗。

約束驗證API

默認提示信息

像‘請與所請求的格式保持一致’這樣的瀏覽器提示信息字串藏在input DOM對象的validationMessage屬性里,這個屬性在大多數現代的瀏覽器中是只讀的,即不可修改,比如下面的代碼:

<input type="text" required id='input'/>

當提交時,如果Input內容為空,那么瀏覽器會提示‘請填寫此字段’,我們可以在控制臺把這句話打印出來:

var input = document.getElementById('input')
input.validationMessage // =>'請填寫此字段'

如果想修改其中的內容,可以調用setCustomValidity接口改變validationMessage的值

input.setCustomValidity('這個字段必須填上哦');
// 下面這種做法適用于不支持setCustomValidity的瀏覽器,基本現代瀏覽器都不支持這樣做
input.validationMessage = '這個字段必須填上哦'

注意,像required這樣的HTML原生驗證,雖然能改變其中信息,但無法把信息置為空字串,原因下面會講到。

原理

HTML表單驗證系統通過validationMessage屬性檢測該文本框的數據是否通過驗證,如果其值為空字串,則表示通過了驗證,否則,表示未通過,瀏覽器會把其值作為錯誤信息提示給用戶。所以在原生驗證時,用戶無法把validationMessage的值設置為空字符串。

約束驗證API的簡單實例

約束驗證API是在原生方法之上更靈活的表達方式,你可以自己設置數據是否通過,而不借助于正則表達式。原理很簡單,通過if判斷,如果數據格式使你滿意,那么你就調用setCustomValidity使validationMessage的值為空,否則,你就調用setCustomValidity傳入錯誤信息:

input.addEventListener('input', function () {
        if(this.value.length > 3){ // 判斷條件完全自定義
            input.setCustomValidity('格式不正確');
        }else {
            input.setCustomValidity('')
        }
 });

每次鍵盤輸入,代碼都會判斷格式是否正確,然后調用setCustomValidity設置validationMessage的值。不要妄想每按下鍵瀏覽器都會提示你結果是否正確,瀏覽器只有在點擊提交按鈕的時候才會提示validationMessage里的值(如果有的話)。

如果你還沒有走思的話,一定會問,既然這樣,為什么要為input綁定鍵盤事件,每輸入一下都要進行判斷呢?直接為表單綁定提交事件,在提交時再判斷多好,別急,這么做是有好處的。

隨著輸入判斷格式與樣式

作為用戶,我們當然想在得知我輸入了錯誤的格式之后,文本框變紅(或者有別的提示)。而在我每次輸入一個字符,如果對了,文本框就恢復正常。我們可以使用CSS偽類來實現這個功能:

    input:required {
            background-color: #FFE14D;
        }

    /*這個偽類通過validationMessage屬性進行判斷*/
    input:invalid {
        border: 2px solid red;
    }

上面的required偽類會給所以必填但值空的input提供一個黃色的背景色,而下面的invalid偽類則會為所有未通過驗證的input添加一個2px的紅邊邊。我們現在給我們的Input框加上input類即可。

這些偽類的判斷條件正與瀏覽器判斷你能否提交表單的條件一樣,看validationMessage里的值,所以,我們上面設置每次鍵盤輸入事件都會觸發一次判斷從而改變CSS偽類樣式的渲染,用意正在于此。

更好的用戶體驗

還有一個缺點,就是當一個input設置為required的時候,在初始化時,因為其本身是空的,所以invalid偽類會對它起作用,這不是我們想看到的,因為我們什么還都沒有干。

我們可以并在這些偽類前加上父選擇器.invalid,這樣,只有在父元素具有invalid類時,這些偽類才會起作用。可以設置一個submit事件,在表單提交因驗證失敗后,會觸發input的invalid事件,給form添加invalid類:

form.addEventListener('invalid', function() {this.className = 'invalid'}, true)因為invaild是Input的事件,而不是form的事件,所以這里我們設置第三個參數為true采用事件捕獲的方式處理之。這樣,就大功告成了。

最終實例

好了,現在是時候總結一下我們所學的知識并創造最佳實踐了:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>form</title>
    <style>
        input:required{
            background-color: #DCD4CE;
        }
        .invalid input:invalid{
            border: 2px solid red;
        }
    </style>
</head>
<body>
<form id="form">
    <label>email:<input type="email" required id="email"></label>
    <label>IDCard:<input required id="IDCard"></label>
    <input type="submit" id="submit">
</form>
<script>
    var email = document.getElementById('email');
    var IDCard = document.getElementById('IDCard');
    var form = document.getElementById('form');

    IDCard.addEventListener('input', function () {
        if(this.value.length != 6) {
            this.setCustomValidity('IDCard的長度必須為6')
        }else{
            this.setCustomValidity('')
        }
    });

    form.addEventListener('invalid', function () {
        this.className = 'invalid';
    }, true)
</script>
</body>
</html>

運行后截圖如下:

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

標簽:內蒙古 玉溪 煙臺 牡丹江 晉中 邯鄲 安慶 撫州

巨人網絡通訊聲明:本文標題《HTML5利用約束驗證API來檢查表單的輸入數據的代碼實例》,本文關鍵詞  HTML5,利用,約束,驗證,API,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《HTML5利用約束驗證API來檢查表單的輸入數據的代碼實例》相關的同類信息!
  • 本頁收集關于HTML5利用約束驗證API來檢查表單的輸入數據的代碼實例的相關信息資訊供網民參考!
  • 推薦文章
    午夜精品一二三区| 在线能看的av| 2018国产在线| 亚洲一区二区三区xxx视频| 亚洲成人精品久久| 18涩涩午夜精品.www| 亚洲伦理在线观看| 精品国产国产综合精品| 亚洲精品98久久久久久中文字幕| 91年精品国产| 国产露脸无套对白在线播放| 白丝女仆被免费网站| 国产精品333| 久热这里只精品99re8久| 欧美激情视频一区| 亚洲国产日韩欧美在线图片| 亚洲图片欧美一区| www.亚洲精品| 性xxxx18| 中文字幕欧美人妻精品| 久久视频一区二区三区| 国产毛片久久久久久| 台湾无码一区二区| 亚洲综合社区网| 97精品在线视频| 国产亚洲欧美在线| 国产精品女人久久久| 久久黄色免费网站| 国产aⅴ激情无码久久久无码| 婷婷六月天在线| 成人精品视频在线播放| 国产三区精品| 成人av.网址在线网站| 8x拔播拔播x8国产精品| 日韩视频免费大全中文字幕| 日韩精品在线一区二区| 激情成人在线视频| 伊人性伊人情综合网| 99精品视频一区二区| 国产伦理精品不卡| 美国三级日本三级久久99| av中文字幕免费在线观看| 黄色在线免费观看| 国产无遮挡免费视频| 国产盗摄一区二区三区在线| 成人做爰www看视频软件| 无遮挡又爽又刺激的视频| 六月婷婷激情综合| 中文字幕久精品免| 黑人中文字幕一区二区三区| 国产高清在线一区二区| 亚洲va欧美va在线观看| 成人激情在线播放| 国产精品久久久久免费a∨大胸| 日韩一级黄色av| 国产一区二区三区视频在线观看 | 国产精品露脸视频| 成人免费毛片视频| 中文字幕日本人妻久久久免费| 久久久国产成人| 欧美日韩一级在线观看| 久久精品无码人妻| 无码一区二区三区| 99在线精品视频免费观看软件| 亚洲一区中文字幕永久在线| 亚洲综合精品视频| 亚洲狼人综合网| 美女诱惑一区二区| 成人免费看视频| 国产精品人成在线观看免费| 亚洲精品免费播放| 黑人巨大精品欧美一区二区一视频 | 中文字幕中文字幕一区三区| 亚洲国产欧美一区二区三区不卡| 先锋影音男人资源| 中文字幕一区二区三区四区在线视频| 91pony九色| 调教驯服丰满美艳麻麻在线视频| 国产精品 欧美激情| 一级成人黄色片| 蜜臀av中文字幕| 国产成人亚洲综合a∨猫咪| 成人动漫在线一区| 国产精品二三区| 91成人免费在线| 亚洲一区二区久久久| 欧美性视频在线| 久久精品aaaaaa毛片| 色欲色香天天天综合网www| 天天干天天色天天干| 国产麻豆a毛片| 国产精品伊人久久| 国产高清精品网站| 伊人色综合久久天天人手人婷| 在线观看一区二区视频| 神马国产精品影院av| 欧美日韩电影在线观看| 国产精华一区| 成年人小视频网站| 亚洲AV成人无码网站天堂久久| www.av88| 福利一区福利二区| 在线影视一区二区三区| 欧美精品在线网站| 久久精品国产一区二区三区日韩| 国产成人一区二区三区别| 欧美在线一级片| 男人午夜免费视频| 国产福利一区二区三区| 亚洲成人动漫在线观看| 中文字幕综合一区| 国产一区不卡在线观看| 国产真人做爰毛片视频直播| 一二三四国产精品| 国模私拍视频在线| 一区二区三区在线免费视频| 一本色道久久88综合亚洲精品ⅰ| 亚洲一区美女视频在线观看免费| 又粗又黑又大的吊av| 欧美精品成人久久| 日韩av电影天堂| 色综合久久久久综合体桃花网| 欧美成人网在线| 久久久久久久久四区三区| 免费国偷自产拍精品视频| 久久久久久av无码免费看大片 | 7788色淫网站小说| 日本免费网站在线观看| 亚洲va欧美va天堂v国产综合| 精品无码久久久久久国产| 精品无人乱码一区二区三区的优势 | 不卡一区中文字幕| 日韩av一区在线| 精品乱码一区二区三区| a天堂视频在线观看| 亚洲精品一区二区三区不卡| 精品动漫一区二区| 日韩美女视频免费看| 激情五月俺来也| 亚洲一区在线观| 亚洲国产欧美日韩另类综合| 91精品国产高清| 午夜影院免费版| 日产国产欧美视频一区精品| 欧美一区二区三区日韩| 明星裸体视频一区二区| 日韩一级片大全| 中文字幕一区三区| 国产成人精品亚洲精品| 69xxx免费视频| 国产一区二区在线看| 国产亚洲一级高清| www.日本在线播放| 粉嫩小泬无遮挡久久久久久| 91精品国产乱码| 亚洲一区二区三区涩| 国产一级免费视频| 91国偷自产一区二区三区成为亚洲经典| 91色p视频在线| 久久亚洲成人av| 亚洲成人7777| 就去色蜜桃综合| 日韩中文字幕高清| 色女孩综合影院| 亚洲一区二区三区涩| 国产又黄又大又粗的视频| 在线不卡中文字幕播放| 日韩av不卡播放| 一级片一区二区三区| 欧美丰满嫩嫩电影| 成年人看的毛片| 久久青草久久| 三级精品视频久久久久| 国产又黄又嫩又滑又白| wwwwww.欧美系列| 国产专区欧美专区| 国产无套粉嫩白浆内谢| 欧美主播一区二区三区| 中国一级黄色录像| 国产精品一区二区黑人巨大| 日韩精品免费在线观看| 日本国产一级片| 94色蜜桃网一区二区三区| 91久久久精品| 国产一级片一区二区| 亚洲国产天堂久久国产91| 三级视频中文字幕| 久久久久久久久一| 国产精品制服诱惑| 亚洲精品免费在线观看视频| 精品国模在线视频| 懂色av蜜臀av粉嫩av永久| 亚洲成人av免费| 99热久久这里只有精品| 国产91色综合久久免费分享| 国产日韩在线播放| 这里只有精品国产| 夜夜嗨av色一区二区不卡| 一级特级黄色片| 色综合久久久久久久久久久| 国产免费毛卡片| 99精品国产一区二区三区不卡| 97久久精品午夜一区二区| a天堂在线视频| 97精品在线视频| 日本中文字幕在线| 一本色道久久88亚洲综合88| 精品无码人妻一区二区免费蜜桃 | 中文字幕永久免费视频| 久久韩剧网电视剧| 久久精品女人毛片国产| 亚洲精品日韩丝袜精品| 欧美丰满老妇熟乱xxxxyyy| 欧美日本国产一区| 免费看三级黄色片| 色综合视频一区二区三区高清| koreanbj精品视频一区| 国产精品午夜在线观看| 性生活免费观看视频| 91蝌蚪porny| 一区二区在线观看网站| 99视频在线观看一区三区| 水蜜桃一区二区| 99精品国产热久久91蜜凸| 先锋影音亚洲资源| 成人看片黄a免费看在线| 欧美亚洲另类在线一区二区三区| 久久精品久久精品| 精品午夜一区二区| 国产成人综合在线播放| 亚洲国产精品www| 久久综合色8888| 欧美久久在线观看| 亚洲激情男女视频| 免费观看成人网| 欧美性xxxx极品高清hd直播| 亚洲成a人片在线www| 欧美电影影音先锋| 亚洲a v网站| 国产丝袜高跟一区| 国产成人在线观看网站| 性欧美xxxx视频在线观看| 在线观看国产一区二区三区| 国产精品99久久久久久久久| 亚洲精品911| 国产一区福利视频| 久久久久久一二三区| 国产成人亚洲精品无码h在线| 日韩欧美一区二区三区| 精品人妻无码一区二区三区换脸| 亚洲欧美精品中文字幕在线| 日韩精品在线一区二区三区| 成人春色激情网| 99久久综合狠狠综合久久| 免费在线观看毛片网站| 欧美美女网站色| 日韩美女一级片| 成人乱人伦精品视频在线观看| 麻豆91精品视频| 日韩国产一级片| 69堂国产成人免费视频| 欧美成人精品欧美一级私黄| 欧美有码在线视频| 国产一区91精品张津瑜| 久久精品视频91| 日韩精品在线看片z| 日本中文字幕在线观看视频| 成人永久免费| 亚洲欧美日韩一区二区 | 久久精品日产第一区二区三区| 国产精品视频观看| 免费黄色在线视频| 91国产美女在线观看| 国产成人免费网站| 久久久精品高清| 日韩中文字幕在线| 精品一区二区三区蜜桃| 日韩视频在线免费看| 精品一区二区电影| 久久美女性网| 18禁免费无码无遮挡不卡网站| 制服丝袜亚洲色图| 国产又大又黑又粗| 黄色污污在线观看| 精品久久久网站| 丰满肥臀噗嗤啊x99av| 三上悠亚久久精品| 亚洲电影免费观看高清完整版在线观看 | 国产毛片毛片毛片毛片| 91丨porny丨在线中文 | 久久久久xxxx| 欧美黄色小视频| 成人免费毛片高清视频| xxxx黄色片| 96sao精品视频在线观看| 亚洲欧美一区二区三区国产精品| 欧美大片xxxx| 日本午夜精品一区二区| 欧美一级欧美三级| 天天干天天摸天天操| 一本色道无码道dvd在线观看| 日韩视频精品在线| 91免费国产视频网站| 日本一级特级毛片视频| 免费日韩电影在线观看| 欧美成人精精品一区二区频| 麻豆精品蜜桃视频网站| 国产吃瓜黑料一区二区| 国产原创欧美精品| 五月综合激情婷婷六月色窝| 国产精品区在线观看| 免费激情视频在线观看| 欧美日韩国产成人| 亚洲女爱视频在线| 91亚洲欧美激情| 欧美日韩一区二区三区69堂| 国产精品爱久久久久久久| 欧美性xxxx| 玖玖玖国产精品| 毛茸茸多毛bbb毛多视频| 久久国产精品-国产精品| 亚洲国产精品va在看黑人| 国产99久久久国产精品免费看| 2014亚洲天堂| 国产九色porny| 琪琪第一精品导航| 欧美在线你懂得| 国产美女在线精品| 波兰性xxxxx极品hd| 久久久国产精华液999999| 蜜臀久久99精品久久久久久宅男| 中文字幕中文字幕一区二区| 中文字幕在线观看国产| 在线a免费观看| 91日韩久久| 在线观看久久av| 亚洲资源在线观看| 日韩av不卡一区二区| 真实国产乱子伦对白在线| 精品人妻少妇一区二区| 国产精品久久久久久久久久久久 | 粉嫩av一区二区三区免费观看| 亚洲福利影片在线| 中文字幕一区二区三区在线不卡 | 91丨porny丨户外露出| 国产精品久久久久久免费 | 国产成人高清在线| 国产婷婷色一区二区在线观看| 色戒在线免费观看| 五月天久久狠狠| 日韩69视频在线观看| 亚洲精品黄网在线观看| 一二三四社区欧美黄| 开心九九激情九九欧美日韩精美视频电影| 国产精品嫩草影院俄罗斯| 成人精品小视频| 亚洲欧洲三级| 成人免费淫片视频软件| 国产亚洲视频在线| 色国产精品一区在线观看| 成人av网址在线| 欧美一级一区二区三区| 精品一区二区三区人妻| 精品熟女一区二区三区| 免费不卡av在线| 超碰97在线资源| 国a精品视频大全| 精品视频在线播放免| 欧美亚洲动漫另类| 亚洲激情图片一区| 91在线视频免费观看| 日韩二区三区四区| 国产伦子伦对白视频| 日韩精品乱码久久久久久| 美女脱光内衣内裤| 永久av免费在线观看| 日本精品一区二区三区四区| 亚洲国产精品日韩| 六十路精品视频| 亚洲a一级视频| 国产精品黄色影片导航在线观看| 久久综合久久88| 亚洲天堂免费视频| 亚洲国产精品悠悠久久琪琪| 欧美日韩久久久久久| 欧美日韩国产页| 一区二区三区四区国产精品| 中文字幕免费不卡| 久久久亚洲精品一区二区三区 | 中字幕一区二区三区乱码| 国产免费无码一区二区| 做a视频在线观看| 亚洲另类第一页| xxww在线观看| 国产一级特黄a大片免费| 波多野结衣家庭教师在线播放| 浴室偷拍美女洗澡456在线| 天堂av一区二区| 一区二区三区四区欧美| 在线码字幕一区| 中文字幕剧情在线观看一区| 在线视频精品一区| eeuss中文| 人妻互换免费中文字幕| 欧美精品卡一卡二| 人妻无码久久一区二区三区免费| www在线观看免费| 亚洲一级片免费| 国产伦理在线观看| 波多野结衣av在线观看|