jS——验证

我发现了一个现象:在原生js里的input 的onblur事件里如果直接调用方法名,则要求该方法在定义的时候的格式一定要与平时不同(name=function(){}),否则就会出现方法找不到的现象。

window.onload = function () {
    //验证用户名(只是验证长度不小于2个字符)
    UserNameValid = function (obj, className, errMessage) {
        var tip = document.getElementsByClassName(className)[0];
        var userName = obj.value;

        if (userName.length < 2) {
            tip.innerText = errMessage;
            return false;
        }
        else {
            tip.innerText = "";
            return true;
        }
    }

    ///验证昵称(多种格式匹配要求,需要时自己百度即可)
    NickNameValid = function (obj, className, errMessage) {
        var tip = document.getElementsByClassName(className)[0];
        var nickName = obj.value;
        //以数字字母(大小写)汉字开头的3到15个字符
        var match = /^[a-zA-Z0-9\u4E00-\u9FA5]{3,15}$/;
        if (nickName.length < 1 || !match.test(nickName)) {
            tip.innerText = errMessage;
            return false;
        }
        else {
            tip.innerText = "";
            return true;
        }
    }

    ///验证密码
    PwdValid = function (obj, className, errMessage) {
        var tip = document.getElementsByClassName(className)[0];
        var pwd = obj.value;
        //最少6位,包括至少1个大写字母,1个小写字母,1个数字,1个特殊字符
        var match = /^.*(?=.{6,})(?=.*\d)(?=.*[A-Z])(?=.*[a-z])(?=.*[.!@#$%^&*? ]).*$/;
        if (pwd.length < 1 || !match.test(pwd)) {
            tip.innerText = errMessage;
            return false;
        }
        else {
            tip.innerText = "";
            return true;
        }
    }

    ///验证确认密码
    RePwdValid = function (obj, oldId, className, errMessage) {
        var tip = document.getElementsByClassName(className)[0];
        //原密码
        var oldPwd = document.getElementById(oldId).value;
        var confirmPwd = obj.value;

        if (confirmPwd.length < 1 || confirmPwd != oldPwd) {
            tip.innerText = errMessage;
            return false;
        }
        else {
            tip.innerText = "";
            return true;
        }
    }

    ///验证手机
    MobileValid = function (obj, className, errMessage) {
        var tip = document.getElementsByClassName(className)[0];
        var mobile = obj.value;
        //手机号码
        var match = /^((13[0-9])|(14[5|7])|(15([0-3]|[5-9]))|(18[0,5-9]))\d{8}$/;
        if (mobile.length < 1 || !match.test(mobile)) {
            tip.innerText = errMessage;
            return false;
        }
        else {
            tip.innerText = "";
            return true;
        }
    }

    ///验证邮箱
    EmailValid = function (obj, className, errMessage) {
        var tip = document.getElementsByClassName(className)[0];
        var email = obj.value;
        //邮箱
        var match = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
        if (email.length < 1 || !match.test(email)) {
            tip.innerText = errMessage;
            return false;
        }
        else {
            tip.innerText = "";
            return true;
        }
    }

    ///验证身份证
    IdentityValid = function (obj, className, errMessage) {
        var tip = document.getElementsByClassName(className)[0];
        var identity = obj.value;
        //身份证
        var match = /^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/;
        if (identity.length < 1 || !match.test(identity)) {
            tip.innerText = errMessage;
            return false;
        }
        else {
            tip.innerText = "";
            return true;
        }
    }

    ///验证textArea(不限制字数)
    AreaValid = function (obj, className, errMessage) {
        var tip = document.getElementsByClassName(className)[0];
        var area = obj.value;

        if (area.length < 1) {
            tip.innerText = errMessage;
            return false;
        }
        else {
            tip.innerText = "";
            return true;
        }
    }
    ///验证textArea(限制字数)
    AreaLimitValid = function (obj, startNum, endNum, className, errMessage) {
        var tip = document.getElementsByClassName(className)[0];
        var area = obj.value;

        if (area.length <= endNum && area.length >= startNum) {
            tip.innerText = "";
            return true;

        }
        else {
            tip.innerText = errMessage;
            return false;
        }
    }

}

 

posted on 2017-06-10 16:36  奔游浪子  阅读(105)  评论(0)    收藏  举报

导航