|
- /*
- * 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园(http://www.learun.cn)
- * Copyright (c) 2013-2018 北京泉江科技有限公司
- * 创建人:陈彬彬
- * 日 期:2017.03.16
- * 描 述:数据验证完整性
- */
- (function ($, learun) {
- "use strict";
-
- // 数据验证方法
- learun.validator = {
- validReg: function (obj, reg, msg) {
- var res = { code: true, msg: '' };
- if (!reg.test(obj)) {
- res.code = false;
- res.msg = msg;
- }
- return res;
- },
- validRegOrNull: function (obj, reg, msg) {
- var res = { code: true, msg: '' };
- if (obj == null || obj == undefined || obj.length == 0) {
- return res;
- }
- if (!reg.test(obj)) {
- res.code = false;
- res.msg = msg;
- }
- return res;
- },
- isNotNull: function (obj) {// 验证不为空
- var res = { code: true, msg: '' };
- obj = $.trim(obj);
- if (obj == null || obj == undefined || obj.length == 0) {
- res.code = false;
- res.msg = '不能为空';
- }
- return res;
- },
- isBankCard: function (obj) {//验证银行卡的长度
- var res = { code: true, msg: '' };
- obj = $.trim(obj);
- if (obj.length >= 20 || obj.length < 16) {
- res.code = false;
- res.msg = '输入错误,请核对银行卡账号';
- }
- return res;
- },
- isNum: function (obj) {// 验证数字
- return learun.validator.validReg(obj, /^[-+]?\d+$/, '必须为数字');
- },
-
- isPositiveInteger: function (obj) {// 正整数
- return learun.validator.validReg(obj, /^[1-9]\d*$/, '必须为正整数');
- },
- isPositiveFloatintZero: function (obj) {// 整数或小数(不能为负数)
- return learun.validator.validReg(obj, /^(0|[1-9]\d*|(0|[1-9]\d*)\.\d*[1-9])$/, '必须为整数或小数(不能为负数)');
- },
- isPositiveFloatint: function (obj) {// 整数或小数(不能为零和负数)
- return learun.validator.validReg(obj, /^([1-9]\d*|(0|[1-9]\d*)\.\d*[1-9])$/, '请输入正确的整数或小数(不能为零和负数)');
- },
- isNumOrNull: function (obj) {// 验证数字 或者空
- return learun.validator.validRegOrNull(obj, /^[-+]?\d+$/, '数字或空');
- },
- isEmail: function (obj) {//Email验证 email
- return learun.validator.validReg(obj, /^\w{3,}@\w+(\.\w+)+$/, '必须为E-mail格式');
- },
- isEmailOrNull: function (obj) {//Email验证 email 或者null,空
- return learun.validator.validRegOrNull(obj, /^\w{3,}@\w+(\.\w+)+$/, '必须为E-mail格式或空');
- },
- isEnglishStr: function (obj) {//验证只能输入英文字符串 echar
- return learun.validator.validReg(obj, /^[a-z,A-Z]+$/, '必须为英文字符串');
- },
- isEnglishStrOrNull: function (obj) {//验证只能输入英文字符串 echar 或者null,空
- return learun.validator.validRegOrNull(obj, /^[a-z,A-Z]+$/, '必须为英文字符串或空');
- },
- isTelephone: function (obj) { //验证是否电话号码 phone
- return learun.validator.validReg(obj, /^(\d{3,4}\-)?[1-9]\d{6,7}$/, '必须为电话格式');
- },
- isTelephoneOrNull: function (obj) {//验证是否电话号码 phone或者null,空
- return learun.validator.validRegOrNull(obj, /^(\d{3,4}\-)?[1-9]\d{6,7}$/, '必须为电话格式或空');
- },
- isMobile: function (obj) {//验证是否手机号 mobile
- return learun.validator.validReg(obj, /^(\+\d{2,3}\-)?\d{11}$/, '必须为手机格式');
- },
- isMobileOrnull: function (obj) {//验证是否手机号 mobile或者null,空
- return learun.validator.validRegOrNull(obj, /^(\+\d{2,3}\-)?\d{11}$/, '必须为手机格式或空');
- },
- isMobileOrPhone: function (obj) {//验证是否手机号或电话号码 mobile phone
- var res = { code: true, msg: '' };
- if (!learun.validator.isTelephone(obj).code && !learun.validator.isMobile(obj).code) {
- res.code = false;
- res.msg = '为电话格式或手机格式';
- }
- return res;
- },
- isMobileOrPhoneOrNull: function (obj) {//验证是否手机号或电话号码 mobile phone或者null,空
- var res = { code: true, msg: '' };
- if (learun.validator.isNotNull(obj).code && !learun.validator.isTelephone(obj).code && !learun.validator.isMobile(obj).code) {
- res.code = false;
- res.msg = '为电话格式或手机格式或空';
- }
- return res;
- },
- isUri: function (obj) {//验证网址 uri
- return learun.validator.validReg(obj, /^http:\/\/[a-zA-Z0-9]+\.[a-zA-Z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/, '必须为网址格式');
- },
- isUriOrNull: function (obj) {//验证网址 uri或者null,空
- return learun.validator.validRegOrNull(obj, /^http:\/\/[a-zA-Z0-9]+\.[a-zA-Z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/, '必须为网址格式或空');
- },
- isDate: function (obj) {//判断日期类型是否为YYYY-MM-DD格式的类型 date
- return learun.validator.validReg(obj, /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/, '必须为日期格式');
- },
- isDateOrNull: function (obj) {//判断日期类型是否为YYYY-MM-DD格式的类型 date或者null,空
- return learun.validator.validRegOrNull(obj, /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/, '必须为日期格式或空');
- },
- isDateTime: function (obj) {//判断日期类型是否为YYYY-MM-DD hh:mm:ss格式的类型 datetime
- return learun.validator.validReg(obj, /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/, '必须为日期时间格式');
- },
- isDateTimeOrNull: function (obj) {//判断日期类型是否为YYYY-MM-DD hh:mm:ss格式的类型 datetime或者null,空
- return learun.validator.validRegOrNull(obj, /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/, '必须为日期时间格式');
- },
- isTime: function (obj) {//判断日期类型是否为hh:mm:ss格式的类型 time
- return learun.validator.validReg(obj, /^((20|21|22|23|[0-1]\d)\:[0-5][0-9])(\:[0-5][0-9])?$/, '必须为时间格式');
- },
- isTimeOrNull: function (obj) {//判断日期类型是否为hh:mm:ss格式的类型 time或者null,空
- return learun.validator.validRegOrNull(obj, /^((20|21|22|23|[0-1]\d)\:[0-5][0-9])(\:[0-5][0-9])?$/, '必须为时间格式或空');
- },
- isChinese: function (obj) {//判断输入的字符是否为中文 cchar
- return learun.validator.validReg(obj, /^[\u0391-\uFFE5]+$/, '必须为中文');
- },
- isChineseOrNull: function (obj) {//判断输入的字符是否为中文 cchar或者null,空
- return learun.validator.validRegOrNull(obj, /^[\u0391-\uFFE5]+$/, '必须为中文或空');
- },
- isZip: function (obj) {//判断输入的邮编(只能为六位)是否正确 zip
- return learun.validator.validReg(obj, /^\d{6}$/, '必须为邮编格式');
- },
- isZipOrNull: function (obj) {//判断输入的邮编(只能为六位)是否正确 zip或者null,空
- return learun.validator.validRegOrNull(obj, /^\d{6}$/, '必须为邮编格式或空');
- },
- isDouble: function (obj) {//判断输入的字符是否为双精度 double
- return learun.validator.validReg(obj, /^[-\+]?\d+(\.\d+)?$/, '必须为小数');
- },
- isDoubleOrNull: function (obj) {//判断输入的字符是否为双精度 double或者null,空
- return learun.validator.validRegOrNull(obj, /^[-\+]?\d+(\.\d+)?$/, '必须为小数或空');
- },
- isIDCard: function (obj) {//判断是否为身份证 idcard
- return learun.validator.validReg(obj, /^\d{15}(\d{2}[A-Za-z0-9;])?$/, '必须为身份证格式');
- },
- isIDCardOrNull: function (obj) {//判断是否为身份证 idcard或者null,空
- return learun.validator.validRegOrNull(obj, /^\d{15}(\d{2}[A-Za-z0-9;])?$/, '必须为身份证格式或空');
- },
- isStrongPwd: function (obj) {//判断是否为数字、大小写字母、特殊字符组成的密码
- return learun.validator.validReg(obj, /^(?=.*[0-9])(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*,\.])[0-9a-zA-Z!@#$%^&*,\.]{8,20}$/, '8-20位必须同时包含大小写字母、数字、特殊符号');
- },
- isStrongPwdOrNull: function (obj) {//判断是否为数字、大小写字母、特殊字符组成的密码或者null,空
- return learun.validator.validRegOrNull(obj, /^(?=.*[0-9])(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*,\.])[0-9a-zA-Z!@#$%^&*,\.]{8,20}$/, '8-20位必须同时包含大小写字母、数字、特殊符号或空');
- },
- isIP: function (obj) {//判断是否为IP地址格式
- var res = { code: true, msg: '' };
- var reg = /^(\d+)\.(\d+)\.(\d+)\.(\d+)$/g //匹配IP地址的正则表达式
- var flag = false;
- if (reg.test(obj)) {
- if (RegExp.$1 < 256 && RegExp.$2 < 256 && RegExp.$3 < 256 && RegExp.$4 < 256) { flag = true };
- }
- if (!flag) {
- res.code = false;
- res.msg = '必须为IP格式';
- }
- return res;
- },
- isIPOrNull: function (obj) {//判断是否为IP地址格式 或者null,空
- var res = { code: true, msg: '' };
- if (learun.validator.isNotNull(obj) && !learun.validator.isIP(obj).code) {
- res.code = false;
- res.msg = '必须为IP格式或空';
- }
- return res;
- },
-
- isLenNum: function (obj, n) {//验证是否是n位数字字符串编号 nnum
- var res = { code: true, msg: '' };
- var reg = /^[0-9]+$/;
- obj = $.trim(obj);
- if (obj.length > n || !reg.test(obj)) {
- res.code = false;
- res.msg = '必须为' + n + '位数字';
- }
- return res;
- },
- isLenNumOrNull: function (obj, n) {//验证是否是n位数字字符串编号 nnum或者null,空
- var res = { code: true, msg: '' };
- if (learun.validator.isNotNull(obj).code && !learun.validator.isLenNum(obj)) {
- res.code = false;
- res.msg = '必须为' + n + '位数字或空';
- }
- return res;
- },
- isLenStr: function (obj, n) {//验证是否小于等于n位数的字符串 nchar
- var res = { code: true, msg: '' };
- obj = $.trim(obj);
- if (!learun.validator.isNotNull(obj).code || obj.length > n) {
- res.code = false;
- res.msg = '必须小于等于' + n + '位字符';
- }
- return res;
- },
- isLenStrOrNull: function (obj, n) {//验证是否小于等于n位数的字符串 nchar或者null,空
- var res = { code: true, msg: '' };
- obj = $.trim(obj);
- if (learun.validator.isNotNull(obj).code && obj.length > n) {
- res.code = false;
- res.msg = '必须小于等于' + n + '位字符或空';
- }
- return res;
- },
- };
-
- })(window.jQuery, top.learun);
|