亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

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人點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消