JQuery easyUI扩展验证机制的正则表达式

$.extend($.fn.validatebox.defaults.rules,

{ //验证中文  

CHS:{

validator:function(value){

return /^[\u0391-\uFFE5]+$/.test(value);

},

message:"只能输入汉字."

},

//字符验证

stringCheck:{

validator:function(value){

return /^[\u0391-\uFFE5\w]+$/.test(value);

},

message:"只能包括中文字、英文字母、数字和下划线."

},

//验证中文,英文,数字

stringCheckSub:{

validator:function(value){

return /^[a-zA-Z0-9\u4E00-\u9FA5]+$/.test(value);

},

message:"只能包括中文字、英文字母、数字."

},

englishCheckSub:{

validator:function(value){

return /^[a-zA-Z0-9]+$/.test(value);

},

message:"只能包括英文字母、数字."

},

numberCheckSub:{

validator:function(value){

return /^[0-9]+$/.test(value);

},

message:"只能输入数字."

},

//手机号码验证

mobile:{

validator:function(value){

var reg = /^(((13[0-9]{1})|(14[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+\d{8})$/;

return value.length == 11 && reg.test(value);

},

message:"请正确填写您的手机号码."

},

//电话号码验证

telephone:{

validator:function(value){

//电话号码格式010-12345678

var reg = /^\d{3,4}?\d{7,8}$/;

return reg.test(value);

},

message:"请正确填写您的电话号码."

},

//联系电话(手机/电话皆可)验证 

mobileTelephone:{
validator:function(value){

var cmccMobile = /^(((13[0-9]{1})|(14[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+\d{8})$/;

var tel = /^\d{3,4}?\d{7,8}$/;

return tel.test(value) || (value.length == 11 && cmccMobile.test(value));

},

message:"请正确填写您的联系电话."

},

//验证国内邮编验证

zipCode:{

validator:function(value){

var reg = /^[1-9]\d{5}$/;

return reg.test(value);

},

message:"邮编必须长短0开端的6位数字."

},

//身份证号码验证 

idCardNo:{

validator:function(value){

return isIdCardNo(value); 

},

message:"请正确输入您的身份证号码."

},

//验证两个不同时为空

//可以自定义提示信息

  allNotNull:{

validator:function(toValue,fromValue){

if(fromValue ==null || fromValue.length ==0 || fromValue[0]==null || fromValue[0]==""){

if(toValue ==null || toValue.length ==0 || toValue[0]==null || toValue[0]==""){

$.fn.validatebox.defaults.rules.compareDigit.message="中,英.文名不可同时为空 ";

return false;

}else{

return true;

}

}else

{return true;}

},

message:""

},

//数字验证大小,结束值应该大于开始值

//可以自定义提示信息

compareDigit:{

validator:function(toValue,fromValue){

if(fromValue ==null || fromValue.length ==0 || fromValue[0]==null || fromValue[0]==""){

return true;

}

if(parseFloat(toValue) > parseFloat(fromValue[0])){

return true;

}else{

if(fromValue.length >= 2){

$.fn.validatebox.defaults.rules.compareDigit.message = fromValue[1];

}else{

$.fn.validatebox.defaults.rules.compareDigit.message = ‘结束值应该大于开始值‘;

}

return false

}

},

message:""

},

//日期、时间验证大小,结束日期应该大于开始日期

//可以自定义提示信息

compareDate:{

validator:function(toDate,param){

if(param ==null || param.length ==0 || param[0]==null || param[0]==""){

return true;

}

if(toDate > param[0]){

return true;

}else{

if(param.length >= 2){

$.fn.validatebox.defaults.rules.compareDate.message = param[1];

}

else {

$.fn.validatebox.defaults.rules.compareDate.message = ‘结束日期应该大于开始日期‘;

}

return false

}

},

message:‘‘

}

//到服务器端验证

/*remote:{

validator:function(value,param){

var params = {};

params[param[1]] = value;

$.post(param[0],params,function(data){

if(!data.msg){

$.fn.validatebox.defaults.rules.account.message = param[2];

} 

return data.msg;

});

},

message:""

}*/

}

)

//--身份证号码验证-支持新的带x身份证

function isIdCardNo(num) 

{

    var factorArr = new Array(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2,1);

    var error;

    var varArray = new Array();

    var intValue;

    var lngProduct = 0;

    var intCheckDigit;

    var intStrLen = num.length;

    var idNumber = num;    

    // initialize

    if ((intStrLen != 15) && (intStrLen != 18)) {

        //error = "输入身份证号码长度不对!";

        //alert(error);

        //frmAddUser.txtIDCard.focus();

        return false;

    }    

    // check and set value

    for(i=0;i<intStrLen;i++) {

        varArray[i] = idNumber.charAt(i);

        if ((varArray[i] < ‘0‘ || varArray[i] > ‘9‘) && (i != 17)) {

            //error = "错误的身份证号码!.";

            //alert(error);

            //frmAddUser.txtIDCard.focus();

            return false;

        } else if (i < 17) {

            varArray[i] = varArray[i]*factorArr[i];

        }

    }

    if (intStrLen == 18) {

        //check date

        var date8 = idNumber.substring(6,14);

        if (isDate8(date8) == false) {

            //error = "身份证中日期信息不正确!.";

            //alert(error);

            return false;

        }        

        // calculate the sum of the products

        for(i=0;i<17;i++) {

            lngProduct = lngProduct + varArray[i];

        }        

        // calculate the check digit

        intCheckDigit = 12 - lngProduct % 11;

        switch (intCheckDigit) {

            case 10:

                intCheckDigit = ‘X‘;

                break;

            case 11:

                intCheckDigit = 0;

                break;

            case 12:

                intCheckDigit = 1;

                break;

        }        

        // check last digit

        if (varArray[17].toUpperCase() != intCheckDigit) {

            //error = "身份证效验位错误!...正确为: " + intCheckDigit + ".";

            //alert(error);

            return false;

        }

    } 

    else{        //length is 15

        //check date

        var date6 = idNumber.substring(6,12);

        if (isDate6(date6) == false) {

            //alert("身份证日期信息有误!.");

            return false;

        }

    }

    //alert ("Correct.");

    return true;

}

/**

 * 判断是否为“YYYYMM”式的时期

 *

 */

function isDate6(sDate) {

   if(!/^[0-9]{6}$/.test(sDate)) {

      return false;

   }

   var year, month, day;

   year = sDate.substring(0, 4);

   month = sDate.substring(4, 6);

   if (year < 1700 || year > 2500) return false

   if (month < 1 || month > 12) return false

   return true

}

/**

 * 判断是否为“YYYYMMDD”式的时期

 *

 */

function isDate8(sDate) {

   if(!/^[0-9]{8}$/.test(sDate)) {

      return false;

   }

   var year, month, day;

   year = sDate.substring(0, 4);

   month = sDate.substring(4, 6);

   day = sDate.substring(6, 8);

   var iaMonthDays = [31,28,31,30,31,30,31,31,30,31,30,31]

   if (year < 1700 || year > 2500) return false

   if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) iaMonthDays[1]=29;

   if (month < 1 || month > 12) return false

   if (day < 1 || day > iaMonthDays[month - 1]) return false

   return true

}

拓展2

$.extend($.fn.validatebox.defaults.rules,{

   idcard : {// 验证身份证 

       validator : function(value) { 

           return/^\d{15}(\d{2}[A-Za-z0-9])?$/i.test(value); 

       }, 

       message : ‘身份证号码格式不正确‘ 

   },

     minLength: {

       validator: function(value, param){

           return value.length >= param[0];

       },

       message: ‘请输入至少(2)个字符.‘

   },

   length:{validator:function(value,param){ 

       var len=$.trim(value).length; 

           return len>=param[0]&&len<=param[1]; 

       }, 

           message:"输入内容长度必须介于{0}和{1}之间." 

       }, 

   phone : {// 验证电话号码 

       validator : function(value) { 

           return/^((\(\d{2,3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$/i.test(value); 

       }, 

       message : ‘格式不正确,请使用下面格式:020-88888888‘ 

   }, 

   mobile : {// 验证手机号码 

       validator : function(value) { 

           return/^(13|15|18)\d{9}$/i.test(value); 

       }, 

       message : ‘手机号码格式不正确‘ 

}, 

phoneNum: {// 验证手机号码+固定电话 

       validator : function(value) { 

           return /^(((((010)|(02\d)))[2-8]\d{7})|(0[3-9]\d{2}[2-8]\d{6,7})|(0?(?:147|1[358]\d)\d{8}))$/i.test(value); 

       }, 

       message : ‘手机号码格式不正确‘ 

}, 

   intOrFloat : {// 验证整数或小数 

       validator : function(value) { 

           return /^\d+(\.\d+)?$/i.test(value); 

       }, 

       message : ‘请输入数字,并确保格式正确‘ 

   }, 

   currency : {// 验证货币 

       validator : function(value) { 

           return /^\d+(\.\d+)?$/i.test(value); 

       }, 

       message : ‘货币格式不正确‘ 

   }, 

   qq : {// 验证QQ,从10000开始 

       validator : function(value) { 

           return /^[1-9]\d{4,9}$/i.test(value); 

       }, 

       message : ‘QQ号码格式不正确‘ 

   }, 

   integer : {// 验证整数 

       validator : function(value) { 

           return /^[+]?[1-9]+\d*$/i.test(value); 

       }, 

       message : ‘请输入整数‘ 

   }, 

   age : {// 验证年龄

       validator : function(value) { 

           return /^(?:[1-9][0-9]?|1[01][0-9]|120)$/i.test(value); 

       }, 

       message : ‘年龄必须是0到120之间的整数‘ 

   }, 

   chinese : {// 验证中文 

       validator : function(value) { 

           return /^[\Α-\¥]+$/i.test(value); 

       }, 

       message : ‘请输入中文‘ 

   }, 

   english : {// 验证英语 

       validator : function(value) { 

           return /^[A-Za-z]+$/i.test(value); 

       }, 

       message : ‘请输入英文‘ 

   }, 

   unnormal : {// 验证是否包含空格和非法字符 

       validator : function(value) { 

           return /.+/i.test(value); 

       }, 

       message : ‘输入值不能为空和包含其他非法字符‘ 

   }, 

   username : {// 验证用户名 

       validator : function(value) { 

           return/^[a-zA-Z][a-zA-Z0-9_]{5,15}$/i.test(value); 

       }, 

       message : ‘用户名不合法(字母开头,允许6-16字节,允许字母数字下划线)‘ 

   }, 

   faxno : {// 验证传真 

       validator : function(value) { 

//           return /^[+]{0,1}(\d){1,3}[]?([-]?((\d)|[ ]){1,12})+$/i.test(value); 

           return /^((\(\d{2,3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$/i.test(value); 

       }, 

       message : ‘传真号码不正确‘ 

   }, 

   zip : {// 验证邮政编码 

       validator : function(value) { 

           return /^[1-9]\d{5}$/i.test(value); 

       }, 

       message : ‘邮政编码格式不正确‘ 

   }, 

   ip : {// 验证IP地址 

       validator : function(value) { 

           return /d+.d+.d+.d+/i.test(value); 

       }, 

       message : ‘IP地址格式不正确‘ 

   }, 

   name : {// 验证姓名,可以是中文或英文 

           validator : function(value) { 

               return /^[\Α-\¥]+$/i.test(value)|/^\w+[\w\s]+\w+$/i.test(value); 

           }, 

           message : ‘请输入姓名‘ 

   },

   date : {// 验证姓名,可以是中文或英文 

       validator : function(value) { 

        //格式yyyy-MM-dd或yyyy-M-d

           return/^(?:(?!0000)[0-9]{4}([-]?)(?:(?:0?[1-9]|1[0-2])\1(?:0?[1-9]|1[0-9]|2[0-8])|(?:0?[13-9]|1[0-2])\1(?:29|30)|(?:0?[13578]|1[02])\1(?:31))|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)([-]?)0?2\2(?:29))$/i.test(value); 

       },

       message : ‘清输入合适的日期格式‘

   },

   msn:{ 

       validator : function(value){ 

       return/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/.test(value); 

   }, 

   message : ‘请输入有效的msn账号(例:[email protected](msn/live).com)‘ 

   },

   same:{ 

       validator : function(value, param){ 

           if($("#"+param[0]).val() !="" && value != ""){ 

               return$("#"+param[0]).val() == value; 

           }else{ 

               return true; 

           } 

       }, 

       message : ‘两次输入的密码不一致!‘   

   } 

});

 应用实例:

<td align="right"><label style="color: red">*</label>移动电话:</td>

<td colspan="2"> 

<input id="mobile" type="text" class="easyui-validatebox" validType="mobile" name="mobile" required="true"  maxlength="13" style="width:150px"></input>

</td>
时间: 2024-10-10 07:23:48

JQuery easyUI扩展验证机制的正则表达式的相关文章

【Javascript】jQuery Validate扩展验证方法

/*****************************************************************jQuery Validate扩展验证方法*****************************************************************/// 判断整数value是否等于0 jQuery.validator.addMethod("isIntEqZero", function (value, element) { valu

jQuery Validate扩展验证方法

/***************************************************************** jQuery Validate扩展验证方法 (linjq) *****************************************************************/ $(function(){ // 判断整数value是否等于0 jQuery.validator.addMethod("isIntEqZero", functio

【转】封装jQuery Validate扩展验证方法

本文转自:http://www.cnblogs.com/linjiqin/p/3433635.html 一.封装自定义验证方法-validate-methods.js /***************************************************************** jQuery Validate扩展验证方法 (linjq) *****************************************************************/ $(

封装jQuery Validate扩展验证方法

一.封装自定义验证方法-validate-methods.js /***************************************************************** jQuery Validate扩展验证方法 (linjq) *****************************************************************/ $(function(){ // 判断整数value是否等于0 jQuery.validator.addMe

雷林鹏分享:jQuery EasyUI 扩展

jQuery EasyUI 扩展 Portal(制作图表.列表.球形图等) 数据网格视图(DataGrid View) 可编辑的数据网格(Editable DataGrid) 可编辑的树(Editable Tree) 数据网格行过滤(DataGrid Filter Row) 数据网格行拖放(Drag and Drop Rows in DataGrid) 树形网格行拖放(Drag and Drop Rows in TreeGrid) 主题(Themes) DWR 加载器(DWR Loader) R

EasyUI扩展验证

1.首先在jquery.easyui.min.js下最后插入下面代码 $.extend($.fn.validatebox.defaults.rules, { idcard : {// 验证身份证 validator : function(value) { return /^\d{15}(\d{2}[A-Za-z0-9])?$/i.test(value); }, message : '身份证号码格式不正确' }, minLength: { validator: function(value, pa

[转]jQuery EasyUI 扩展-- 主题(Themes)

主题(Themes)允许您改变站点的外观和感观.使用主题可以节省设计的时间,让您腾出更多的时间进行开发.您也可以创建一个已有主题的子主题. 主题生成器(Theme Builder) jQuery UI 主题 许多扩展的主题是基于 jQuery UI 主题创建的,它们不是官方发布的. Sunny Pepper Grinder Cupertino Dark Hive Metro 主题 下面的扩展主题是基于 Metro 主题创建的. Metro Blue Metro Gray Metro Green

jQuery easyui 扩展form插件的三个方法

$.extend($.fn.form.methods, { serialize: function(jq){ var arrayValue = $(jq[0]).serializeArray(); var json = {}; $.each(arrayValue, function() { var item = this; if (json[item["name"]]) { json[item["name"]] = json[item["name"

jquery easyui 验证

今天工作的时候,遇到个比较简单的问题,就是验证问题.在jquery easyui里验证都是用正则表达式 写在一个公共的js里,这样在data-options里的validType[]调用就可以.但是今天却出事情了. 以前的项目模块当表单提交的时候都是调用公用方法domysave(),用了很久所以没注意里面具体是怎么调用的.今天写一个模块突然改变了传值的方式和后台传过来的数据模式也不一样,所以就得用api里的form 表单提交一点点写了: $('#ff').form('submit', { url