?提示:点击上方蓝色字体↑可以订阅噢!
摘要51RGB官方 比如下面这个表单内,文本框只接受大陆的手机号,输入其它东西就无法提交!DOCTYPEhtmlforminputid=textpattern=^1[3-9]\d{9}required/inputid=buttontype=submit//form 注意只有非空的表单才会使用正则验证,如果什么都不输入的话,pattern不会被使用,所以还需要required协助。但是这个代码弹出的提示是这样的: 这样的提示文字只有猴子看得懂!所以我们还需要更友好的提示文字,使用setCustomValidity方法来定义。!DOCTYPEhtmlforminputid=textpattern=^1[3-9]\d{9}required/inputid=buttontype=submit//formscripttext.oninput=function(){text.setCustomValidity();};text.oninvalid=function(){text.setCustomValidity(请不要输入火星的手机号好吗?);};/script invalid事件会在表单submit事件之前触发,如果验证不通过的话就不会触发表单的submit。而提交时会先验证所有表单元素是值是否有效。除了提交外还可以手动调用checkValidity方法来执行验证。 上面的例子中我直接对控件设置固定的提示其实不太好,有时候可能需要更详细的提示信息,比如空的时候提示为空、太长的时候提示太长、非数字的时候提示非数字等。这些动作可以通过程序验证后动态地setCustomValidity来实现。 其实我觉得HTML5的这套API设计的很糟糕,虽然可以满足基本需求,但还真不太实用。想认识志同道合的朋友一起学习web
加入我们的学习QQ群
丰富的学习资源,周一到周四免费直播公开课
长按图片,识别