首页 > 开发 > HTML5 > 正文

HTML5表单验证功能:支持老旧浏览器

2024-09-05 07:18:41
字体:
来源:转载
供稿:网友
制作思路:编写一个插件,让老旧浏览器也可以使用html5语法来进行表达验证,只需在底层拦截submit事件,发现不符验证规则后利用jQuery触发invalid事件。开发者只需简单的绑定invalid事件,即可以完成以往很复杂的表单验证功能。

相信喜欢新鲜事物的前端er已经尝试过了HTML5的表单验证功能,非常强大的说。<input>中加入required就成为必填项了,
在pattern中写一个正则表达式,就能强制所填格式。下面是一个demo

<form>
 
    <input placeholder="必须填3-5位的下划线,数字、字母" required pattern="/w{3,5}">
 
    <input type="submit">
 
</form>
 
<script src="http://code.jquery.com/jquery.js"></script>
 
<script src="form.html5.js"></script>
 
<script>
 
$("input").bind("invalid", function(e){
 
    alert("错误,必须填3-5位的下划线,数字、字母");
 
    return false;
 
});
 
$("html").submit(function(e){
 
    if(e.isPropagationStopped()){
 
        return;
 
    }
 
    alert("表单成功提交");
 
    return false;
 
});
 
</script>

非常简单有木有?我们所需要做的只有两步步
1.将验证规则写成正则表达式放在input标签中的pattern属性里
2.jQuery拦截input的invalid事件
完成这两步,就已经可以在现代浏览器下完成表单验证了。

但是那么如何支持老旧浏览器呢?只需添加一行代码
<script src="form.html5.js"></script>

同时还需要下载这三个文件并确保三个文件在同一目录下。

form.html5.js form.html5.htc input.html5.htc select.htc

(select.htc的用途与表单验证无关.)

当你发生如下情况,可以回帖联系我

文件部署到服务器环境后失效。 你发现了让表单验证变得更简单的方法。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表