zoukankan      html  css  js  c++  java
  • H5自带表单验证

    HTML5自带的表单验证

    转载:https://www.web-tinker.com/article/20781.html

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

    <!DOCTYPE html>
    <form>
      <input id="text" pattern="^1[3-9]d{9}$" required />
      <input id="button" type="submit" />
    </form>

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

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

    <!DOCTYPE html>
    <form>
      <input id="text" pattern="^1[3-9]d{9}$" required />
      <input id="button" type="submit" />
    </form>
    <script>
    text.oninput=function(){
    text.setCustomValidity("");
    };
    text.oninvalid=function(){
    text.setCustomValidity("请不要输入火星的手机号好吗?");
    };
    </script>



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


    more

    如果想了解更多,这里有一篇转自h5表单验证点击跳转

    作者:匡文旺 QQ:674037815 
    出处:http://www.cnblogs.com/wenwang 
    本文版权归【简简单单就好】和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

    HTML5表单及其验证

  • 相关阅读:
    nginx安装http2.0协议
    nginx内置变量 大全
    nginx全局查看进程
    Nginx1.14.2新增tcp/udp代理stream
    Nginx Location指令配置及常用全局变量
    Nginx配置udp/tcp代理
    ps -ef|grep详解
    centos7安装nginx(基础篇)
    js转义字符
    redis win连接以及配置连接密码
  • 原文地址:https://www.cnblogs.com/cjt-cn/p/5972749.html
Copyright © 2011-2022 走看看