easyui校验器扩展

来源:互联网 发布:ubuntu双系统引导修复 编辑:程序博客网 时间:2024/06/07 11:23
easyui常用校验器扩展
//easyUI表单验证  /* 验证 */$.extend($.fn.validatebox.defaults.rules,{// 验证IP地址ip : {validator : function(value) {return /\d+\.\d+\.\d+\.\d+/.test(value);},message : 'IP地址格式不正确'},// 验证邮编zip : {validator : function(value, param) {return /^[0-9]\d{5}$/.test(value);},message : '邮政编码不存在'},// 密码验证equalTo : {validator : function(value, param) {return value == $(param[0]).val();},message : '两次输入的字符不一致'},// 移动手机号码验证mobile : {// value值为文本框中的值validator : function(value) {var reg = /^1[3|4|5|8|9]\d{9}$/;return reg.test(value);},message : '输入手机号码格式不准确.'},combo : {validator : function(value) {if (value) {return true;} else {return false;}},message : '不能为空'},// 验证座机电话号码phone : {validator : function(value) {return /^((\d2,3)|(\d{3}\-))?(0\d2,3|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$/i.test(value);},message : '格式不正确,请使用下面格式:020-88888888'},// 电话号码或手机号码phoneAndMobile : {validator : function(value) {return /^((\d2,3)|(\d{3}\-))?(0\d2,3|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$/i.test(value)|| /^(13|15|18)\d{9}$/i.test(value);},message : '电话号码或手机号码格式不正确'},// 验证整数或小数intOrFloat : {validator : function(value) {return /^\d+(\.\d+)?$/i.test(value);},message : '请输入数字,并确保格式正确'},// 验证整数integer : {validator : function(value) {return /^[+]?[1-9]+\d*$/i.test(value);},message : '请输入整数'},// 验证是否包含空格和非法字符unnormal : {validator : function(value) {return /.+/i.test(value);},message : '输入值不能为空和包含其他非法字符'},// 验证车牌号码carNo : {validator : function(value) {return /^[\u4E00-\u9FA5][\da-zA-Z]{6}$/.test(value);},message : '车牌号码无效(例:粤B12350)'},// 用户密码验证(只能包括 _ 数字 字母)account : {// param的值为[]中值validator : function(value, param) {if (value.length < param[0]|| value.length > param[1]) {$.fn.validatebox.defaults.rules.account.message = '长度必须在'+ param[0] + '至' + param[1] + '范围';return false;} else {if (!/(?=.*?[a-zA-Z])(?=.*?[0-9])[a-zA-Z0-9]{8,}$/.test(value)) {$.fn.validatebox.defaults.rules.account.message = '必须包含数字和字母.';return false;} else {return true;}}},message : '只能数字、字母、下划线组成'},// 用户账号验证(只能包括 _ 数字 字母)username : {validator : function(value) {return /^[a-zA-Z][a-zA-Z0-9_]{5,15}$/i.test(value);},message : '用户名不合法(字母开头,允许6-16字符,允许字母数字下划线)'},// 汉字验证CHS : {validator : function(value) {return /^[\u0391-\uFFE5]+$/.test(value);},message : '只能输入汉字'},// 验证英语english : {validator : function(value) {return /^[A-Za-z]+$/i.test(value);},message : '请输入英文'},// 验证身份证idcard : {validator : function(num) {num = num.toUpperCase();// 身份证号码为15位或者18位,15位时全为数字,18位前17位为数字,最后一位是校验位,可能为数字或字符X。if (!(/(^\d{15}$)|(^\d{17}([0-9]|X)$)/.test(num))) {return false;}// 校验位按照ISO 7064:1983.MOD 11-2的规定生成,X可以认为是数字10。// 下面分别分析出生日期和校验位var len, re;len = num.length;if (len == 15) {re = new RegExp(/^(\d{6})(\d{2})(\d{2})(\d{2})(\d{3})$/);var arrSplit = num.match(re);// 检查生日日期是否正确var dtmBirth = new Date('19' + arrSplit[2]+ '/' + arrSplit[3] + '/' + arrSplit[4]);var bGoodDay;bGoodDay = (dtmBirth.getYear() == Number(arrSplit[2]))&& ((dtmBirth.getMonth() + 1) == Number(arrSplit[3]))&& (dtmBirth.getDate() == Number(arrSplit[4]));if (!bGoodDay) {return false;} else {// 将15位身份证转成18位// 校验位按照ISO 7064:1983.MOD// 11-2的规定生成,X可以认为是数字10。var arrInt = new Array(7, 9, 10, 5, 8, 4,2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2);var arrCh = new Array('1', '0', 'X', '9','8', '7', '6', '5', '4', '3', '2');var nTemp = 0, i;num = num.substr(0, 6) + '19'+ num.substr(6, num.length - 6);for (i = 0; i < 17; i++) {nTemp += num.substr(i, 1) * arrInt[i];}num += arrCh[nTemp % 11];return true;}}if (len == 18) {re = new RegExp(/^(\d{6})(\d{4})(\d{2})(\d{2})(\d{3})([0-9]|X)$/);var arrSplit = num.match(re);// 检查生日日期是否正确var dtmBirth = new Date(arrSplit[2] + "/"+ arrSplit[3] + "/" + arrSplit[4]);var bGoodDay;bGoodDay = (dtmBirth.getFullYear() == Number(arrSplit[2]))&& ((dtmBirth.getMonth() + 1) == Number(arrSplit[3]))&& (dtmBirth.getDate() == Number(arrSplit[4]));if (!bGoodDay) {return false;} else {// 检验18位身份证的校验码是否正确。// 校验位按照ISO 7064:1983.MOD// 11-2的规定生成,X可以认为是数字10。var valnum;var arrInt = new Array(7, 9, 10, 5, 8, 4,2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2);var arrCh = new Array('1', '0', 'X', '9','8', '7', '6', '5', '4', '3', '2');var nTemp = 0, i;for (i = 0; i < 17; i++) {nTemp += num.substr(i, 1) * arrInt[i];}valnum = arrCh[nTemp % 11];if (valnum != num.substr(17, 1)) {return false;}return true;}}return false;},message : '身份证号码格式不正确'},});
阅读全文
0 0