function AppValidate() { this.isEmail = function(str) { if (str) { &
function AppValidate() {  
    this.isEmail = function(str) {  
        if (str) {  
            var reg = /^([a-z0-9A-Z]+[-|\._]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\.)+[a-zA-Z]{2,20}$/;  
            return reg.test(str);  
        }  
        return true;  
    };  
    this.isDate = function(str) {  
        if (str) {  
            var reg = /^((\d{2}(([02468][048])|([13579][26]))[\-\/\s]?((((0?[13578])|(1[02]))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\-\/\s]?((0?[1-9])|([1-2][0-9])))))|(\d{2}(([02468][1235679])|([13579][01345789]))[\-\/\s]?((((0?[13578])|(1[02]))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\-\/\s]?((0?[1-9])|(1[0-9])|(2[0-8]))))))(\s(((0?[0-9])|([1-2][0-3]))\:([0-5]?[0-9])((\s)|(\:([0-5]?[0-9])))))?$/;  
            return reg.test(str);  
        }  
        return true;  
    };  
    this.isNumber = function(str) {  
        if (str) {  
            var reg = /^[0-9]\d*$/;  
            return reg.test(str);  
        }  
        return true;  
    }  
    this.isDoubleNumber = function(str) {  
        if ($.Validate.isNumber(str)) {  
            return true;  
        } else {  
  
            var reg = /\d+.\d+/;// /^([0-9]{1,})[\.](\d{1;2})$/;  
            var r = reg.test(str);  
            return r;  
        }  
    };  
    this.isPostCode = function(str) {  
        if (str) {  
            var reg = /\d{6}$/;  
            return reg.test(str);  
        }  
        return true;  
    };  
      
    // 固话或手机校验  
    this.isPhone = function(str) {  
        if (str) {  
            var reg = /^((13[0-9])|(15[^4,\D])|(18[0-9]))\d{8}$|^((\d{7,8})|(\d{4}|\d{3})(-)?(\d{7,8})|(\d{4}|\d{3})(-)?(\d{7,8})(-)?(\d{4}|\d{3}|\d{2}|\d{1})|(\d{7,8})(-)?(\d{4}|\d{3}|\d{2}|\d{1}))$/;  
            return reg.test(str);  
        }  
        return true;  
    };  
    // 手机校验  
    this.isMobile = function(str) { // add by ronizhang 11.8.30  
        if (str) {  
            var reg = /^((13[0-9])|(15[0-9])|(18[0-9]))\d{8}$/;  
            return reg.test(str);  
        }  
        return true;  
    };  
    // 固话校验  
    this.isFixPhone = function(str) { // add by ronizhang 11.8.30  
        if (str) {  
            var reg = /^((\d{7,8})|(\d{4}|\d{3})(-)?(\d{7,8})|(\d{4}|\d{3})(-)?(\d{7,8})(-)?(\d{4}|\d{3}|\d{2}|\d{1})|(\d{7,8})(-)?(\d{4}|\d{3}|\d{2}|\d{1}))$/;  
            return reg.test(str);  
        }  
        return true;  
    };  
    // 传真校验  
    this.isFax = function(str) {  
        if (str) {  
            var reg = /^((\d{7,8})|(\d{4}|\d{3})(-)?(\d{7,8})|(\d{4}|\d{3})(-)?(\d{7,8})(-)?(\d{4}|\d{3}|\d{2}|\d{1})|(\d{7,8})(-)?(\d{4}|\d{3}|\d{2}|\d{1}))$/;  
            return reg.test(str);  
        }  
        return true;  
    };  
    // 银行账号  
    this.isBankAccount = function(str) {  
        if (str) {  
            var reg = /^\d{16,30}$/;  
            return reg.test(str);  
        }  
        return true;  
    };  
    // 身份证  
    this.isIdCard = function(str) {  
        if (str) {  
  
            str = str.toUpperCase();  
            // alert(str);  
            // 身份证号码为15位或者18位,15位时全为数字,18位前17位为数字,最后一位是校验位,可能为数字或字符X。  
            // if (!(/(^\d{15}$)|(^\d{17}([0-9]|X)$)/.test(num)))  
  
            return (/(^\d{15}$)|(^\d{17}([0-9]|X)$)/.test(str));  
        }  
        return true;  
    };  
    // 网站地址校验  
    this.isDomain2 = function(str) {  
        if (str) {  
            var regStr = "^((https|http|ftp|rtsp|mms)+://)"  
                    + "?(([0-9a-z_!~*'().&=+$%-]+: )?[0-9a-z_!~*'().&=+$%-]+@)?" // ftp的user@  
                    + "(([0-9]{1,3}\.){3}[0-9]{1,3}" // IP形式的URL-  
                    // 199.194.52.184  
                    + "|" // 允许IP和DOMAIN(域名)  
                    + "([0-9a-z_!~*'()-]+\.)*" // 域名- www.  
                    + "([0-9a-z][0-9a-z-]{0,61})?[0-9a-z]\." // 二级域名  
                    + "[a-z]{2,6})" // first level domain- .com or  
                    // .museum  
                    + "(:[0-9]{1,4})?" // 端口- :80  
                    + "((/?)|" // a slash isn't required if there is no  
                    // file name  
                    + "(/[0-9a-z_!~*'().;?:@&=+$,%#-]+)+/?)$";  
            var reg = new RegExp(regStr);  
            return reg.test(str);  
        }  
        // return true;  
    };  
    // 网站地址校验广告组专用  
    this.isDomain = function(str) {  
        if (str) {  
            var regStr = "^((https|http|ftp|rtsp|mms)+://)[^\\s]";  
            var reg = new RegExp(regStr);  
            var result = reg.test(str);  
  
            return result;  
        }  
    };  
    this.isDoNet = function(str) {  
        if (str) {  
            var reg = /^(http(s)?:\/\/)?(www\.)?[\w-]+\.\w{2,4}(\/)?$/;  
  
            return reg.test(str);  
        }  
        return true;  
    };  
    this.isChecked = function(obj) {  
        if (obj) {  
            var tag = false;  
            obj.each(function() {  
                if ($(this).attr("checked")) {  
                    tag = true;  
                }  
            });  
            return tag;  
        }  
        return true;  
    };  
      
    // 不允许包含符号  
    this.isExcludeDenotationParentheses = function(str) {  
        if (str) {  
            var reg = /^[a-zA-Z0-9_\u4e00-\u9fa5()()]{1,50}$/;  
            return reg.test(str);  
        }  
        return true;  
    };  
      
    // 不允许包含符号  
    this.isExcludeDenotation = function(str) {  
        if (str) {  
            var reg = /^[a-zA-Z0-9_\u4e00-\u9fa5]{1,50}$/;  
            return reg.test(str);  
        }  
        return true;  
    };  
      
    this.isUserName = function(str) {  
        if (str) {  
            var reg = /^[a-zA-Z0-9_\u4e00-\u9fa5]{2,16}$/;  
            return reg.test(str);  
        }  
        return true;  
    };  
      
    this.isBankArea = function(str) {  
        if (str) {  
            var reg = /^[a-zA-Z0-9_\u4e00-\u9fa5]{2,30}$/;  
            return reg.test(str);  
        }  
        return true;  
    };  
      
    // 银行名称  
    this.isBankName = function(str) {  
        if (str) {  
            var reg = /^[a-zA-Z\u4e00-\u9fa5]{2,16}$/;  
            return reg.test(str);  
        }  
        return true;  
    };  
      
      
    this.isPassword = function(str) {  
        if (str) {  
            var reg = /^[\@A-Za-z0-9\!\#\$\%\^\&\*\.\~]{6,20}$/;  
            return reg.test(str);  
        }  
        return true;  
    };  
  
    this.isPasswordnew = function(str) {  
        var pattern1 = /^[a-zA-Z]$/;  
        var pattern2 = /^[0-9]$/;  
        // var pattern3 = /^[^0-9a-zA-Z]$/;  
        var isnum = false;  
        var ischar = false;  
        // var isext = false;  
  
        if (str) {  
            if (str.length < 6 || str.length > 16) {  
                return false;  
            }  
            for ( var j = 0; j < str.length; j++) {  
                var rs = str.substr(j, 1);  
                if (pattern1.test(rs)) {  
                    ischar = true;  
                }  
                if (pattern2.test(rs)) {  
                    isnum = true;  
                }  
                // if(pattern3.test(rs))  
                // {  
                // isext=true;  
                // }  
            }  
            if (ischar && isnum) {  
                return true;  
            } else {  
                return false;  
            }  
        }  
        return true;  
    };  
    // 是否只包含字母数字下划线中文空格  
    this.isCommonName = function(str) {  
        if (str) {  
            var reg = /^[a-zA-Z0-9_\u4e00-\u9fa5\s]+$/;  
            return reg.test(str);  
        }  
        return true;  
    };  
      
    // 是否只包含字母数字中划线(存储名称校验)  
    this.isHiSpaceName = function(str) {  
        if (str) {  
            var reg = /^[a-zA-Z]{1}[a-zA-Z0-9-\s]+$/;  
            return reg.test(str);  
        }  
        return true;  
    };  
      
    this.isTitle = function(s) {  
        var pattern = new RegExp(  
                "[`~!@#$^&*=|{}':;',\\[\\].<>/?~!@#¥……&*——|{}【】‘;:'。,、?]");  
        var rs = "";  
        for ( var i = 0; i < s.length; i++) {  
            rs = rs + s.substr(i, 1).replace(pattern, '');  
        }  
        if ("" == rs) {  
            return false;  
        } else if (s.length != rs.length) {  
            return false;  
        }  
        return true;  
    };  
      
    /** 
     * author liguangyang description 判断字符串是否包含特殊字符、标点符号 
     *  
     * @param s:传入的字符串 
     */  
    this.stripscriptAll = function(s) {  
        var pattern = new RegExp(  
                "[`~!@#$^&*()=|{}':;'\",\\[\\].<>/?~!@#¥……&*()——|{}【】‘;:”“'。,、?]");  
        var rs = "";  
        for ( var i = 0; i < s.length; i++) {  
            rs = rs + s.substr(i, 1).replace(pattern, '');  
        }  
        if ("" == rs) {  
            return false;  
        } else if (s.length != rs.length) {  
            return false;  
        }  
        return true;  
    };  
    this.containJsScript = function(str) {  
        var retVal = true;  
        if (str) {  
            var reg = /^([\s\S]*)((<script(\s)*>)|(<\/script>)|(<script(\s)+([\s\S]*)[^>]>))([\s\S]*)$/;  
            retVal = reg.test(str);  
  
        }  
        return retVal;  
    };  
    // 是否包含json特殊字符  
    this.containJsonChar = function(str) {  
        var retVal = false;  
        if (str) {  
            var reg = /^.*[&<>\"\':\{\}]+.*$/;  
            retVal = reg.test(str);  
        }  
        return retVal;  
    };  
    /* 
     * 检查字符串长度 l00192963 
     * 
     */  
    this.lengthCheck = function(str,up,down){  
        // console.log(str);  
        var minl = down || 0;  
        var maxl = up || 0;  
        if ((str.length>=minl) && (str.length<=maxl)) {  
            return true;  
        }  
        else {  
            return false;  
        }  
    }  
    /* 
     * 检查url合法性 l00192963 
     * 
     */  
    this.isURL = function(str){  
        //console.log("charge:#",str,"#");  
        if (str.length == 0) return false;  
        var myReg = "^((https|http|ftp|rtsp|mms)://)?[a-z0-9A-Z]{3}\.[a-z0-9A-Z][a-z0-9A-Z]{0,61}?[a-z0-9A-Z]\.com|net|cn|cc (:s[0-9]{1-4})?/$";  
        var tempReg = new RegExp(myReg);  
        if (tempReg.test(str) == false) {  
            return false;  
        } else {  
          return true;  
        }  
    }  
      
    // 检查密码,6~32个字符,包括字母、数字、符号(!@#$%^&*.~)  
    // q00131198  
    this.isPasswordOpen = function(str) {  
        if (str) {  
            var reg = /^[\@A-Za-z0-9\!\#\$\%\^\&\*\.\~]{6,32}$/;  
            return reg.test(str);  
        }  
        return true;  
    };  
      
    // 手机号校验  
    // q00131198  
    this.isMobileOpen = function(str) {  
        if (str) {  
            var reg1 = /^((0086)|(\+86))?((13[0-9])|(15[0-9])|(18[0-9]))\d{8}$/;  
            var reg2 = /^((00)|(\+))\d+$/;  
            return reg1.test(str) || reg2.test(str);  
        }  
        return true;  
    };  
      
    // 网址检验,形如http://www.baidu.com  
    // q00131198  
    this.isUrlOpen = function(str) {  
        if (str) {  
            var reg = /^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\*\+,;=]|:|@)|\/|\?)*)?$/;  
            return reg.test(str);  
        }  
        return true;  
    };  
      
    // 校验短信验证码  
    this.isPhoneVerCode = function(str) {  
        if (str) {  
            return (/^[a-z0-9A-Z]+$/.test(str));  
        }  
        return false;  
    };  
      
    // 检查应用包名是否合法。只能包含大小写字母,数字,点及下划线,长度小于200  
    this.isPgkName = function(str) {  
        if(!str){  
            return false;  
        }  
        if (str) {  
            var reg = /^[A-Za-z0-9\_\.]{1,200}$/;  
            return reg.test(str);  
        }  
        return true;  
    };  
      
    // 检查IMEI号,只包含大小写字母,数字,长度小于等于15  
    this.isIMEI = function(str) {  
        if(!str){  
            return false;  
        }  
        if (str) {  
            var reg = /^[A-Za-z0-9]{1,15}$/;  
            return reg.test(str);  
        }  
        return true;  
    };  
}  
  
$.extend({  
    // 扩展Jquery,增加校验方法  
    AppValidate : new AppValidate()  
});


上一篇:格式化php数组美化排列

下一篇:使用JavaScript修改浏览器URL地址栏的实现代码

评论列表
发表评论
称呼
邮箱
网址
验证码(*)
热评文章
相关阅读