H5利用pattern属性和oninvalid属性验证表单

HTML代码

<!DOCTYPE html>
<html>
<head> 
<meta charset="utf-8"> 
<title>菜鸟教程(runoob.com)</title> 
</head>
<body>

<form action="demo-form.php">
 手机号:   
    <input type="text" name="phone" maxlength="11" pattern="^(0|86|17951)?1[0-9]{10}" 
    oninvalid="setCustomValidity('请输入11位手机号');"/>
    <br>
  <input type="submit">
</form>

</body>
</html>

运行结果

TIP:这里只写了手机号码的验证,用作示例,若需要验证其它东西,只需在pattern属性里写对应的正则表达式即可。也可以使用input类型里除了text的其它类型来做验证,比如

<input type="email">
<input type="number">

属性解释

  • pattern:属性规定用于验证输入字段的正则表达式。
  • oninvalid:提交的input元素的值为无效值时(这里是正则验证失败),触发oninvalid事件。oninvalid属于Form 事件。
  • setCustomValidity():这个是HTML5内置的JS方法,用来自定义提示信息
  • maxlength:限定input最大输入长度

其它属性

  • required:增加一个非空验证。ps——我这里有正则就没写
  • oninput:该事件在 input 或 textarea 元素的值发生改变时触发。

总结

  • 优点:简单方便。
  • 缺点:提示的UI不是太漂亮,无法做多个验证,必须表单提交才能验证(即ajax无效)。
  • 建议:在要求比较简单的时候可以考虑使用H5验证表单,也可以使用内置JS函数加各种事件自定义一个验证函数,不过这样不仅兼容是个问题,而且还麻烦,倒不如直接使用JQ插件验证

在线测试工具

这里我测试是用的菜鸟教程在线工具,点击旁边的菜鸟工具会进入到这个页面

转载于:https://www.cnblogs.com/huangjinyong/p/9359353.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值