• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    使用HTML5的表单验证的简单示例

    HTML5对表单元素提供了patern属性,它接受一个正则表达式。表单提交时这个正则表达式会被用于验证表单内非空的值,如果控件的值不匹配这个正则表达就会弹出提示框,并阻止表达提交。提示框内的文字可以使用setCustomValidity方法来自定义。
      比如下面这个表单内,文本框只接受大陆的手机号,输入其它东西就无法提交
    运行

    XML/HTML Code复制内容到剪贴板
    1. <!DOCTYPE html>  
    2. <form>  
    3.   <input id="text" pattern="^1[3-9]\d{9}$" required />  
    4.   <input id="button" type="submit" />  
    5. </form>  

      注意只有非空的表单才会使用正则验证,如果什么都不输入的话,pattern不会被使用,所以还需要required协助。但是这个代码弹出的提示是这样的:

    这样的提示文字只有猴子看得懂!所以我们还需要更友好的提示文字,使用setCustomValidity方法来定义。
    运行

    XML/HTML Code复制内容到剪贴板
    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("请不要输入火星的手机号好吗?");   
    12. };   
    13. </script>  

    invalid事件会在表单submit事件之前触发,如果验证不通过的话就不会触发表单的submit。而提交时会先验证所有表单元素是值是否有效。除了提交外还可以手动调用checkValidity方法来执行验证。
      上面的例子中我直接对控件设置固定的提示其实不太好,有时候可能需要更详细的提示信息,比如空的时候提示为空、太长的时候提示太长、非数字的时候提示非数字等。这些动作可以通过程序验证后动态地setCustomValidity来实现。
      其实我觉得HTML5的这套API设计的很糟糕,虽然可以满足基本需求,但还真不太实用。

    手机页面中表单提交用JavaScript验证信息 会弹出窗口,用户体验极差,所以再给出一个手机端用HTML5的属性来验证的示例:

    XML/HTML Code复制内容到剪贴板
    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 提供可描述输入字段预期值的提示信息。 该提示会在输入字段为空时显示,并会在字段获   
    6. //得焦点时消失   
    7. //2.required 属性规定必需在提交之前填写输入字段   
    8. //3.pattern  是正则表达式,  里面可以直接填写正则表达式  

    上一篇:详解HTML5中的manifest缓存使用
    下一篇:深入解析HTML5的IndexedDB索引数据库
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯

    时间:9:00-21:00 (节假日不休)

    地址:江苏信息产业基地11号楼四层

    《增值电信业务经营许可证》 苏B2-20120278

    使用HTML5的表单验证的简单示例 使用,HTML5,的,表单,验证,