濮阳杆衣贸易有限公司

主頁 > 知識(shí)庫 > 使用HTML5的表單驗(yàn)證的簡單示例

使用HTML5的表單驗(yàn)證的簡單示例

熱門標(biāo)簽:申請(qǐng)400電話流程簡介 pageadm實(shí)現(xiàn)地圖標(biāo)注 地圖標(biāo)注位置能賺錢嗎 阜陽企業(yè)外呼系統(tǒng) 外呼線穩(wěn)定線路 南通數(shù)據(jù)外呼系統(tǒng)推廣 外呼系統(tǒng)電話怎么投訴 呼和浩特外呼電銷系統(tǒng)排名 邢臺(tái)縣地圖標(biāo)注app

HTML5對(duì)表單元素提供了patern屬性,它接受一個(gè)正則表達(dá)式。表單提交時(shí)這個(gè)正則表達(dá)式會(huì)被用于驗(yàn)證表單內(nèi)非空的值,如果控件的值不匹配這個(gè)正則表達(dá)就會(huì)彈出提示框,并阻止表達(dá)提交。提示框內(nèi)的文字可以使用setCustomValidity方法來自定義。
  比如下面這個(gè)表單內(nèi),文本框只接受大陸的手機(jī)號(hào),輸入其它東西就無法提交
運(yùn)行

XML/HTML Code復(fù)制內(nèi)容到剪貼板
  1. <!DOCTYPE html>  
  2. <form>  
  3.   <input id="text" pattern="^1[3-9]\d{9}$" required />  
  4.   <input id="button" type="submit" />  
  5. </form>  

  注意只有非空的表單才會(huì)使用正則驗(yàn)證,如果什么都不輸入的話,pattern不會(huì)被使用,所以還需要required協(xié)助。但是這個(gè)代碼彈出的提示是這樣的:

這樣的提示文字只有猴子看得懂!所以我們還需要更友好的提示文字,使用setCustomValidity方法來定義。
運(yùn)行

XML/HTML Code復(fù)制內(nèi)容到剪貼板
  1. <!DOCTYPE html>  
  2. <form>  
  3.   <input id="text" pattern="^1[3-9]\d{9}$" required />  
  4.   <input id="button" type="submit" />  
  5. </form>  
  6. <script>  
  7. text.oninput=function(){   
  8.   text.setCustomValidity("");   
  9. };   
  10. text.oninvalid=function(){   
  11.   text.setCustomValidity("請(qǐng)不要輸入火星的手機(jī)號(hào)好嗎?");   
  12. };   
  13. </script>  

invalid事件會(huì)在表單submit事件之前觸發(fā),如果驗(yàn)證不通過的話就不會(huì)觸發(fā)表單的submit。而提交時(shí)會(huì)先驗(yàn)證所有表單元素是值是否有效。除了提交外還可以手動(dòng)調(diào)用checkValidity方法來執(zhí)行驗(yàn)證。
  上面的例子中我直接對(duì)控件設(shè)置固定的提示其實(shí)不太好,有時(shí)候可能需要更詳細(xì)的提示信息,比如空的時(shí)候提示為空、太長的時(shí)候提示太長、非數(shù)字的時(shí)候提示非數(shù)字等。這些動(dòng)作可以通過程序驗(yàn)證后動(dòng)態(tài)地setCustomValidity來實(shí)現(xiàn)。
  其實(shí)我覺得HTML5的這套API設(shè)計(jì)的很糟糕,雖然可以滿足基本需求,但還真不太實(shí)用。

手機(jī)頁面中表單提交用JavaScript驗(yàn)證信息 會(huì)彈出窗口,用戶體驗(yàn)極差,所以再給出一個(gè)手機(jī)端用HTML5的屬性來驗(yàn)證的示例:

XML/HTML Code復(fù)制內(nèi)容到剪貼板
  1. <input id="name" name="name" placeholder="name" required="" tabindex="1" type="text">    
  2. <input id="email" name="email" placeholder="telephone" required="" tabindex="2" type="text" pattern="(^(\d{3,4}-)?\d{7,8})$|^(13|15|18|14)\d{9}$">    
  3. <input id="subject" name="subject" placeholder="example@domain.com" required="" tabindex="2" type="text">    
  4.  // 主要用了HTML的一下屬性   
  5. // 1.placeholder 提供可描述輸入字段預(yù)期值的提示信息。 該提示會(huì)在輸入字段為空時(shí)顯示,并會(huì)在字段獲   
  6. //得焦點(diǎn)時(shí)消失   
  7. //2.required 屬性規(guī)定必需在提交之前填寫輸入字段   
  8. //3.pattern  是正則表達(dá)式,  里面可以直接填寫正則表達(dá)式  

標(biāo)簽:黃山 蚌埠 內(nèi)蒙古 辛集 德州 撫順 鶴崗 楊凌

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《使用HTML5的表單驗(yàn)證的簡單示例》,本文關(guān)鍵詞  使用,HTML5,的,表單,驗(yàn)證,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《使用HTML5的表單驗(yàn)證的簡單示例》相關(guān)的同類信息!
  • 本頁收集關(guān)于使用HTML5的表單驗(yàn)證的簡單示例的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    康平县| 墨脱县| 冕宁县| 甘谷县| 张家川| 津南区| 阿荣旗| 鲜城| 特克斯县| 健康| 咸丰县| 通城县| 山阳县| 东莞市| 桃园县| 绩溪县| 清远市| 酒泉市| 新泰市| 临夏市| 贺兰县| 温泉县| 宝坻区| 论坛| 白银市| 石台县| 奈曼旗| 山阴县| 南投县| 饶平县| 长葛市| 临夏市| 恩施市| 平谷区| 宜兰市| 安化县| 奉新县| 广安市| 延庆县| 广灵县| 寿光市|