javascript简易表单验证插件
标签:
JavaScript
javascript简易表单验证插件:
1、dom结构示例如下:
<div class="frame-form">
<input data-check="empty" class="text-form" type="email" placeholder="姓名">
<input data-check="tel" class="text-form" type="text" placeholder="电话">
<input data-check="email" class="text-form" type="text" placeholder="邮箱">
<input data-check="empty" class="text-form" type="text" placeholder="公司">
<a href="#" class="submit">提交</a>
</div>
2、调用方式
<script>
$(function(){
var form=new CheckObject("frame-form");
$(".submit").click(function(){
form.checkTel().checkEmail().checkEmpty();
});
})
</script>
3、主要的js代码:
(function(){
var CheckObject=function(rang){
this.rang=$(rang);
}
CheckObject.prototype={
checkEmail:function(){
//验证邮箱
var email=this.rang.find("[data-check='email']").val();
if(!( /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/.test(email))){
console.log("邮箱错误");
}
return this;
},
checkTel:function(){
//验证电话
var phone=this.rang.find("[data-check='tel']").val();
if(!(/^1[34578]\d{9}$/.test(phone))){
console.log("电话号码错误");
}
return this;
},
checkEmpty:function(){
//判断为空
this.rang.find("[data-check='empty']").each(function(){
var str=$(this).val();
var placeholder=$(this).attr('placeholder')
if(str.replace(/(^\s*)|(\s*$)/g, "").length ==0){
console.log(placeholder+'不能为空');
}
});
return this;
}
}
window["CheckObject"]=CheckObject;
})();
我们使用匿名的自执行函数限制js的作用范围:
(function(){
})();
然后通过window["CheckObject"]=CheckObject;将验证类挂载到window下以提供实例化对象的接口(因为我们使用匿名的自执行函数限制了作用域,所以必须提供一个访问的接口)
我们在CheckObject.prototype下定义了各种的验证方法,这里用到了一个小窍门:
return this;
这样做的目的是返回当前对象,如此一来我们就可以像jquery一样使用链式调用:
form.checkTel().checkEmail().checkEmpty();
后续的验证方法可以继续在protype中添加,以上就是简易的js表单验证插件,大家可以多提意见。
点击查看更多内容
13人点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦