怎么使用HTML5实现表单验证

这篇文章主要介绍“怎么使用HTML5实现表单验证”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么使用HTML5实现表单验证”文章能帮助大家解决问题。

创新互联公司客户idc服务中心,提供绵阳电信机房、成都服务器、成都主机托管、成都双线服务器等业务的一站式服务。通过各地的服务中心,我们向成都用户提供优质廉价的产品以及开放、透明、稳定、高性价比的服务,资深网络工程师在机房提供7*24小时标准级技术保障。

HTML5对表单元素提供了patern属性,它接受一个正则表达式。表单提交时这个正则表达式会被用于验证表单内非空的值,如果控件的值不匹配这个正则表达就会弹出提示框,并阻止表达提交。提示框内的文字可以使用setCustomValidity方法来自定义。

比如下面这个表单内,文本框只接受大陆的手机号,输入其它东西就无法提交

运行

XML/HTML Code复制内容到剪贴板

<!DOCTYPE html>  

<form>  

  <input id="text" pattern="^1[3-9]/d{9}$" required />  

  <input id="button" type="submit" />  

</form>  

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

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

运行

XML/HTML Code复制内容到剪贴板

<!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设计的很糟糕,虽然可以满足基本需求,但还真不太实用。

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

XML/HTML Code复制内容到剪贴板

<input id="name" name="name" placeholder="name" required="" tabindex="1" type="text">    

<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}$">    

<input id="subject" name="subject" placeholder="example@domain.com" required="" tabindex="2" type="text">    

 // 主要用了HTML的一下属性   

// 1.placeholder 提供可描述输入字段预期值的提示信息。 该提示会在输入字段为空时显示,并会在字段获   

//得焦点时消失   

//2.required 属性规定必需在提交之前填写输入字段   

//3.pattern  是正则表达式,  里面可以直接填写正则表达式  

关于“怎么使用HTML5实现表单验证”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注创新互联行业资讯频道,小编每天都会为大家更新不同的知识点。

名称栏目:怎么使用HTML5实现表单验证
网页网址:https://www.cdcxhl.com/article28/posscp.html

成都网站建设公司_创新互联,为您提供网站导航网站设计公司定制网站用户体验营销型网站建设动态网站

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

商城网站建设