JS验证正则(最简洁)

1 篇文章 0 订阅
1 篇文章 0 订阅
<script>
        //声明正则
        var i,inputs,text='',reg='',testReg='',
            userReg=/^[^~!#\$%\^&\*,.\/]\S{4,20}$/,
            pwdReg=/^[\w-]{6,12}$/,
            mailReg=/^[\w-]+@[a-z0-9]+.(com|cn|com.cn|net|org)$/;
            phoneReg=/^\d{11}$/;
        function checkInput(){
            var inputs=$("form input[class=text]");
            inputs.each(function(index,element){
                $(element).focus(function(){
                    text=isInput(this.name,false);
                    $(this).next("span").text(text).css("color","red");
                });
                $(element).blur(function(){
                    blurFun($(element),this.name);
                });
            });
        }
        //离开焦点
        function blurFun(curInput,name){
            if(curInput.val()==""){
                curInput.next("span").text("");
            }else{
                reg=isInput(this.name,true);
                if(reg.test(curInput.val())){
                    curInput.next("span").text("√").css("color","green");
                    //确认密码
                    if(name=="repassword" && $("input[name=password]").val()!=$("input[name=repassword]").val()){
                        $("input[name=repassword]").next().text("两次密码不一致!请重新输入").css("color","red");
                        return false;
                    }else{
                        curInput.next("span").text("√").css("color","green");
                    }
                }else{
                    curInput.next("span").text("×");
                }
                
            }
        }
        // 判断是否为空
        function notnull(){
            if($("form input[class=text]").val!=""){
                return true;
            }
        }
        //判断操作的是哪个文本框
        function isInput(Name,c){
            switch(Name){
                case 'username':text='用户名为4-20位';
                reg=userReg;
                break;
                case 'password':text='密码为6-12位的字母、数字、下划线或减号';
                reg=pwdReg;
                break;
                case 'repassword':text='请再次输入密码';
                reg=pwdReg;
                break;
                case 'telephone':text='请输入正确的手机号码';
                reg=phoneReg;
                break;
                case 'name':text='请输入真实姓名';
                reg=userReg;
                break;
            }
            if(c){
                return reg;
            }else{
                return text;
            }
        }
    
    $(function(){
        checkInput();
    })
</script>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值