未命名文件

a:focus {
outline: thin dotted #333;
outline: 5px auto -webkit-focus-ring-color;
outline-offset: -2px;
}
a:hover {
outline: 0;
}
a:active {
outline: 0;
}
a:hover {
color: #005580;
text-decoration: underline;
}
blockquote small:before {
content: ‘\2014 \00A0‘;
}
q:before {
content: "";
}
q:after {
content: "";
}
blockquote:before {
content: "";
}
blockquote:after {
content: "";
}

1、概述:

我们在使用js的时候,通常要使用到校验,譬如校验邮箱,校验手机号码等相关信息,下面的js文件提供了众多的js校验方法;大家可以参考进行使用

2、源码

var validates = {
        /*
         * 用途:检查输入字符串是否只由英文字母和数字和下划线和汉字组成,且必须以字母或汉字开头
         * 输入: s:字符串 返回: 如果通过验证返回true,否则返回false
         * 2010-09-08
         */
        isNumberOr_OrLetterFirst : function(s) {
//          var regu = "/^[a-zA-Z0-9\_]+$";
            //var regu = "^[0-9a-zA-Z\_]+$";
            var re = new RegExp(/^[a-zA-Z][a-zA-Z0-9_]*$/);
            if (re.test(s)) {
                return true;
            } else {
                return false;
            }
        },
        "isNumberOr_OrLetterFirstText" :"只能输入英文字母、数字、下划线_,且以字母开头 例如:aads_73736jehwury_", 

        "daterange" : function(val, field) {
            if(!val){
                return true;
            }
            var date = field.parseDate(val);
            if (!date) {
                field.vtypeText = val+' 是无效的日期 - 必须符合格式Y-m-d';
                return false;
            }
            if (field.startDateField
                    && (!this.dateRangeMax || (date.getTime() != this.dateRangeMax
                            .getTime()))) {
                var start = Ext.getCmp(field.startDateField);
                start.setMaxValue(date);
                start.validate();
                this.dateRangeMax = date;
            } else if (field.endDateField
                    && (!this.dateRangeMin || (date.getTime() != this.dateRangeMin
                            .getTime()))) {
                var end = Ext.getCmp(field.endDateField);
                end.setMinValue(date);
                end.validate();
                this.dateRangeMin = date;
            }

            return true;
        },

        //做两个字段值大小之间的判断,适用于form表单,也适用于batchGrid
        "compareTwoValue" : function(val,field){
            if(!val){
                return true;
            }
            if(field.startField){//说明填的是下线值
                var start='';
                if(field.gridId){//在batchGrid中需要配置gridId 和celldblclick事件将当前的record记录上
                    var record = Ext.getCmp(field.gridId).returnRecord();
                    if(record){
                        start = record.get(field.startFieldName);//batchgrid中对应的列的dataIndex的值
                    }
                }else{
                    start = Ext.getCmp(field.startField).getValue();//适用于form表单的校验
                }
                var end = val;
                if(start!='' && end<start){
                    return false;
                }else{
                    //如果是在form里,为了处理那种不改标红项的值,而改没标红的值的情况
                    if(!field.gridId){
                        Ext.getCmp(field.startField).clearInvalid();
                    }
                }
            }else if(field.endField){//说明填的是上线值
                var start = val;
                var end = '';
                if(field.gridId){
                    var record = Ext.getCmp(field.gridId).returnRecord();
                    if(record){
                        end = record.get(field.endFieldName);
                    }
                }else{
                    end = Ext.getCmp(field.endField).getValue();
                }
                if(end!='' && end<start){
                    return false
                }else{
                    //如果是在form里,为了处理那种不改标红项的值,而改没标红的值的情况
                    if(!field.gridId){
                        Ext.getCmp(field.endField).clearInvalid();
                    }
                }
            }
            return true;
        },
        "compareTwoValueText" : "后者的值不能小于前者",

        /**
         * 特殊字符校验的正则表达式---专供煤炭产品定义使用,如果别的名称允许输入“/”
         * 那么也可以使用这个函数
         * @param {} str
         * @return {Boolean}
         */
        "isSpacailCharForSpecialName" : function(str) {
            if (str == "")
                return true;
            var forbidChar = new Array(",",","," ", "\\", "'","¥","‘","’", "@","!","!","%", "\"", "?", "&", "#",
                    "^", "》","《","<",">","*","[","]","(",")","(",")","{","}","、","。",".",
                    "`","~", "+","=", "$",";",";",":",":","|");
            for (var i = 0; i < forbidChar.length; i++) {
                if (str.indexOf(forbidChar[i]) >= 0) {
                    return false;
                }
            }
            return true;
        },
        "isSpacailCharForSpecialNameText" : "输入的内容含有特殊字符",

        /**
         * 控制不能输入'"','\''字符,因为拼接树的时候会出现解析错误
         * @param {} str
         * @return {Boolean}
         */
        "isQuotationMarks" : function(str) {
            if (str == "")
                return true;
            var forbidChar = new Array( "\"", "'");
            for (var i = 0; i < forbidChar.length; i++) {
                if (str.indexOf(forbidChar[i]) >= 0) {
                    return false;
                }
            }
            return true;
        },
        "isQuotationMarksText" : "输入的内容含有特殊字符英文单引号(')或者英文双引号(\")",
        /**
         * 控制不能输入'"','\'',"\n"字符,因为拼接树的时候会出现解析错误
         * @param {} str
         * @return {Boolean}
         * lys
         */
        "isQuotationMarksNew" : function(str) {
            if (str == "")
                return true;
            var forbidChar = new Array( "\"", "'","\n");
            for (var i = 0; i < forbidChar.length; i++) {
                if (str.indexOf(forbidChar[i]) >= 0) {
                    return false;
                }
            }
            return true;
        },
        "isQuotationMarksNewText" : "输入的内容含有特殊字符英文单引号(')、回车或者英文双引号(\")",
        /**
         * 控制不能输入'&',在用户所在地煤样抽查匹配中会出现解析错误
         * @date : 2012-02-15
         * @param {} str
         * @return {Boolean}
         */
        "isSpacailMark" : function(str) {
            if (str == "")
                return true;
            var forbidChar = new Array("&");
            for (var i = 0; i < forbidChar.length; i++) {
                if (str.indexOf(forbidChar[i]) >= 0) {
                    return false;
                }
            }
            return true;
        },
        "isSpacailMarkText" : "输入的内容含有&特殊字符",

        /**
         * 特殊字符校验的正则表达式
         * @param {} str
         * @return {Boolean}
         */
        "isSpacailChar" : function(str) {
            if (str == "")
                return true;
            var regu = "^`/[email protected]#$%^&amp; ',.*():{}[] <>";
            var re = new RegExp(regu);
            return re.test(str);
        },
        "isSpacailCharText" : "输入的内容含有特殊字符",

        /*
         * 用途:检查输入字符串是否为空或者全部都是空格 输入:str 返回: 如果全是空返回true,否则返回false
         */
        "isNull" : function(str) {
            if (str == "")
                return true;
            var regu = "^[ ]+$";
            var re = new RegExp(regu);
            return re.test(str);
        },
        "isNullText":"该单元格不能为空或者内容全是空格",

        /**
         * @param {} str
         * @return {Boolean}
         */
        "isNull2" : function(str) {
            if (str == "")
                return true;
            var regu = "^[ ]+$";
            var re = new RegExp(regu);
            if (re.test(str)) {
                return false;
            } else {
                return true;
            }
        },
        "isNull2Text":"该单元格不能为空或者内容全是空格",

        /*
         * 用途:检查输入对象的值是否符合整数格式 输入:str 输入的字符串 返回:如果通过验证返回true,否则返回false
         *
         */
        "isInteger" : function(str) {
            if(str==""){
                return true;
            }
            var regu = '/^[-]{0,1}[0-9]{1,}$/';
            return regu.test(str);
        },
        "isIntegerText":"请输入整数\n 例如:-1,2,59",

        /*
         * 用途:检查输入字符串是否符合正整数格式 输入: s:字符串 返回: 如果通过验证返回true,否则返回false
         *
         */
        "isNumber" : function(s) {
            if(s==""){
                return true;
            }
            var regu = "^[0-9]+$";
            var re = new RegExp(regu);
            if (s.search(re) != -1) {
                return true;
            } else {
                return false;
            }
        },
        "isNumberText":"请输入正整数\n 例如:1,2,25",
        /*
        *用途:检查输入字符串是否是整数或小数,可以是负数 输入: s:字符串 返回: 如果通过验证返回true,否则返回false
        *
        */
        "isDouble":function(s){
            if(s==""){
                return true;
            }
            var re = new RegExp(/^-?\d*\.?\d*$/);
            if(re.test(s)){
                return true;
            }else{
            return false;
            }
        },
        "isDoubleText":"请输入整数或小数\n 例如: 1,2,2.25,0.78",

        /**
         * 只能输入小数点后4位非负小数
         * @param {} s
         * @return {Boolean}
         */
        "isDouble4":function(s){
            if(s==""){
                return true;
            }
            var re = new RegExp(/^[0-9]+([.]{1}[0-9]{1,4})?$/);
            if(re.test(s)){
                return true;
            }else{
            return false;
            }
        },
        "isDouble4Text":"只能输入最多含4位小数的数字",

        /**
         * 只能输入小数点后12位非负小数
         * @param {} s
         * @return {Boolean}
         */
        "isDouble12":function(s){
            if(s==""){
                return true;
            }
            var re = new RegExp(/^[0-9]+([.]{1}[0-9]{1,12})?$/);
            if(re.test(s)){
                return true;
            }else{
                return false;
            }
        },
        "isDecimalValue":function(s){//
            if(s==""){
                return true;
            }
            var re = new RegExp(/^0\.([1-9][0-9]?|[0-9][1-9])$/);
            if(re.test(s)){
                return true;
            }else{
                return false;
            }
        },
        "isDecimalValueText":"只能输入最多含2位小数的数字",
        "isDouble12Text":"只能输入最多含12位小数的数字",
        /**
         * 只能输入小数点后2位非负小数
         * @param {} s
         * @return {Boolean}
         */
        "isDouble2":function(s){
            if(s==""){
                return true;
            }
            var re = new RegExp(/^[0-9]+([.]{1}[0-9]{1,2})?$/);
            if(re.test(s)){
                return true;
            }else{
            return false;
            }
        },
        "isDouble2Text":"只能输入最多含2位小数的数字",

        /*
         * 用途:检查输入字符串是否是带小数的数字格式,可以是负数 输入: s:字符串 返回: 如果通过验证返回true,否则返回false
         *
         */
        "isDecimal" : function(str) {
            if(str==""){
                return true;
            }
            if (isInteger(str))
                return true;
            var re = '/^[-]{0,1}(\d+)[\.]+(\d+)$/';
            if (re.test(str)) {
                if (RegExp.$1 == 0 && RegExp.$2 == 0)
                    return false;
                return true;
            } else {
                return false;
            }
        },
        "isDecimalText":"请输入小数 \n 例如:-1.344,5.9939",

        /*
         * 用途:检查输入字符串是否是非负数字格式,输入: s:字符串 返回: 如果通过验证返回true,否则返回false
         *
         */
        "isDecimalNotNavigate" : function(str) {
            if(str==""){
                return true;
            }
            var regu = '^\\d+(\\.\\d+)?$';
//          var regu = '^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$';
            var re = new RegExp(regu);
            return re.test(str);
        },
        "isDecimalNotNavigateText":"请输入非负数 \n 例如:1.344,5.9939",

        /*
         * 用途:检查输入对象的值是否符合端口号格式 输入:str 输入的字符串 返回:如果通过验证返回true,否则返回false
         *
         */
        isPort : function(str) {
            if(str==""){
                return true;
            }
            return (str>0 && str < 65536);
        },
        "isPortText" : "端口号只能是大于0小于65536的正整数",

        /*
         * 用途:检查输入对象的值是否符合E-Mail格式 输入:str 输入的字符串 返回:如果通过验证返回true,否则返回false
         *
         */
        "isEmail" : function(str) {
            if(str==""){
                return true;
            }
            var myReg = /^[-_A-Za-z0-9][email protected]([_A-Za-z0-9]+\.)+[A-Za-z0-9]{2,3}$/;
            if (myReg.test(str))
                return true;
            return false;
        },
        "isEmailText":"请输入正确的邮件格式\n 例如:[email protected]",

        /*
         * 用途:检查输入字符串是否符合金额格式 格式定义为带小数的正数,小数点后最多三位 输入: s:字符串 返回:
         * 如果通过验证返回true,否则返回false
         *
         */
        "isMoney" : function(s) {
            if(s==""){
                return true;
            }
            var regu = "^[0-9]+[\.][0-9]{0,3}$";
            var re = new RegExp(regu);
            if (re.test(s)) {
                return true;
            } else {
                return false;
            }
        },
        "isMoneyText":"只能输入带三位的小数\n 例如:223.777",

        /*
        *   用途:检查是否是oracle关键字
        */
        "isOracle_KeyWords":function(str){
            var keywords = "ACCESS ADD ALL ALTER AND ANY AS ASC AUDIT BETWEEN BY CHAR"+
                                "CHECK CLUSTER COLUMN COMMENT COMPRESS CONNECT CREATE CURRENT"+
                                "DATE DECIMAL DEFAULT DELETE DESC DISTINCT DROP ELSE EXCLUSIVE"+
                                "EXISTS FILE FLOAT FOR FROM GRANT GROUP HAVING IDENTIFIED"+
                                "IMMEDIATE IN INCREMENT INDEX INITIAL INSERT INTEGER INTERSECT"+
                                "INTO IS LEVEL LIKE LOCK LONG MAXEXTENTS MINUS MLSLABEL MODE"+
                                "MODIFY NOAUDIT NOCOMPRESS NOT NOWAIT NULL NUMBER OF OFFLINE ON"+
                                "ONLINE OPTION OR ORDER PCTFREE PRIOR PRIVILEGES PUBLIC RAW"+
                                "RENAME RESOURCE REVOKE ROW ROWID ROWNUM ROWS SELECT SESSION"+
                                "SET SHARE SIZE SMALLINT START SUCCESSFUL SYNONYM SYSDATE TABLE"+
                                "THEN TO TRIGGER UID UNION UNIQUE UPDATE USER VALIDATE VALUES"+
                                "VARCHAR VARCHAR2 VIEW WHENEVER WHERE WITH";
            var ts = keywords.split(" ");
            for(var i=0;i<ts.length;i++ ){
                    if(ts[i]==str.toUpperCase()){
                        return  false;//已存在该字段
                    }else{
                    return true;
                    }
        }},
        "isOracle_KeyWordsText":"该字段一再列表中存在,请换个名再试",
        /*
         * 用途:检查输入字符串是否只由英文字母和数字和下划线组成 输入: s:字符串 返回: 如果通过验证返回true,否则返回false
         *
         */
        "isNumberOr_Letter" : function(s) {// 判断是否是数字或字母
            if(s==""){
                return true;
            }
            var regu = "^[0-9a-zA-Z\_]+$";
            var re = new RegExp(regu);
            if (re.test(s)) {
                return true;
            } else {
                return false;
            }
        },
        "isNumberOr_LetterText":"只能输入英文字母、数字和下划线\n 例如:1213aads_73736jehwury",
        /*
         * 用途:检查输入字符串是否只由英文字母和数字和下划线组成 输入: s:字符串 返回: 如果通过验证返回true,否则返回false
         */
        "isNumberOr_Letter3" : function(s) {// 判断是否是数字或字母
            if(s==""){
                return true;
            }
            var regu = "^[0-9a-zA-Z\_\/\(\)]+$";
            var re = new RegExp(regu);
            if (re.test(s)) {
                return true;
            } else {
                return false;
            }
        },
        "isNumberOr_Letter31Text":"只能输入英文字母、数字、括号、/和下划线\n 例如:1213aads_73736jehwury////",
        /*
         * 用途:检查输入字符串是否只由英文字母和数字和下划线组成 输入: s:字符串 返回: 如果通过验证返回true,否则返回false
         *
         */
        "isNumberOr_-Letter" : function(s) {// 判断是否是数字或字母
            if(s != ""){
                var regu = "^[0-9a-zA-Z\_\-]+$";
                var re = new RegExp(regu);
                if (re.test(s)) {
                    return true;
                } else {
                    return false;
                }
            }else{
                    return true;
            }
        },
        "isNumberOr_-LetterText":"只能输入英文字母、数字,横线和下划线\n 例如:1213aads_737-36jehwury",
        /*
         * 用途:检查输入字符串是否只由英文字母和数字和下划线组成 输入: s:字符串 返回: 如果通过验证返回true,否则返回false
         *
         */
        "isNumberOr_Letter2" : function(s) {
            if(s==""){
                return true;
            }
            var regu = "^[0-9a-zA-Z\_\-]+$";
            var re = new RegExp(regu);
            if (re.test(s)) {
                return true;
            } else {
                return false;
            }
        },
        "isNumberOr_Letter2Text":"只能输入英文字母、数字,横线和下划线\n 例如:1213aads_737-36jehwury",

        /*
         * 用途:检查输入字符串是否只由英文字母和数字组成 输入: s:字符串 返回: 如果通过验证返回true,否则返回false
         *
         */
        "isNumberOrLetter" : function(s) {// 判断是否是数字或字母
            if(s==""){
                return true;
            }
            var regu = "^[0-9a-zA-Z]+$";
            var re = new RegExp(regu);
            if (re.test(s)) {
                return true;
            } else {
                return false;
            }
        },
        "isNumberOrLetterText":"只能输入英文字母和数字 \n 例如:1213aads",

        /*
         * 用途:检查输入字符串是否只由英文字母和数字组成,或“/”组成,用于产品定义中的拼音码简称 输入: s:字符串 返回: 如果通过验证返回true,否则返回false
         *
         */
        "isNumberOrLetterP" : function(s) {// 判断是否是数字或字母
            if(s==""){
                return true;
            }
            var regu = "^[//0-9a-zA-Z]+$";
            var re = new RegExp(regu);
            if (re.test(s)) {
                return true;
            } else {
                return false;
            }
        },
        "isNumberOrLetterPText":"只能输入英文字母和数字及“/” \n 例如:1213/aads",

        /*
         * 用途:检查输入字符串是否只由英文字母和数字或“/”组成,用于产品定义中的产品编码 输入: s:字符串 返回: 如果通过验证返回true,否则返回false
         *
         */
        "isNumberOrLetterP" : function(s) {// 判断是否是数字或字母
            if(s==""){
                return true;
            }
            var regu = "^[//0-9a-zA-Z]+$";
            var re = new RegExp(regu);
            if (re.test(s)) {
                return true;
            } else {
                return false;
            }
        },
        "isNumberOrLetterPText":"只能输入英文字母、数字及“/” \n 例如:1213/aads",

        /*
         * 用途:检查输入字符串是否只由汉字、字母、数字组成 输入: value:字符串 返回: 如果通过验证返回true,否则返回false
         *
         */
        "isChinaOrNumbOrLett" : function(s) {// 判断是否是汉字、字母、数字组成
            if(s==""){
                return true;
            }
            var regu = "^[0-9a-zA-Z\u4e00-\u9fa5]+$";
            var re = new RegExp(regu);
            if (re.test(s)) {
                return true;
            } else {
                return false;
            }
        },
        "isChinaOrNumbOrLettText":"只能输入汉字、字母和数字",
        /*
         * 用途:检查输入字符串是否只由汉字、字母、数字,/和_组成 输入: value:字符串 返回: 如果通过验证返回true,否则返回false
         *
         */
        "isChinaOrNumbOrLett2" : function(s) {// 判断是否是汉字、字母、数字组成
            if(s==""){
                return true;
            }
            var regu = "^[0-9a-zA-Z\u4e00-\u9fa5\/\_\(\)]+$";
            var re = new RegExp(regu);
            if (re.test(s)) {
                return true;
            } else {
                return false;
            }
        },
        "isChinaOrNumbOrLett2Text":"只能输入汉字、字母、数字、/、()和_",
        /*
         *用途:只能输入汉字并且位数应少于50
         */

         "isChina":function(s){
         var regu = "^[\u4E00-\u9FA5]{0,50}$";
         var re = new RegExp(regu);
         if(re.test(s)){
            return true;
         }else{
            return false;
         }
         },
         "isChinaText":"只能输入汉字并且长度应该小于50",

         "isChina25":function(s){
         var regu = "^[\u4E00-\u9FA5]{0,25}$";
         var re = new RegExp(regu);
         if(re.test(s)){
            return true;
         }else{
            return false;
         }
         },
         "isChina25Text":"只能输入汉字并且长度应该小于等于25",

         "isNubermChar":function(s){
         var regu = "^[0-9\%\.]+$";
         var re = new RegExp(regu);
         if(re.test(s)){
            return true;
         }else{
            return false;
         }
         },
         "isNubermCharText":"只能输入数字和%号",

        /*
         * 用途:检查输入字符串是否只由汉字、字母、数字、'-','_'组成 输入: value:字符串 返回: 如果通过验证返回true,否则返回false
         *
         */
        "isChinaOrNumb_OrLett2" : function(s) {
            if(s==""){
                return true;
            }
            var regu = "^[0-9a-zA-Z\u4e00-\u9fa5\_\/\*\-]+$";
            var re = new RegExp(regu);
            if (re.test(s)) {
                return true;
            } else {
                return false;
            }
        },
        "isChinaOrNumb_OrLett2Text":"只能输入汉字、字母、数字、下划线和横线\n 例如:你好_737-ehwury",
        /**
         * 用途:检查输入字符串是否只由汉字、字母、数字、'-','_'和'()'组成
         * @date 2013-05-24
         */
        "isChinaOrNumb_OrLett2OrBracket" : function(s) {
            if(s==""){
                return true;
            }
            var regu = "^[\(\)\(\)\\0-9a-zA-Z\u4e00-\u9fa5\_\/\*\-]+$";
            var re = new RegExp(regu);
            if (re.test(s)) {
                return true;
            } else {
                return false;
            }
        },
        "isChinaOrNumb_OrLett2OrBracketText" : "只能输入汉字、字母、数字、下划线、横线和小括号",
        /*
         * 用途:检查输入字符串是否只由汉字、字母、数字、'-'、'——'组成 输入: value:字符串 返回: 如果通过验证返回true,否则返回false
         *
         */
        "isChinaOrNumb_OrLett3" : function(s) {
            if(s==""){
                return true;
            }
            var regu = "^[0-9a-zA-Z\u4e00-\u9fa5\-\/\——]+$";
            var re = new RegExp(regu);
            if (re.test(s)) {
                return true;
            } else {
                return false;
            }
        },
        "isChinaOrNumb_OrLett3Text":"只能输入汉字、字母、数字和中英文横线\n 例如:你好737-ehwury",
        /*
         * 用途:检查输入字符串是否只由汉字、字母、数字、'-','_','/','\','*'组成 输入: value:字符串 返回: 如果通过验证返回true,否则返回false
         *
         */
        "isChinaOrNumb_OrStarLett2" : function(s) {
            if(s==""){
                return true;
            }
            var regu = "^[\\0-9a-zA-Z\u4e00-\u9fa5\_\(-)*\-]+$";
            var re = new RegExp(regu);
            if (re.test(s)) {
                return true;
            } else {
                return false;
            }
        },
        "isChinaOrNumb_OrStarLett2Text":"只能输入汉字、字母、数字、下划线、横线、斜线、反斜线、星号\n 例如:你好_737-eh/wu\ry*js",

        /*
         * 用途:检查输入字符串是否只由汉字、字母、数字、'-','_'、'/'组成 输入: value:字符串 返回: 如果通过验证返回true,否则返回false
         *
         */
        "isChinaOrNumb_OrLettOrLine2" : function(s) {
            if(s==""){
                return true;
            }
            var regu = "^[\\0-9a-zA-Z\u4e00-\u9fa5\_\-]+$";
            var re = new RegExp(regu);
            if (re.test(s)) {
                return true;
            } else {
                return false;
            }
        },
        "isChinaOrNumb_OrLettOrLine2Text":"只能输入汉字、字母、数字、'%'、'_'、'-'、'/'",

        /*
         * 用途:检查输入字符串是否只由汉字、字母、数字、'-','_'、'/'、'()'组成 输入: value:字符串 返回: 如果通过验证返回true,否则返回false
         *
         */
        "isChinaOrNumb_OrLettOrLine2OrBracket" : function(s) {
            if(s==""){
                return true;
            }
            var regu = "^[\(\)\(\)\\0-9a-zA-Z\u4e00-\u9fa5\_\-]+$";
            var re = new RegExp(regu);
            if (re.test(s)) {
                return true;
            } else {
                return false;
            }
        },
        "isChinaOrNumb_OrLettOrLine2OrBracketText":"只能输入汉字、字母、数字、'()'、'_'、'-'、'/'",

        /*
         * 用途:判断是否是日期 输入:date:日期;fmt:日期格式 返回:如果通过验证返回true,否则返回false
         */
        "isDate" : function(date, fmt) {
            if(date==""){
                return true;
            }
            if (fmt == null)
                fmt = "yyyyMMdd";
            var yIndex = fmt.indexOf("yyyy");
            if (yIndex == -1)
                return false;
            var year = date.substring(yIndex, yIndex + 4);
            var mIndex = fmt.indexOf("MM");
            if (mIndex == -1)
                return false;
            var month = date.substring(mIndex, mIndex + 2);
            var dIndex = fmt.indexOf("dd");
            if (dIndex == -1)
                return false;
            var day = date.substring(dIndex, dIndex + 2);
            if (!isNumber(year) || year > "2100" || year < "1900")
                return false;
            if (!isNumber(month) || month > "12" || month < "01")
                return false;
            if (day > getMaxDay(year, month) || day < "01")
                return false;
            return true;
        },

        getMaxDay : function(year, month) {
            if (month == 4 || month == 6 || month == 9 || month == 11)
                return "30";
            if (month == 2)
                if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0)
                    return "29";
                else
                    return "28";
            return "31";
        },
        "isDateText":"输入的正确的日期格式\n 例如:2010-05-05 12:23:45",

        /*
         * 用途:字符1是否以字符串2结束 输入:str1:字符串;str2:被包含的字符串 返回:如果通过验证返回true,否则返回false
         *
         */
        "isLastMatch" : function(str1, str2) {
            var index = str1.lastIndexOf(str2);
            if (str1.length == index + str2.length)
                return true;
            return false;
        },
        "isLastMatchText":"前一个字符串只能以后一个字符串结束",

        /*
         * 用途:字符1是否以字符串2开始 输入:str1:字符串;str2:被包含的字符串 返回:如果通过验证返回true,否则返回false
         *
         */
        "isFirstMatch" : function(str1, str2) {
            var index = str1.indexOf(str2);
            if (index == 0)
                return true;
            return false;
        },
        "isFirstMatchText":"前一个字符串只能以后一个字符串开始",
        /*
         * 用途:字符1是包含字符串2 输入:str1:字符串;str2:被包含的字符串 返回:如果通过验证返回true,否则返回false
         *
         */
        "isMatch" : function(str1, str2) {
            var index = str1.indexOf(str2);
            if (index == -1)
                return false;
            return true;
        },
        "isMatchText":"前一个字符串要包含后一个字符串",

        //邮箱验证
        "mail" : function(_v) {
            if(_v==""){
                return true;
            }
            return '/^\[email protected]\w+\.\w+$/'.test(_v);
           },
           "mailText" : "请输入正确的email格式!\n例如:[email protected]",//错误提示
           "mailMask" : '/[\[email protected]]/i',//这行是用户应该输入的值的格式,这行可以不写

        // 年龄
        "age" : function(_v) {
            if(_v==""){
                return true;
            }
            if ('/^\d+$/'.test(_v)) {
                var _age = parseInt(_v);
                if (_age < 200)
                    return true;
            } else
                return false;
        },
        'ageText' : '年龄格式出错!!格式例如:20',
        'ageMask' : '/[0-9]/i',

        // 密码验证
        "repassword" : function(_v, field) {
            if (field.confirmTO) {
                var psw = Ext.get(field.confirmTO);
                return (_v == psw.getValue());
            }
            return true;
        },
        "repasswordText" : "密码输入不一致!!",
        "repasswordMask" : '/[a-z0-9]/i',

        // 邮政编码
        "postcode" : function(_v) {
            if(_v==""){
                return true;
            }
            return (/^[1-9]\d{5}$/.test(_v));
        },
        "postcodeText" : "该输入项目必须是邮政编码格式,例如:226001",
//      "postcodeMask" : '/[0-9]/i',

        // IP地址验证
        "ip" : function(_v) {
            return /^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/
                    .test(_v);

        },
        "ipText" : "该输入项目必须是IP地址格式,例如:222.192.42.12",
        "ipMask" : /[0-9\.]/i,

        // fax传真
        "fax" : function(_v) {
            if(_v==""){
                return true;
            }
            return (/(^\d{3}\-\d{7,8}$)|(^\d{4}\-\d{7,8}$)|(^\d{3}\d{7,8}$)|(^\d{4}\d{7,8}$)|(^\d{7,8}$)/
                    .test(_v));
        },
        "faxText" : "该输入值必须是传真格式,例如:0513-89500414,051389500414,89500414",

        // 固定电话及小灵通
        "telephone" : function(_v) {
            if(_v==""){
                return true;
            }
            return (/(^\d{3}\-\d{7,8}$)|(^\d{4}\-\d{7,8}$)|(^\d{3}\d{7,8}$)|(^\d{4}\d{7,8}$)|(^\d{7,8}$)/
                    .test(_v));
        },
        "telephoneText" : "该输入项目必须是电话号码格式,例如:0513-89500414,051389500414,89500414",
//      "telephoneMask" : '/[0-9\-]/i',

        // 手机
        "mobile" : function(_v) {
            if(_v==""){
                return true;
            }
            return '/^1[35][0-9]\d{8}$/'.test(_v);
        },
        "mobileText" : "该输入项目必须是手机号码格式,例如:13485135075",
        "mobileMask" : '/[0-9]/i',

        // 身份证
        "IDCard" : function(_v) {
            if(_v==""){
                return true;
            }
            // return /(^[0-9]{17}([0-9]|[Xx])$)|(^[0-9]{17}$)/.test(_v);
            var area = {
                11 : "北京",
                12 : "天津",
                13 : "河北",
                14 : "山西",
                15 : "内蒙古",
                21 : "辽宁",
                22 : "吉林",
                23 : "黑龙江",
                31 : "上海",
                32 : "江苏",
                33 : "浙江",
                34 : "安徽",
                35 : "福建",
                36 : "江西",
                37 : "山东",
                41 : "河南",
                42 : "湖北",
                43 : "湖南",
                44 : "广东",
                45 : "广西",
                46 : "海南",
                50 : "重庆",
                51 : "四川",
                52 : "贵州",
                53 : "云南",
                54 : "西藏",
                61 : "陕西",
                62 : "甘肃",
                63 : "青海",
                64 : "宁夏",
                65 : "新疆",
                71 : "台湾",
                81 : "香港",
                82 : "澳门",
                91 : "国外"
            }
            var Y, JYM;
            var S, M;
            var idcard_array = new Array();
            idcard_array = _v.split("");
            // 地区检验
            if (area[parseInt(_v.substr(0, 2))] == null) {
                this.IDCardText = "身份证号码地区非法!!,格式例如:32";
                return false;
            }
            // 身份号码位数及格式检验
            switch (_v.length) {
                case 15 :
                    if ((parseInt(_v.substr(6, 2)) + 1900) % 4 == 0
                            || ((parseInt(_v.substr(6, 2)) + 1900) % 100 == 0 && (parseInt(_v
                                    .substr(6, 2)) + 1900)
                                    % 4 == 0)) {
                        ereg = '/^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}$/';// 测试出生日期的合法性
                    } else {
                        ereg = '/^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}$/';// 测试出生日期的合法性
                    }
                    if (ereg.test(_v))
                        return true;
                    else {
                        this.IDCardText = "身份证号码出生日期超出范围,格式例如:19860817";
                        return false;
                    }
                    break;
                case 18 :
                    // 18位身份号码检测
                    // 出生日期的合法性检查
                    // 闰年月日:((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))
                    // 平年月日:((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))
                    if (parseInt(_v.substr(6, 4)) % 4 == 0
                            || (parseInt(_v.substr(6, 4)) % 100 == 0 && parseInt(_v
                                    .substr(6, 4))
                                    % 4 == 0)) {
                        ereg = '/^[1-9][0-9]{5}19[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}[0-9Xx]$/';// 闰年出生日期的合法性正则表达式
                    } else {
                        ereg = '/^[1-9][0-9]{5}19[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}[0-9Xx]$/';// 平年出生日期的合法性正则表达式
                    }
                    if (ereg.test(_v)) {// 测试出生日期的合法性
                        // 计算校验位
                        S = (parseInt(idcard_array[0]) + parseInt(idcard_array[10]))
                                * 7
                                + (parseInt(idcard_array[1]) + parseInt(idcard_array[11]))
                                * 9
                                + (parseInt(idcard_array[2]) + parseInt(idcard_array[12]))
                                * 10
                                + (parseInt(idcard_array[3]) + parseInt(idcard_array[13]))
                                * 5
                                + (parseInt(idcard_array[4]) + parseInt(idcard_array[14]))
                                * 8
                                + (parseInt(idcard_array[5]) + parseInt(idcard_array[15]))
                                * 4
                                + (parseInt(idcard_array[6]) + parseInt(idcard_array[16]))
                                * 2
                                + parseInt(idcard_array[7])
                                * 1
                                + parseInt(idcard_array[8])
                                * 6
                                + parseInt(idcard_array[9]) * 3;
                        Y = S % 11;
                        M = "F";
                        JYM = "10X98765432";
                        M = JYM.substr(Y, 1);// 判断校验位
                        // alert(idcard_array[17]);
                        if (M == idcard_array[17]) {
                            return true; // 检测ID的校验位
                        } else {
                            this.IDCardText = "身份证号码末位校验位校验出错,请注意x的大小写,格式例如:201X";
                            return false;
                        }
                    } else {
                        this.IDCardText = "身份证号码出生日期超出范围,格式例如:19860817";
                        return false;
                    }
                    break;
                default :
                    this.IDCardText = "身份证号码位数不对,应该为15位或是18位";
                    return false;
                    break;
            }
        },
        "IDCardText" : "该输入项目必须是身份证号码格式,例如:32082919860817201x",
        "IDCardMask" : '/[0-9xX]/i',

        "isNumberOrLetterAndSpace" : function(s) {// 判断是否是数字或字母
            if(s==""){
                return true;
            }
            var regu = "^[0-9a-zA-Z][0-9a-zA-Z ]*$";
            var re = new RegExp(regu);
            if (re.test(s)) {
                return true;
            } else {
                return false;
            }
        },
        "isNumberOrLetterAndSpaceText":"只能输入英文字母和数字和空格 \n 例如:12 as 13 ds   ",

        /**
         * 2010-12-15
         * 控制不能输入'"','\''字符,因为拼接树的时候会出现解析错误
         * @param {} str
         * @return {Boolean}
         */
        "isQuotationChineseMarks" : function(str) {
            var re = new RegExp(/[\u4e00-\u9fa5]|\'|\"/);
            if (re.test(str)) {
                return false;
            } else {
                return true;
            }
        },
        "isQuotationChineseMarksText" : "输入的内容含有特殊字符英文单引号(')或者英文双引号(\")或者中文汉字",
        /**
         * 2011-7-8
         * 控制不能输入"<"字符,因为grid中"</"会不显示也不能输入全部为空格
         * @param {} str
         * @return {Boolean}
         */
        "isLessThan" : function(str) {
            var re = new RegExp(/<|^[ ]+$/);
            if (re.test(str)) {
                return false;
            } else {
                return true;
            }
        },
        "isLessThanText" : "输入的内容含有特殊字符英文小于号(<)或者全部为空格",

        //验证url
        "isUrl" : function(_v) {
              /*  var strregex = "^((https|http|ftp|rtsp|mms)?://)"
                        + "?(([0-9a-za-z_!~*'().&=+$%-]+: )?[0-9a-za-z_!~*'().&=+$%-][email protected])?" //ftp的[email protected]
                        + "(([0-9]{1,3}.){3}[0-9]{1,3}" // ip形式的url- 199.194.52.184
                        + "|" // 允许ip和domain(域名)
                        + "([0-9a-za-z_!~*'()-]+.)*" // 域名- www.
                        + "([0-9a-za-z][0-9a-za-z-]{0,61})?[0-9a-za-z]." // 二级域名
                        + "[a-za-z]{2,6})" // first level domain- .com or .museum
                        + "(:[0-9]{1,4})?" // 端口- :80
                        + "((/?)|"
                        + "(/[0-9a-za-z_!~*'().;?:@&=+$,%#-]+)+/?)$";  */
            var re=new RegExp(/^https?:\/\/(([a-zA-Z0-9_-])+(\.)?)*(:\d+)?(\/((\.)?(\?)?=?&?[a-zA-Z0-9_-](\?)?)*)*$/);
            return re.test(_v);
        },
        "isUrlText" : "该输入项目必须是url地址格式,例如http://localhost:8002",
        "isChinaOrNumbOrLettBrackets" : function(s) {// 判断是否是汉字、字母、数字组成加括号
            if(s==""){
                return true;
            }
            var regu = "^[0-9a-zA-Z\u4e00-\u9fa5()]+$";
            var re = new RegExp(regu);
            if (re.test(s)) {
                return true;
            } else {
                return false;
            }
        },
        "isChinaOrNumbOrLettBracketsText":"只能输入汉字、字母和数字()",
        /**
         * 判断是否是汉字、字母、数字组成加括号(支持中英文全角半角)
         *
         * @date 2013-06-09
         * @param {} s
         * @return {Boolean}
         */
        "isChinaOrNumbOrLettBracketsForAll" : function(s) {
            if(s==""){
                return true;
            }
            var regu = "^[0-9a-zA-Z\u4e00-\u9fa5()()]+$";
            var re = new RegExp(regu);
            if (re.test(s)) {
                return true;
            } else {
                return false;
            }
        },
        "isChinaOrNumbOrLettBracketsForAllText":"只能输入汉字、字母、数字和()",

        "isNumberOr_LetterBrackets" : function(s) {// 判断是否是数字或字母
            if(s==""){
                return true;
            }
            var regu = "^[0-9a-zA-Z\_()-]+$";
            var re = new RegExp(regu);
            if (re.test(s)) {
                return true;
            } else {
                return false;
            }
        },
        "isNumberOr_LetterBracketsText":"只能输入英文字母、数字和下划线\n 例如:1213aads_73736jehwury()",

        "isNumberOr_LetterBar" : function(s) {// 判断是否是数字或字母
            if(s==""){
                return true;
            }
            var regu = "^[\\\\0-9a-zA-Z\_-]+$";
            var re = new RegExp(regu);
            if (re.test(s)) {
                return true;
            } else {
                return false;
            }
        },
        "isNumberOr_LetterBarText":"只能输入英文字母、数字和下划线\n 例如:1213aads_73736jehwury-\\",

        "isSafe_KeyWords": function(textvalue){

            var flag = true;

            //oracle sql关键字
            var oracleSqlkeywords = "ACCESS ADD ALL ALTER AND ANY AS ASC AUDIT BETWEEN BY CHAR"+
                        "CHECK CLUSTER COLUMN COMMENT COMPRESS CONNECT CREATE CURRENT"+
                        "DATE DECIMAL DEFAULT DELETE DESC DISTINCT DROP ELSE EXCLUSIVE"+
                        "EXISTS FILE FLOAT FOR FROM GRANT GROUP HAVING IDENTIFIED"+
                        "IMMEDIATE IN INCREMENT INDEX INITIAL INSERT INTEGER INTERSECT"+
                        "INTO IS LEVEL LIKE LOCK LONG MAXEXTENTS MINUS MLSLABEL MODE"+
                        "MODIFY NOAUDIT NOCOMPRESS NOT NOWAIT NULL NUMBER OF OFFLINE ON"+
                        "ONLINE OPTION OR ORDER PCTFREE PRIOR PRIVILEGES PUBLIC RAW"+
                        "RENAME RESOURCE REVOKE ROW ROWID ROWNUM ROWS SELECT SESSION"+
                        "SET SHARE SIZE SMALLINT START SUCCESSFUL SYNONYM SYSDATE TABLE"+
                        "THEN TO TRIGGER UID UNION UNIQUE UPDATE USER VALIDATE VALUES"+
                        "VARCHAR VARCHAR2 VIEW WHENEVER WHERE WITH";

            //防止声明变量,HEX编码式的sql注入
            var otherkeywords = "DECLARE HEX";

            //js敏感关键字
            var jsKeywords ="BREAK DELETE FUNCTION RETURN TYPEOF CASE DO IF SWITCH VAR"+
                            "CATCH ELSE IN THIS VOID CONTINUE FALSE INSTANCEOF THROW WHILE DEBUGGER FINALLY NEW TRUE WITH DEFAULT FOR NULL TRY "+
                            "ABSTRACT DOUBLE GOTO NATIVE STATIC BOOLEAN ENUM IMPLEMENTS PACKAGE SUPER BYTE EXPORT IMPORT PRIVATE SYNCHRONIZED"+
                            "CHAR EXTENDS INT PROTECTED THROWS CLASS FINAL INTERFACE PUBLIC TRANSIENT CONST FLOAT LONG SHORT VOLATILE";

            //html敏感关键字
            var htmlKeywords ="EVAL IFRAME SCRIPT META LOCATION DIV INNERHTML OUTERHTML DOCUMENT MARQUEE FUNCTION ALERT";

            //禁用字符
            var forbidChar = new Array(",", "\\", "'","‘","’","!","!","%", "\"","&", "#",
                                        "^","<",">","*","[","]","(",")","{","}",".",
                                        "`","~", "+","=", "$",";",";",":","|","-");

            var keywords = oracleSqlkeywords + " " + jsKeywords+" "+ htmlKeywords+" "+otherkeywords;
            var filterArray = keywords.split(" ");

            var value = textvalue.toUpperCase();
            //关键字过滤循环
            for (i=0;i<filterArray.length;i++) {
                 if (value.indexOf(filterArray[i])!=-1){
                  flag = false;
                  }
            }
            //敏感字符过滤循环
            for (i=0;i<forbidChar.length;i++) {
                 if (value.indexOf(forbidChar[i])!=-1){
                  flag = false;
                  }
            }

            return flag;
        },

        "isSafe_KeyWordsText" : "输入的内容含有不安全字符片段,请勿输入js语言,html语言标记,以及sql关键字"

}

2、使用方式:

  • 引入该js文件
    <script type="text/javascript" src="validate.js"></script>
  • 调用validates中的方法:
validates.isChinaOrNumbOrLett("12")
true
validates.isChinaOrNumbOrLettText
"只能输入汉字、字母和数字"
  • 表示校验的参数

    isChinaOrNumbOrLett(string)

  • 表示校验的条件

    isChinaOrNumbOrLettText

时间: 2024-10-10 11:11:43

未命名文件的相关文章

2015-12-13未命名文件

2015-12-13未命名文件 新建 模板 小书匠 欢迎使用 小书匠(xiaoshujiang)编辑器,您可以通过设置里的修改模板来改变新建文章的内容.

2016-7-8未命名文件

2016-7-8未命名文件 新建 模板 小书匠 欢迎使用 小书匠(xiaoshujiang)编辑器,您可以通过设置里的修改模板来改变新建文章的内容.

2017-4-2未命名文件

2017-4-2未命名文件 新建 模板 小书匠 2017n 欢迎使用 小书匠(xiaoshujiang)编辑器,您可以通过设置里的修改模板来改变新建文章的内容.

2016-8-29未命名文件

2016-8-29未命名文件 新建 模板 小书匠 欢迎使用 小书匠(xiaoshujiang)编辑器,您可以通过设置里的修改模板来改变新建文章的内容.

2016-3-21未命名文件

2016-3-21未命名文件 新建 模板 小书匠 欢迎使用 小书匠(xiaoshujiang)编辑器,您可以通过设置里的修改模板来改变新建文章的内容. fsf[1] haha sfdsf sdf `dsfsf afdsf sfsfsfsfsz这只是一个测试fs 苹果的定义 它是水果也是电子产品,看你怎么去想了 很多的东西都是这样,你不去说的话,没有人会要你的生活 但是就这么远 还有一样,就是我们不去 地方上面综合司有一些看法,但是放弃的都放弃,回不来的就让他去吧.就像你曾今说的那样,何必去最去.

2017-7-21未命名文件

2017-7-21未命名文件 新建 模板 小书匠 第一章 Arrays And Strings 1.1 Is_unique.cpp #include <string> #include <vector>  #include <iostream>  #include <bitset>  using namespace std;  bool isUniqueChars(const string &str)  {  if (str.length() >

2017-7-12未命名文件

2017-7-12未命名文件 新建 模板 小书匠 欢迎使用 小书匠(xiaoshujiang)编辑器,您可以通过设置里的修改模板来改变新建文章的内容. 硬盘的构造 你好 你好 ·和吕丽萍 · hellp hellp ' hellp 'hello hellp ``` hellp ```ni hao `

2016-5-5未命名文件

2016-5-5未命名文件 新建 模板 小书匠 1. 论文摘要 提出了一种新的discriminativate deep metric learning(DDML)方法,用于自然环境下的 face verification.与现有的致力于学习一个马氏距离度量,从而最大化类间距离最小化类内距离的方法不同,DDML方法训练了一个深度神经网络用来学习一系列分层次的非线性变换(a set of hierarchical nonlinear transformations),将每对人脸图像投影至相同的特征

2017-11-4未命名文件

2017-11-4未命名文件 新建 模板 小书匠 重新梳理知识结构,以免老是遗忘. 生产成本基础框架 以生产工单为例: 每个/每批产品成本一般被分为料工费 物料 material cost ---一般migo/mb11投料至生产工单 Dr. Cost of Goods Manufacture Cr. Raw Material 工与费 labor cost and overheads) --- 此类费用如有直接人工 间接人工 折旧费 水电 修理费 租金等都是一锅端在月底入账 根据不同产线,对应各自

2018-7-13未命名文件

2018-7-13未命名文件 新建 模板 小书匠 欢迎使用 小书匠(xiaoshujiang)编辑器,您可以通过 小书匠主按钮>模板 里的模板管理来改变新建文章的内容. 原文地址:https://www.cnblogs.com/wushuaishuai/p/9307912.html