首页前端开发HTML使用HTML5的表单验证的简单示例

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

时间2024-01-24 14:23:33发布访客分类HTML浏览336
导读:收集整理的这篇文章主要介绍了使用HTML5的表单验证的简单示例,觉得挺不错的,现在分享给大家,也给大家做个参考。 HTML5对表单元素提供了patern属性,它接受一个正则表达式。表单提交时这个正则表达式会被用于验证表单内非空的值...
收集整理的这篇文章主要介绍了使用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复制内容到剪贴板@H_108_304@
  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  是正则表达式,  里面可以直接填写正则表达式  

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

上一篇: 深入解析HTML5的IndexedDB索引数...下一篇:详解HTML5中的manifest缓存使用猜你在找的html5相关文章 关于移动端h5开发相关内容总结2022-05-17html5教程-学表单的第二天2018-12-10html5教程-HTML5浏览器支持2018-12-10html5教程-HTML5智能表单2018-12-10html5教程-微信H5使用resLoader实现加载页效果2018-12-10html5教程-day01-初级-JS0-热身运动JS入门教程2018-12-10html5教程-html5shiv.js和respond.min.js2018-12-10html5教程-不同浏览器对于html5 audio标签和音频格式的兼容性2018-12-10html5教程-使用Html5实现手风琴案例2018-12-10html5教程-html5笔记2018-12-10 其他相关热搜词更多phpjavapython程序员load

若转载请注明出处: 使用HTML5的表单验证的简单示例
本文地址: https://pptw.com/jishu/585479.html
深入解析HTML5使用SVG图像时的viewBox属性用法 HTML5 Canvas 绘图——使用 Canvas 绘制图形图文教程 使用html5 canvas 绘制精美的图

游客 回复需填写必要信息