JQuery表单验证(包括:用户名,手机号,密码,确认密码,验证码60s)

每个项目中都会有登录注册模块的一些验证。比如说:用户名我们要验证位数和是否符合用户名规则;密码要验证字母开头,长度,是否包含下划线等等,这里我总结了一下常用的验证规则,用的是项目中用到的class和id ,如果自己用到的话要对名称做相应的修改。

验证用户名的方法:

function username() {
        //reg1 = /^[a-zA-Z][a-zA-Z0-9_]{3,15}$/;// 帐号是否合法(字母开头,允许4-16字节,允许字母数字下划线)
        var reg = /^[0-9a-zA-Z_\u3E00-\u9FA5]{3,15}$/;//4-16字节,允许字母数字下划线
        var userName = $("#userName").val();
        if (userName == "") {
            $("#userNamePrompt").addClass("errorTextColor");
            $("#userNamePrompt").html("<img class='regImg' src='images/x.png' />用户名不能为空!");
            return false;
        } else if (!reg.test(userName)) {
            $("#userNamePrompt").addClass("errorTextColor");
            $("#userNamePrompt").html("<img class='regImg' src='images/x.png' />不正确的用户名格式!");
            return false;
        } else {
            var userFlag = false;
            $.ajaxSetup({
                async : false
            });
$.ajax({
                url : "user/checkUserName.do",
                data : {
                    userName : $("#userName").val()
                },
                success : function(data) {
                    if (data != "1") {
                        $("#userNamePrompt").addClass("errorTextColor");
                        $("#userNamePrompt").html("<img class='regImg' src='images/x.png' />"+data);
                        //userNamePrompt.innerHTML = data.fontcolor("red");
                    } else {
                        $("#userNamePrompt").html("<img class='regImg' src='images/v.png' />");
                        return userFlag = true;
                    }
                }
            });
            return userFlag;
        }
    }

验证手机号的方法 :

function phone() {
    var reg =  /^0?(13[0-9]|15[012356789]|17[0678]|18[0123456789]|14[57])[0-9]{8}$/;
    if ($("#telNo").val() == "") {
        $("#phonePrompt").addClass("errorTextColor");
        $("#phonePrompt").html("<img class='regImg' src='images/x.png' />手机号码不能为空!");
        /*$("#codeMsg").hide();*/
        return false;
    } else if ($("#telNo").val().length < 11) {
        $("#phonePrompt").addClass("errorTextColor");
        $("#phonePrompt").html("<img class='regImg' src='images/x.png' />手机号码长度有误!");
        /*$("#codeMsg").hide();*/
        return false;
    } else if (!reg.test($("#telNo").val())) {
        $("#phonePrompt").addClass("errorTextColor");
        $("#phonePrompt").html("<img class='regImg' src='images/x.png' />手机号不存在!");
        /*$("#codeMsg").hide();*/
        return false;} else {
        var phoneFlag = false;
        $.ajaxSetup({
            async : false
        });
        $.get("user/checkPhone.do",{
            type : 0,
            telNo : $("#telNo").val()
        }, function(data) {
            if (data != "1") {
                $("#phonePrompt").addClass("errorTextColor");
                $("#phonePrompt").html("<img class='regImg' src='images/x.png' />"+data);
                //telInfo.innerHTML = data.fontcolor("red");
            } else {
                $("#phonePrompt").html("<img class='regImg' src='images/v.png' />");
                $("#codeMsg").show();
                return phoneFlag = true;
            }
        });
        return phoneFlag;
    }
}

密码的验证方法 :

function password() {

         //reg2 = /^[a-zA-Z]\w{5,17}$/;// 密码(以字母开头,长度在6~18之间,只能包含字母、数字和下划线)
        reg2 = /^[a-zA-Z]\w{5,17}$/;
        var reg = /[\u4E00-\u9FA5]/;
        var userPwd = $('#userPwd').val();
        if (userPwd == "") {
            $("#newPwdPrompt").addClass("errorTextColor");

            $("#newPwdPrompt").html("<img class='regImg' src='images/x.png' />密码不能为空!");
            $('.regQrshow').hide();
            return false;
        } else if (userPwd.length < 6 || userPwd.length > 16) {
            $("#newPwdPrompt").addClass("errorTextColor");
            $("#newPwdPrompt").html("<img class='regImg' src='images/x.png' />长度不符合!");
            $('.regQrshow').hide();
            return false;
        } else if(reg.test(userPwd)){
            $("#newPwdPrompt").addClass("errorTextColor");
            $("#newPwdPrompt").html("<img class='regImg' src='images/x.png' />密码不能有中文!");
            $('.regQrshow').hide();
        } else {
            return true;
        }
    

确认密码的验证方法 :

function repassword() {
        /*这样的写法ie浏览器下会报错*/
        /*var pwd = $("#userPwd").val().trim();*/
        /*var repwd = $("#userPwdAgain").val().trim();*/

        var a=$('#userPwd').val();
        var pwd=$.trim(a);
        var b=$('#userPwdAgain').val();
        var repwd=$.trim(b);
        if (pwd == "") {
            $("#rePwdPrompt").addClass("errorTextColor");
            $("#rePwdPrompt").html("<img class='regImg' src='images/x.png' />密码不能为空!");

            return false;
        } else if (pwd !== repwd) {
            $("#rePwdPrompt").addClass("errorTextColor");
            $("#rePwdPrompt").html("<img class='regImg' src='images/x.png' />两次密码不一致");
            return false;
        } else {
            $("#rePwdPrompt").addClass("errorTextColor");
            $("#rePwdPrompt").html("<img class='regImg' src='images/v.png' />");
            //setFlag($("#userPwdAgain"));
            return true;
        }
    }

60s重新获取验证码

var wait = 60;
function time(btn) {
    if (wait == 0) {
        $('#voice').removeAttr("disabled");
        $('#msg').removeAttr("disabled");
        $('#voice').val("语音验证");
        $('#msg').val("短信验证");
        wait = 60;
    } else {
        btn.attr("disabled", true);
        btn.val(wait + "秒后重发");
        wait--;
        setTimeout(function(){
            time(btn);
        },1000)
    }
}
    原文作者:Bing
    原文地址: https://segmentfault.com/a/1190000009101917
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞