easyUI表单校验扩展
来源:互联网 发布:义隆单片机c语言 编辑:程序博客网 时间:2024/05/29 11:58
/**
* easyui-validatebox datatype扩展 create by smx
*/
$.extend($.fn.validatebox.defaults.rules, {
equalTo: {
validator: function (value, param) {
return value == $(param[0]).val();
},
message: '两次输入的字符不一至'
},
idcard: {//身份证输入框
validator: function (value, param) {
return isCardID(value).flag;
},
message:"请输入正确的身份证号"
},
mobile: {//电话号码输入框
validator: function (value, param) {
return /^((\(\d{2,3}\))|(\d{3}\-))?13\d{9}$/.test(value);
},
message: '手机号码不正确'
},
number: {//数字输入框
validator: function (value, param) {
return /^\d+$/.test(value);
},
message: '请输入数字'
},
CHS: {//汉字输入框
validator: function (value, param) {
return /^[\u0391-\uFFE5]+$/.test(value);
},
message: '请输入汉字'
},
ZIP: {//邮编输入框
validator: function (value, param) {
return /^[1-9]\d{5}$/.test(value);
},
message: '邮政编码不正确'
},
QQ: {//qq输入框
validator: function (value, param) {
return /^[1-9]\d{4,10}$/.test(value);
},
message: 'QQ号码不正确'
},
loginName: {//登录名称输入框
validator: function (value, param) {
return /^[\u0391-\uFFE5\w]+$/.test(value);
},
message: '登录名称只允许汉字、英文字母、数字及下划线。'
},
isEmpty:{
validator:function(value,param){
return isEmpty(value);
},
message:"输入为空字符串"
},
isTelOrMobile:{
validator: function(value,param){
return isTelOrMobile(value).flag;
},
message:"请输入正确的联系方式"
},
isTelephone:{
validator: function(value,param){
return isTelephone(value).flag;
},
message:"请输入正确的电话号码"
}
});
//私有方法=============================================================
/**判断是否为空或空字符串*/
function isNull(str) {
return {flag:!isEmpty(str), errorMsg:"您的输入为空,请重新输入"};
}
/**判断是否为空或空字符串(供内部方法调用)*/
function isEmpty(str) {
return (str == null) || (str.trim().length == 0);
}
/**判断是否为字符*/
function isLetter(str) {
if(isEmpty(str)){
return {flag:true,errorMsg:""};
}
var reg = /^[\w]+$/;
return {flag:reg.test(str),errorMsg:"字符"};
}
/**判断是否为字符或数字*/
function isLetterAndNumber(str) {
if(isEmpty(str)){
return {flag:true,errorMsg:""};
}
var reg = /^[\w\d]+$/;
return {flag:reg.test(str),errorMsg:"数字或字符"};
}
/**判断是否为整数*/
function isInteger(str) {
if(isEmpty(str)){
return {flag:true,errorMsg:""};
}
var reg = /^(\-?)(\d+)(\.0+)?$/;
return {flag:reg.test(str),errorMsg:"整数"};
}
/**判断是否为正整数*/
function isPositiveInteger(str) {
if(isEmpty(str)){
return {flag:true,errorMsg:""};
}
var reg = /^[1-9](\d*)(\.0+)?$/;
return {flag:reg.test(str),errorMsg:"正整数"};
}
/**判断是否为非负整数*/
function isNotNegativeInteger(str) {
if(isEmpty(str)){
return {flag:true,errorMsg:""};
}
var reg = /^\d(\d*)(\.0+)?$/;
return {flag:reg.test(str),errorMsg:"非负整数"};
}
/**判断是否为合法的保险卡前缀*/
function isVscardPrefix(str) {
if(isEmpty(str)){
return {flag:false,errorMsg:""};
}
if(str.trim().length != 3) {
return {flag:false,errorMsg:""};
} else {
var reg = /^\d(\d*)$/;
return {flag:reg.test(str),errorMsg:"保险卡前缀"};
}
}
/**判断是否为正确的年份*/
function isYear(str) {
if(isEmpty(str)){
return {flag:true,errorMsg:"年份"};
}
var r = str.match(/^(\d{1,4})$/);
if(r==null)
return {flag:false,errorMsg:"年份"};
var year = parseInt(str);
if(year > 2100 || year < 1900) {
//return {flag:false,errorMsg:"年份(1900年--2100年)"};
}
return {flag:true,errorMsg:""};
}
/**判断是否为正确的日期*/
function isDate(str, fieldObj) {
if(isEmpty(str)){
return {flag:true,errorMsg:""};
}
var r = str.match(/^(\d{4})(-|\/){0,1}(\d{1,2})\2{0,1}(\d{1,2})$/);
if(r==null)
return {flag:false,errorMsg:"日期"};
var d= new Date(r[1], r[3]-1, r[4]);
if(r[1] > 2100 || r[1] < 1900) {
// return {flag:false,errorMsg:"日期(1900.1.1--2100.12.31)"};
}
//如果输入的是日期,则要求日期自动转化为固定格式
var checkFlag = d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4];
if(checkFlag && fieldObj != null) {
//保证日期格式为yyyy-MM-dd
if(r[3].length == 1) {
r[3] = "0" + r[3];
}
if(r[4].length == 1) {
r[4] = "0" + r[4];
}
fieldObj.value = r[1] + "-" + r[3] + "-" + r[4];
}
return {flag:checkFlag, errorMsg:"日期"};
}
/**
* 校验是否是枚举或范围的组合形式,如1;2;3;[4,8];12;14;[16,19]
* 作者:王致富
* 日期:2010-09-03
*/
function isRangeOrEnum(str) {
if(isEmpty(str)){
return {flag:true,errorMsg:""};
}
str = str.trim();
var reg = /^([\w:]{1,})(;[\w:]{1,})*$/;
return {flag:reg.test(str),errorMsg:"枚举或范围"};
}
/**判断是否全部为大写字符*/
function isUppercase(str) {
if(isEmpty(str)){
return {flag:true,errorMsg:""};
}
var reg = /^[A-Z]+$/;
return {flag:reg.test(str),errorMsg:"大写字符"};
}
/**判断是否全部为小写字母*/
function isLowercase(str) {
if(isEmpty(str)){
return {flag:true,errorMsg:""};
}
var reg = /^[a-z]+$/;
return {flag:reg.test(str),errorMsg:"小写字符"};
}
/**是否为手机号码*/
function isMobile(str) {
if(isEmpty(str)){
return {flag:true,errorMsg:""};
}
var reg = /^(13|14|15|16|17|18|19)\d{9}$/;
return {flag:reg.test(str),errorMsg:"手机号码"};
}
/**是否为数字*/
function isNumber(str){
if(isEmpty(str)){
return {flag:true,errorMsg:""};
}
if(!/^([-]?)\d+(\.\d+)?$/.test(str))
return {flag:false,errorMsg:"数字"};
try{
if(parseFloat(str)!=str)
return {flag:false,errorMsg:"数字"};
}catch(ex){
return {flag:false,errorMsg:"数字"};
}
return {flag:true};
}
/** 校验是否为正数字 */
function isPositiveNumber(str) {
var result = isNumber(str);
if(result.flag == false) {
result.errorMsg = "正数";
return result;
}
var value = parseFloat(str);
if(value <= 0) {
return {flag:false, errorMsg:"正数"};
}
return {flag:true};
}
/** 校验是否为非正数字 */
function isNotPositiveNumber(str){
var result = isNumber(str);
if(result.flag == false){
result.errorMsg = "非正数字";
return result;
}
var value = parseFloat(str);
if(value > 0){
return {flag:false, errorMsg:"非正数字"};
}
return {flag:true};
}
/** 校验是否为非负数字 */
function isNotNegativeNumber(str) {
var result = isNumber(str);
if(result.flag == false) {
result.errorMsg = "非负数字";
return result;
}
var value = parseFloat(str);
if(value < 0) {
return {flag:false, errorMsg:"非负数字"};
}
return {flag:true};
}
/** 校验是否为百分数 */
function isPercent(str) {
var result = isNotNegativeNumber(str);
if(result.flag == false) {
result.errorMsg = "百分数";
return result;
}
var value = parseFloat(str);
if(value > 100) {
return {flag:false, errorMsg:"百分数"};
}
return {flag:true};
}
/** 校验是否为百分数并且不能等于0 add by zhaosongyan */
function isNotNegativeNumber0(str) {
var result = isNumber(str);
if(result.flag == false) {
result.errorMsg = "非负数字";
return result;
}
var value = parseFloat(str);
if(value <=0) {
return {flag:false, errorMsg:"非负数字"};
}
return {flag:true};
}
/**是否为时间,时间格式为HH:MM:SS or HH,MM,SS or HH-MM-SS*/
function isTime(str) {
if(isEmpty(str)){
return {flag:true,errorMsg:""};
}
var a = str.match(/^(\d{1,2})(:|,|-)?(\d{1,2})\2(\d{1,2})$/);
if (a == null) {
return {flag:false,errorMsg:"时间"};
}
if (a[1]>24 || a[3]>60 || a[4]>60) {
return {flag:false,errorMsg:"时间"};
}
return {flag:true};
}
/**是否为日期时间
* 时间格式为
* YYYY-MM-DD HH:MM:SS 或 YYYY/MM/DD HH:MM:SS
*/
function isDateTime(str){
if(isEmpty(str)){
return {flag:true,errorMsg:""};
}
var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/;
var r = str.match(reg);
if(r==null)
return {flag:false,errorMsg:"日期时间"};
var d= new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]);
return {flag:(d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]&&d.getHours()==r[5]&&d.getMinutes()==r[6]&&d.getSeconds()==r[7]),
errorMsg:"日期时间"};
}
/**是否全部为中文*/
function isChinese(str){
if(isEmpty(str)){
return {flag:true,errorMsg:""};
}
var reg = /.{0}[u4e00-u9fa5]+$/;
return {flag:!reg.test(str),errorMsg:"中文"};
}
/**是否包含中文*/
function containChinese(str){
if(isEmpty(str)){
return {flag:true,errorMsg:""};
}
var reg = /^[u4E00-u9FA5]+$/;
return {flag:!reg.test(str),errorMsg:"包含中文的信息"};
}
/**是否为正确的身份证号码*/
function isCardID(cardId){
if(isEmpty(cardId)){
return {flag:true,errorMsg:""};
}
var error = "身份证号码";
var cities={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:"国外"};
//迁移单身份证号位15位校验 --- start
var dmflag = document.getElementsByName('prpCmain.dmFlag')[0];
if(dmflag != null && dmflag.value == '1' && cardId.length == 15){
return true;
}
//迁移单身份证号位15位校验 --- end
if(cities[parseInt(cardId.substr(0,2))] == null) {
return {flag:false,errorMsg:error};
}
var sBirthday = "";
//增加15位身份证的校验
if(cardId.length == 15){
sBirthday = "19" + cardId.substr(6,2) + "-" + Number(cardId.substr(8,2)) + "-" + Number(cardId.substr(10,2));
}else if(cardId.length == 18){
if(!/^\d{17}(\d|x)$/i.test(cardId)) {
return {flag:false,errorMsg:error};
}
sBirthday = cardId.substr(6,4) + "-" + Number(cardId.substr(10,2)) + "-" + Number(cardId.substr(12,2));
}
var d = new Date(sBirthday.replace(/-/g,"/")) ;
if(sBirthday != (d.getFullYear() + "-" + (d.getMonth()+1) + "-" + d.getDate())) {
return {flag:false,errorMsg:error};
}
lastStr = cardId.substr(cardId.length-1);
//增加15位身份证的校验
if(cardId.length == 15){
if(!isNumber(cardId)){
return {flag:false,errorMsg:"身份证号码错误,15位不能含有英文字母!!"};
}
}else if(cardId.length == 18){
if(lastStr == 'x'){
return {flag:false,errorMsg:"最后一位是X的不能录入小写!"};
}
}
return {flag:true};
}
/**是否为正确的电子邮件地址*/
function isEmail(str) {
if(isEmpty(str)){
return {flag:true,errorMsg:""};
}
//var reg = new RegExp("^[0-9a-zA-Z]+@[0-9a-zA-Z]+[\.]{1}[0-9a-zA-Z]+[\.]?[0-9a-zA-Z]+$");
//modify by guoyaori 20120806 begin reason MT-875 邮件的校验规则过于严格
// var reg = new RegExp("^.*@[0-9a-zA-Z]+[\.]{1}[0-9a-zA-Z]+[\.]?[0-9a-zA-Z]+$");
//modify by guoyaori 20120806 end reason MT-875 邮件的校验规则过于严格
//modify by wanganna 20130131 begin reason:生产bug0003385: 人身险系统邮箱校验有漏洞,正确的邮箱格式却提示错误,如:jiangspsc@ccic-net.com.cn
var reg = new RegExp("^.+@[\\w\\-]+(\\.[\\w\\-]+)+$");
//modify by wanganna 20130131 begin reason:生产bug0003385: 人身险系统邮箱校验有漏洞,正确的邮箱格式却提示错误,如:jiangspsc@ccic-net.com.cn
return {flag:reg.test(str),errorMsg:"请输入正确的电子邮件"};
}
/**是否为正确的邮编*/
function isZipcode(str){
str = trim(str);
if(isEmpty(str)){
return {flag:true,errorMsg:""};
}
var reg = new RegExp("^\\d{6}$");
return {flag:reg.test(str.trim()),errorMsg:"邮政编码"};
}
/**是否为正确的电话号码
* 电话号码的举例为:
* 010-86767676
* 0723-54454434
*/
function isTelephone(str){
if(isEmpty(str)){
return {flag:true,errorMsg:""};
}
var reg = new RegExp("^(([0\\+]\\d{2,3}(-)?)?(0\\d{2,3})(-)?)?(\\d{7,8})(-(\\d{3,}))?$");
return {flag:reg.test(str),errorMsg:"电话号码"};
}
/**
* 是否为正确的联系方式,即是否为电话或手机
* 先校验是否为电话号码,如果不是电话号码,然后校验是否为手机
*/
function isTelOrMobile(str) {
if(isEmpty(str)){
return {flag:true,errorMsg:""};
}
var reg = new RegExp("^(([0\\+]\\d{2,3}(-)?)?(0\\d{2,3})(-)?)?(\\d{7,8})(-(\\d{3,}))?$");
if(reg.test(str)) {
return {flag:reg.test(str),errorMsg:"手机或电话号码"};
} else {
reg = /^(13|14|15|16|17|18|19)\d{9}$/;
return {flag:reg.test(str),errorMsg:"手机或电话号码"};
}
}
/**
* 是否为有效的小时
*/
function isValidateHour(str){
var result = isNotNegativeNumber(str);
if(result.flag == false) {
result.errorMsg = "有效小时";
return result;
}
var value = parseInt(str);
if(value<0 || value>24){
return {flag:false,errorMsg:"有效小时"};
}
return {flag:true};
}
* easyui-validatebox datatype扩展 create by smx
*/
$.extend($.fn.validatebox.defaults.rules, {
equalTo: {
validator: function (value, param) {
return value == $(param[0]).val();
},
message: '两次输入的字符不一至'
},
idcard: {//身份证输入框
validator: function (value, param) {
return isCardID(value).flag;
},
message:"请输入正确的身份证号"
},
mobile: {//电话号码输入框
validator: function (value, param) {
return /^((\(\d{2,3}\))|(\d{3}\-))?13\d{9}$/.test(value);
},
message: '手机号码不正确'
},
number: {//数字输入框
validator: function (value, param) {
return /^\d+$/.test(value);
},
message: '请输入数字'
},
CHS: {//汉字输入框
validator: function (value, param) {
return /^[\u0391-\uFFE5]+$/.test(value);
},
message: '请输入汉字'
},
ZIP: {//邮编输入框
validator: function (value, param) {
return /^[1-9]\d{5}$/.test(value);
},
message: '邮政编码不正确'
},
QQ: {//qq输入框
validator: function (value, param) {
return /^[1-9]\d{4,10}$/.test(value);
},
message: 'QQ号码不正确'
},
loginName: {//登录名称输入框
validator: function (value, param) {
return /^[\u0391-\uFFE5\w]+$/.test(value);
},
message: '登录名称只允许汉字、英文字母、数字及下划线。'
},
isEmpty:{
validator:function(value,param){
return isEmpty(value);
},
message:"输入为空字符串"
},
isTelOrMobile:{
validator: function(value,param){
return isTelOrMobile(value).flag;
},
message:"请输入正确的联系方式"
},
isTelephone:{
validator: function(value,param){
return isTelephone(value).flag;
},
message:"请输入正确的电话号码"
}
});
//私有方法=============================================================
/**判断是否为空或空字符串*/
function isNull(str) {
return {flag:!isEmpty(str), errorMsg:"您的输入为空,请重新输入"};
}
/**判断是否为空或空字符串(供内部方法调用)*/
function isEmpty(str) {
return (str == null) || (str.trim().length == 0);
}
/**判断是否为字符*/
function isLetter(str) {
if(isEmpty(str)){
return {flag:true,errorMsg:""};
}
var reg = /^[\w]+$/;
return {flag:reg.test(str),errorMsg:"字符"};
}
/**判断是否为字符或数字*/
function isLetterAndNumber(str) {
if(isEmpty(str)){
return {flag:true,errorMsg:""};
}
var reg = /^[\w\d]+$/;
return {flag:reg.test(str),errorMsg:"数字或字符"};
}
/**判断是否为整数*/
function isInteger(str) {
if(isEmpty(str)){
return {flag:true,errorMsg:""};
}
var reg = /^(\-?)(\d+)(\.0+)?$/;
return {flag:reg.test(str),errorMsg:"整数"};
}
/**判断是否为正整数*/
function isPositiveInteger(str) {
if(isEmpty(str)){
return {flag:true,errorMsg:""};
}
var reg = /^[1-9](\d*)(\.0+)?$/;
return {flag:reg.test(str),errorMsg:"正整数"};
}
/**判断是否为非负整数*/
function isNotNegativeInteger(str) {
if(isEmpty(str)){
return {flag:true,errorMsg:""};
}
var reg = /^\d(\d*)(\.0+)?$/;
return {flag:reg.test(str),errorMsg:"非负整数"};
}
/**判断是否为合法的保险卡前缀*/
function isVscardPrefix(str) {
if(isEmpty(str)){
return {flag:false,errorMsg:""};
}
if(str.trim().length != 3) {
return {flag:false,errorMsg:""};
} else {
var reg = /^\d(\d*)$/;
return {flag:reg.test(str),errorMsg:"保险卡前缀"};
}
}
/**判断是否为正确的年份*/
function isYear(str) {
if(isEmpty(str)){
return {flag:true,errorMsg:"年份"};
}
var r = str.match(/^(\d{1,4})$/);
if(r==null)
return {flag:false,errorMsg:"年份"};
var year = parseInt(str);
if(year > 2100 || year < 1900) {
//return {flag:false,errorMsg:"年份(1900年--2100年)"};
}
return {flag:true,errorMsg:""};
}
/**判断是否为正确的日期*/
function isDate(str, fieldObj) {
if(isEmpty(str)){
return {flag:true,errorMsg:""};
}
var r = str.match(/^(\d{4})(-|\/){0,1}(\d{1,2})\2{0,1}(\d{1,2})$/);
if(r==null)
return {flag:false,errorMsg:"日期"};
var d= new Date(r[1], r[3]-1, r[4]);
if(r[1] > 2100 || r[1] < 1900) {
// return {flag:false,errorMsg:"日期(1900.1.1--2100.12.31)"};
}
//如果输入的是日期,则要求日期自动转化为固定格式
var checkFlag = d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4];
if(checkFlag && fieldObj != null) {
//保证日期格式为yyyy-MM-dd
if(r[3].length == 1) {
r[3] = "0" + r[3];
}
if(r[4].length == 1) {
r[4] = "0" + r[4];
}
fieldObj.value = r[1] + "-" + r[3] + "-" + r[4];
}
return {flag:checkFlag, errorMsg:"日期"};
}
/**
* 校验是否是枚举或范围的组合形式,如1;2;3;[4,8];12;14;[16,19]
* 作者:王致富
* 日期:2010-09-03
*/
function isRangeOrEnum(str) {
if(isEmpty(str)){
return {flag:true,errorMsg:""};
}
str = str.trim();
var reg = /^([\w:]{1,})(;[\w:]{1,})*$/;
return {flag:reg.test(str),errorMsg:"枚举或范围"};
}
/**判断是否全部为大写字符*/
function isUppercase(str) {
if(isEmpty(str)){
return {flag:true,errorMsg:""};
}
var reg = /^[A-Z]+$/;
return {flag:reg.test(str),errorMsg:"大写字符"};
}
/**判断是否全部为小写字母*/
function isLowercase(str) {
if(isEmpty(str)){
return {flag:true,errorMsg:""};
}
var reg = /^[a-z]+$/;
return {flag:reg.test(str),errorMsg:"小写字符"};
}
/**是否为手机号码*/
function isMobile(str) {
if(isEmpty(str)){
return {flag:true,errorMsg:""};
}
var reg = /^(13|14|15|16|17|18|19)\d{9}$/;
return {flag:reg.test(str),errorMsg:"手机号码"};
}
/**是否为数字*/
function isNumber(str){
if(isEmpty(str)){
return {flag:true,errorMsg:""};
}
if(!/^([-]?)\d+(\.\d+)?$/.test(str))
return {flag:false,errorMsg:"数字"};
try{
if(parseFloat(str)!=str)
return {flag:false,errorMsg:"数字"};
}catch(ex){
return {flag:false,errorMsg:"数字"};
}
return {flag:true};
}
/** 校验是否为正数字 */
function isPositiveNumber(str) {
var result = isNumber(str);
if(result.flag == false) {
result.errorMsg = "正数";
return result;
}
var value = parseFloat(str);
if(value <= 0) {
return {flag:false, errorMsg:"正数"};
}
return {flag:true};
}
/** 校验是否为非正数字 */
function isNotPositiveNumber(str){
var result = isNumber(str);
if(result.flag == false){
result.errorMsg = "非正数字";
return result;
}
var value = parseFloat(str);
if(value > 0){
return {flag:false, errorMsg:"非正数字"};
}
return {flag:true};
}
/** 校验是否为非负数字 */
function isNotNegativeNumber(str) {
var result = isNumber(str);
if(result.flag == false) {
result.errorMsg = "非负数字";
return result;
}
var value = parseFloat(str);
if(value < 0) {
return {flag:false, errorMsg:"非负数字"};
}
return {flag:true};
}
/** 校验是否为百分数 */
function isPercent(str) {
var result = isNotNegativeNumber(str);
if(result.flag == false) {
result.errorMsg = "百分数";
return result;
}
var value = parseFloat(str);
if(value > 100) {
return {flag:false, errorMsg:"百分数"};
}
return {flag:true};
}
/** 校验是否为百分数并且不能等于0 add by zhaosongyan */
function isNotNegativeNumber0(str) {
var result = isNumber(str);
if(result.flag == false) {
result.errorMsg = "非负数字";
return result;
}
var value = parseFloat(str);
if(value <=0) {
return {flag:false, errorMsg:"非负数字"};
}
return {flag:true};
}
/**是否为时间,时间格式为HH:MM:SS or HH,MM,SS or HH-MM-SS*/
function isTime(str) {
if(isEmpty(str)){
return {flag:true,errorMsg:""};
}
var a = str.match(/^(\d{1,2})(:|,|-)?(\d{1,2})\2(\d{1,2})$/);
if (a == null) {
return {flag:false,errorMsg:"时间"};
}
if (a[1]>24 || a[3]>60 || a[4]>60) {
return {flag:false,errorMsg:"时间"};
}
return {flag:true};
}
/**是否为日期时间
* 时间格式为
* YYYY-MM-DD HH:MM:SS 或 YYYY/MM/DD HH:MM:SS
*/
function isDateTime(str){
if(isEmpty(str)){
return {flag:true,errorMsg:""};
}
var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/;
var r = str.match(reg);
if(r==null)
return {flag:false,errorMsg:"日期时间"};
var d= new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]);
return {flag:(d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]&&d.getHours()==r[5]&&d.getMinutes()==r[6]&&d.getSeconds()==r[7]),
errorMsg:"日期时间"};
}
/**是否全部为中文*/
function isChinese(str){
if(isEmpty(str)){
return {flag:true,errorMsg:""};
}
var reg = /.{0}[u4e00-u9fa5]+$/;
return {flag:!reg.test(str),errorMsg:"中文"};
}
/**是否包含中文*/
function containChinese(str){
if(isEmpty(str)){
return {flag:true,errorMsg:""};
}
var reg = /^[u4E00-u9FA5]+$/;
return {flag:!reg.test(str),errorMsg:"包含中文的信息"};
}
/**是否为正确的身份证号码*/
function isCardID(cardId){
if(isEmpty(cardId)){
return {flag:true,errorMsg:""};
}
var error = "身份证号码";
var cities={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:"国外"};
//迁移单身份证号位15位校验 --- start
var dmflag = document.getElementsByName('prpCmain.dmFlag')[0];
if(dmflag != null && dmflag.value == '1' && cardId.length == 15){
return true;
}
//迁移单身份证号位15位校验 --- end
if(cities[parseInt(cardId.substr(0,2))] == null) {
return {flag:false,errorMsg:error};
}
var sBirthday = "";
//增加15位身份证的校验
if(cardId.length == 15){
sBirthday = "19" + cardId.substr(6,2) + "-" + Number(cardId.substr(8,2)) + "-" + Number(cardId.substr(10,2));
}else if(cardId.length == 18){
if(!/^\d{17}(\d|x)$/i.test(cardId)) {
return {flag:false,errorMsg:error};
}
sBirthday = cardId.substr(6,4) + "-" + Number(cardId.substr(10,2)) + "-" + Number(cardId.substr(12,2));
}
var d = new Date(sBirthday.replace(/-/g,"/")) ;
if(sBirthday != (d.getFullYear() + "-" + (d.getMonth()+1) + "-" + d.getDate())) {
return {flag:false,errorMsg:error};
}
lastStr = cardId.substr(cardId.length-1);
//增加15位身份证的校验
if(cardId.length == 15){
if(!isNumber(cardId)){
return {flag:false,errorMsg:"身份证号码错误,15位不能含有英文字母!!"};
}
}else if(cardId.length == 18){
if(lastStr == 'x'){
return {flag:false,errorMsg:"最后一位是X的不能录入小写!"};
}
}
return {flag:true};
}
/**是否为正确的电子邮件地址*/
function isEmail(str) {
if(isEmpty(str)){
return {flag:true,errorMsg:""};
}
//var reg = new RegExp("^[0-9a-zA-Z]+@[0-9a-zA-Z]+[\.]{1}[0-9a-zA-Z]+[\.]?[0-9a-zA-Z]+$");
//modify by guoyaori 20120806 begin reason MT-875 邮件的校验规则过于严格
// var reg = new RegExp("^.*@[0-9a-zA-Z]+[\.]{1}[0-9a-zA-Z]+[\.]?[0-9a-zA-Z]+$");
//modify by guoyaori 20120806 end reason MT-875 邮件的校验规则过于严格
//modify by wanganna 20130131 begin reason:生产bug0003385: 人身险系统邮箱校验有漏洞,正确的邮箱格式却提示错误,如:jiangspsc@ccic-net.com.cn
var reg = new RegExp("^.+@[\\w\\-]+(\\.[\\w\\-]+)+$");
//modify by wanganna 20130131 begin reason:生产bug0003385: 人身险系统邮箱校验有漏洞,正确的邮箱格式却提示错误,如:jiangspsc@ccic-net.com.cn
return {flag:reg.test(str),errorMsg:"请输入正确的电子邮件"};
}
/**是否为正确的邮编*/
function isZipcode(str){
str = trim(str);
if(isEmpty(str)){
return {flag:true,errorMsg:""};
}
var reg = new RegExp("^\\d{6}$");
return {flag:reg.test(str.trim()),errorMsg:"邮政编码"};
}
/**是否为正确的电话号码
* 电话号码的举例为:
* 010-86767676
* 0723-54454434
*/
function isTelephone(str){
if(isEmpty(str)){
return {flag:true,errorMsg:""};
}
var reg = new RegExp("^(([0\\+]\\d{2,3}(-)?)?(0\\d{2,3})(-)?)?(\\d{7,8})(-(\\d{3,}))?$");
return {flag:reg.test(str),errorMsg:"电话号码"};
}
/**
* 是否为正确的联系方式,即是否为电话或手机
* 先校验是否为电话号码,如果不是电话号码,然后校验是否为手机
*/
function isTelOrMobile(str) {
if(isEmpty(str)){
return {flag:true,errorMsg:""};
}
var reg = new RegExp("^(([0\\+]\\d{2,3}(-)?)?(0\\d{2,3})(-)?)?(\\d{7,8})(-(\\d{3,}))?$");
if(reg.test(str)) {
return {flag:reg.test(str),errorMsg:"手机或电话号码"};
} else {
reg = /^(13|14|15|16|17|18|19)\d{9}$/;
return {flag:reg.test(str),errorMsg:"手机或电话号码"};
}
}
/**
* 是否为有效的小时
*/
function isValidateHour(str){
var result = isNotNegativeNumber(str);
if(result.flag == false) {
result.errorMsg = "有效小时";
return result;
}
var value = parseInt(str);
if(value<0 || value>24){
return {flag:false,errorMsg:"有效小时"};
}
return {flag:true};
}
0 0
- easyUI表单校验扩展
- easyUI之表单校验
- easyui 校验扩展
- easyui校验器扩展
- easyUI表单验证扩展
- easyui 表单验证扩展
- 扩展easyui 的表单验证
- 扩展easyui 的表单验证
- 扩展easyui 的表单验证
- 扩展easyui 的表单验证
- EasyUI表单验证(扩展)
- 扩展easyui 的表单验证easyui-validatebox
- Jquery Easyui验证扩展,EasyUI增加校验规则,Easyui验证,Easyui校验
- easyui 扩展 前端 ValidateBox 验证 校验 属性
- jQuery EasyUI---validatebox 校验规则扩展
- jQuery EasyUI---validatebox 校验规则扩展
- EASYUI 使用自定义的校验类型来联动校验表单
- 扩展jQuery EasyUI 的表单验证
- 基于直方图的特征-----经典的SIFT特征
- hdu 4883
- 图像处理与计算机视觉 基础、经典以及最近发展
- Android中RelativeLayout各个属性的含义
- long long 格式化
- easyUI表单校验扩展
- 代码创建布局约束
- 23个设计模式的简明教程(CSDN)
- Android中去掉或更改标题栏TitleBar,theme的更改
- your project contains error(s) please fix them before running your application的处理方法
- 记录一个 input change 和 blur 事件同时注册的问题
- Connection for controluser as defined in your configuration failed.
- 中老蒙致颗雅坦痈倥裙某喜
- 独浩日芍悸考晨资陌难硬嚷