znbm.ekcheck.jsV20170518
2017-05-18 09:18:16 访问(2153) 赞(0) 踩(0)
function IsDigit (cCheck) {
// 判断传入的字符是否是数字 //
return (('0' <= cCheck) && (cCheck <= '9'));
}
function EkFocusCtrlRemoveCheckError(selfThis) {
// 移除校验错误提示 //
var focusCtrl = selfThis;
var focusCtrlId = $(selfThis).attr("focusid");
if (focusCtrlId != undefined && focusCtrlId != null && focusCtrlId != "") {
focusCtrl = $("#" + focusCtrlId);
if (focusCtrl == null)
return;
}
if (focusCtrl != null) {
$(focusCtrl).removeClass("ek-check-error");
}
}
function IsAllDigit (str) {
// 判断传入的字符串是否是数字 //
if ((str == null) || (str.length == 0)) {
return false;
}
var chCurrent;
for (i = 0; i < str.length; i++) {
chCurrent = str.charAt(i);
if (!IsDigit(chCurrent)) {
return false;
}
}
return true;
}
//判断输入的字符是否为双精度 double
function isFloat(obj) {
if (obj.length != 0) {
reg = /^[-\+]?\d+(\.\d+)?$/;
if (!reg.test(obj)) {
return false;
}
else {
return true;
}
}
}
//判断日期类型是否为YYYY-MM-DD hh:mm格式Or YYYY-MM-DD hh:mm:ss的类型 datetime
function isDateTime(obj) {
if (obj.length != 0) {
reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2})$/;
reg2 = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/;
if (!reg.test(obj) && !reg2.test(obj)) {
return false;
}
else {
return true;
}
}
}
//判断日期类型是否为YYYY-MM-DD hh:mm:ss格式的类型 datetime或者null,空
function isDateTimeOrNull(obj) {
var controlObj = $.trim(obj);
if (controlObj.length == 0 || controlObj == null || controlObj == undefined) {
return true;
}
if (obj.length != 0) {
reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/;
reg2 = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2})$/;
if (!reg.test(obj) && !reg2.test(obj)) {
return false;
}
else {
return true;
}
}
}
//判断日期类型是否为YYYY-MM-DD格式的类型 datetime
function isDate(obj) {
if (obj.length != 0) {
reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/;
if (!reg.test(obj)) {
return false;
}
else {
return true;
}
}
}
//判断日期类型是否为YYYY-MM-DD格式的类型 date或者null,空
function isDateOrNull(obj) {
var controlObj = $.trim(obj);
if (controlObj.length == 0 || controlObj == null || controlObj == undefined) {
return true;
}
if (obj.length != 0) {
reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/;
if (!reg.test(obj)) {
return false;
}
else {
return true;
}
}
}
//验证数字 num
function isInteger(obj) {
reg = /^[-+]?\d+$/;
if (!reg.test(obj)) {
return false;
} else {
return true;
}
}
//判断是否为身份证 idcard
function isIDCard(obj) {
if (obj.length != 0) {
reg = /^\d{15}(\d{2}[A-Za-z0-9;])?$/;
if (!reg.test(obj))
return false;
else
return true;
}
}
//判断是否为身份证 idcard或者null,空
function isIDCardOrNull(obj) {
var controlObj = $.trim(obj);
if (controlObj.length == 0 || controlObj == null || controlObj == undefined) {
return true;
}
if (obj.length != 0) {
reg = /^\d{15}(\d{2}[A-Za-z0-9;])?$/;
if (!reg.test(obj))
return false;
else
return true;
}
}
//判断是否为IP地址格式
function isIP(obj) {
var re = /^(\d+)\.(\d+)\.(\d+)\.(\d+)$/g //匹配IP地址的正则表达式
if (re.test(obj)) {
if (RegExp.$1 < 256 && RegExp.$2 < 256 && RegExp.$3 < 256 && RegExp.$4 < 256) return true;
}
return false;
}
//判断是否为IP地址格式 或者null,空
function isIPOrNull(obj) {
var controlObj = $.trim(obj);
if (controlObj.length == 0 || controlObj == null || controlObj == undefined) {
return true;
}
var re = /^(\d+)\.(\d+)\.(\d+)\.(\d+)$/g //匹配IP地址的正则表达式
if (re.test(obj)) {
if (RegExp.$1 < 256 && RegExp.$2 < 256 && RegExp.$3 < 256 && RegExp.$4 < 256) return true;
}
return false;
}
//Email验证 email
function isEmail(obj) {
reg = /^\w{3,}@\w+(\.\w+)+$/;
if (!reg.test(obj)) {
return false;
} else {
return true;
}
}
//Email验证 email 或者null,空
function isEmailOrNull(obj) {
var controlObj = $.trim(obj);
if (controlObj.length == 0 || controlObj == null || controlObj == undefined) {
return true;
}
reg = /^\w{3,}@\w+(\.\w+)+$/;
if (!reg.test(obj)) {
return false;
} else {
return true;
}
}
//验证是否电话号码 phone
function isTelephone(obj) {
reg = /^(\d{3,4}\-)?[1-9]\d{6,7}$/;
if (!reg.test(obj)) {
return false;
} else {
return true;
}
}
//验证是否电话号码 phone或者null,空
function isTelephoneOrNull(obj) {
var controlObj = $.trim(obj);
if (controlObj.length == 0 || controlObj == null || controlObj == undefined) {
return true;
}
reg = /^(\d{3,4}\-)?[1-9]\d{6,7}$/;
if (!reg.test(obj)) {
return false;
} else {
return true;
}
}
//验证是否手机号 mobile
function isMobile(obj) {
reg = /^(\+\d{2,3}\-)?\d{11}$/;
if (!reg.test(obj)) {
return false;
} else {
return true;
}
}
//验证是否手机号 mobile或者null,空
function isMobileOrnull(obj) {
var controlObj = $.trim(obj);
if (controlObj.length == 0 || controlObj == null || controlObj == undefined) {
return true;
}
reg = /^(\+\d{2,3}\-)?\d{11}$/;
if (!reg.test(obj)) {
return false;
} else {
return true;
}
}
//验证网址 uri
function isUri(obj) {
reg = /^http:\/\/[a-zA-Z0-9]+\.[a-zA-Z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/;
if (!reg.test(obj)) {
return false;
} else {
return true;
}
}
//验证网址 uri或者null,空
function isUriOrnull(obj) {
var controlObj = $.trim(obj);
if (controlObj.length == 0 || controlObj == null || controlObj == undefined) {
return true;
}
reg = /^http:\/\/[a-zA-Z0-9]+\.[a-zA-Z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/;
if (!reg.test(obj)) {
return false;
} else {
return true;
}
}
function EkChangeCss(selfThis, validateMsg) {
// 校验结果提示 //
alert(validateMsg);
// toastr.error(validateMsg);
var focusCtrl = selfThis;
var focusCtrlId = $(selfThis).attr("focusid");
if (focusCtrlId != undefined && focusCtrlId != null && focusCtrlId != "") {
focusCtrl = $("#" + focusCtrlId);
if (focusCtrl == null)
return;
}
// focusCtrl.attr("tooltip", validateMsg);
//var focusParent = $(focusCtrl).parent();
//if (focusParent != null) {
// focusParent.addClass("has-error");
//}
if (focusCtrl != null) {
$(focusCtrl).addClass("ek-check-error");
}
var bAllowFocus = false;
if ($(selfThis).attr("allowfocus") != false) {
if (typeof ($(focusCtrl).attr("onfocus")) == "function" || typeof ($(focusCtrl).attr("onfocus")) == "string" || typeof ($(focusCtrl).attr("onfocus")) != "undefined") {
// 防止日期WdatePicker 造成浏览器假死 //
// $(focusCtrl).select();
}
else {
$(focusCtrl).focus(); //焦点
bAllowFocus = true;
}
}
if (bAllowFocus) {
var selectCtrlId = $(selfThis).attr("selectid");
if (selectCtrlId != "-") {
if (selectCtrlId != undefined && selectCtrlId != null && selectCtrlId != "") {
var selectCtrl = $("#" + selectCtrlId);
if (selectCtrl != null)
selectCtrl.select();
}
else {
if ($(focusCtrl).attr("type") == "text")
focusCtrl.select();
}
}
}
}
function EkValueIsNull(theValue) {
// 值是否为空 //
if (theValue == null)
return true;
theValue = $.trim(theValue);
if (theValue.length == 0 || theValue == "" || theValue == undefined) {
return true;
}
return false;
}
function NotNullEkCheck(selfThis, valueThis) {
// 非空校验 //
var validateMsg = "";
var validateFlag = true;
// 获得结果集合 //
var theValue = EkGetCtrlValue(valueThis);
if (EkValueIsNull(theValue)) {
validateMsg = $(selfThis).attr("err") + "不能为空";
validateFlag = false;
EkChangeCss($(selfThis), validateMsg);
return false;
}
return true;
}
function EkJudgeValidateByThis(selfThis) {
if (selfThis == null) {
// 找不到控件,不做处理 //
return true;
}
// 获得校验表达式 //
var vCheckexpession = $(selfThis).attr("checkexpession");
// 校验表达式 - 未知 //
if (vCheckexpession == undefined)
return true;
var valueThis = selfThis;
// 获得控件的ID //
// 默认等于自己 //
var ctrlId = $(selfThis).attr("ctrlid");
if (ctrlId != undefined && ctrlId != null && ctrlId != "") {
valueThis = $("#" + ctrlId);
}
var ctrlValue = null;
var validateFlag = true;
var validateMsg = "";
switch (vCheckexpession) {
case "NotNull":
{
if (!NotNullEkCheck(selfThis, valueThis)) {
validateFlag = false;
return false;
}
break;
}
case "UInt":
{
// 大于等于零的整数 //
if (!NotNullEkCheck(selfThis, valueThis)) {
validateFlag = false;
return false;
}
ctrlValue = EkGetCtrlValue(valueThis);
ctrlValue = $.trim(ctrlValue);
if (!IsAllDigit(ctrlValue)) {
validateMsg = $(selfThis).attr("err") + "必须为数字";
validateFlag = false;
EkChangeCss(selfThis, validateMsg);
return false;
}
ctrlValue = parseInt(ctrlValue, 10);
if (ctrlValue < 0) {
validateMsg = $(selfThis).attr("err") + "必须为大于等于0的数字";
validateFlag = false;
EkChangeCss(selfThis, Validatemsg);
return false;
}
break;
}
case "Num":
{
// 数字 //
if (!NotNullEkCheck(selfThis, valueThis)) {
validateFlag = false;
return false;
}
ctrlValue = EkGetCtrlValue(valueThis);
ctrlValue = $.trim(ctrlValue);
if (!isInteger(ctrlValue)) {
validateMsg = $(selfThis).attr("err") + "必须为数字";
validateFlag = false;
EkChangeCss(selfThis, validateMsg);
return false;
}
//ctrlValue = parseInt(ctrlValue, 10);
//if (ctrlValue < 0) {
// validateMsg = $(selfThis).attr("err") + "必须为大于等于0的数字";
// validateFlag = false;
// EkChangeCss(selfThis, Validatemsg);
// return false;
//}
break;
}
case "Number":
{
// 大于等于零的浮点数 //
if (!NotNullEkCheck(selfThis, valueThis)) {
validateFlag = false;
return false;
}
ctrlValue = EkGetCtrlValue(valueThis);
ctrlValue = $.trim(ctrlValue);
if (!isFloat(ctrlValue)) {
validateMsg = $(selfThis).attr("err") + "必须为数字";
validateFlag = false;
EkChangeCss(selfThis, validateMsg);
return false;
}
ctrlValue = parseFloat(ctrlValue);
if (ctrlValue < 0) {
validateMsg = $(selfThis).attr("err") + "必须为大于等于0的数字";
validateFlag = false;
EkChangeCss(selfThis, Validatemsg);
return false;
}
break;
}
case "DateTime":
{
// 时间 //
if (!NotNullEkCheck(selfThis, valueThis)) {
validateFlag = false;
return false;
}
ctrlValue = EkGetCtrlValue(valueThis);
ctrlValue = $.trim(ctrlValue);
if (!isDateTime(ctrlValue)) {
validateMsg = $(selfThis).attr("err") + "日期时间 yyyy-MM-DD hh:mm 或 yyyy-MM-DD hh:mm:ss";
validateFlag = false;
EkChangeCss(selfThis, validateMsg);
return false;
}
break;
}
case "DateTimeOrNull":
{
// 时间 或 空//
ctrlValue = EkGetCtrlValue(valueThis);
ctrlValue = $.trim(ctrlValue);
if (!isDateTimeOrNull(ctrlValue)) {
validateMsg = $(selfThis).attr("err") + "日期时间 yyyy-MM-DD hh:mm 或 yyyy-MM-DD hh:mm:ss";
validateFlag = false;
EkChangeCss(selfThis, validateMsg);
return false;
}
break;
}
case "Date":
{
// 时间天:yyyy-MM-DD //
if (!NotNullEkCheck(selfThis, valueThis)) {
validateFlag = false;
return false;
}
ctrlValue = EkGetCtrlValue(valueThis);
ctrlValue = $.trim(ctrlValue);
if (!isDate(ctrlValue)) {
validateMsg = $(selfThis).attr("err") + "日期时间 yyyy-MM-DD";
validateFlag = false;
EkChangeCss(selfThis, validateMsg);
return false;
}
break;
}
case "DateOrNull":
{
// 时间天:yyyy-MM-DD //
ctrlValue = EkGetCtrlValue(valueThis);
ctrlValue = $.trim(ctrlValue);
if (!isDateOrNull(ctrlValue)) {
validateMsg = $(selfThis).attr("err") + "日期时间 yyyy-MM-DD";
validateFlag = false;
EkChangeCss(selfThis, validateMsg);
return false;
}
break;
}
case "IDCard":
{
// 身份证号码 //
if (!NotNullEkCheck(selfThis, valueThis)) {
validateFlag = false;
return false;
}
ctrlValue = EkGetCtrlValue(valueThis);
ctrlValue = $.trim(ctrlValue);
if (!isIDCard(ctrlValue)) {
validateMsg = $(selfThis).attr("err") + "18位身份证号码";
validateFlag = false;
EkChangeCss(selfThis, validateMsg);
return false;
}
break;
}
case "IDCardOrNull":
{
// 身份证号码或空 //
ctrlValue = EkGetCtrlValue(valueThis);
ctrlValue = $.trim(ctrlValue);
if (!isIDCardOrNull(ctrlValue)) {
validateMsg = $(selfThis).attr("err") + "18位身份证号码";
validateFlag = false;
EkChangeCss(selfThis, validateMsg);
return false;
}
break;
}
case "IP":
{
// 身份证号码 //
if (!NotNullEkCheck(selfThis, valueThis)) {
validateFlag = false;
return false;
}
ctrlValue = EkGetCtrlValue(valueThis);
ctrlValue = $.trim(ctrlValue);
if (!isIP(ctrlValue)) {
validateMsg = $(selfThis).attr("err") + "IP地址格式";
validateFlag = false;
EkChangeCss(selfThis, validateMsg);
return false;
}
break;
}
case "IPOrNull":
{
// 身份证号码或空 //
ctrlValue = EkGetCtrlValue(valueThis);
ctrlValue = $.trim(ctrlValue);
if (!isIPOrNull(ctrlValue)) {
validateMsg = $(selfThis).attr("err") + "IP地址格式";
validateFlag = false;
EkChangeCss(selfThis, validateMsg);
return false;
}
break;
}
case "Email":
{
// Email地址格式 //
if (!NotNullEkCheck(selfThis, valueThis)) {
validateFlag = false;
return false;
}
ctrlValue = EkGetCtrlValue(valueThis);
ctrlValue = $.trim(ctrlValue);
if (!isEmail(ctrlValue)) {
validateMsg = $(selfThis).attr("err") + "Email地址格式";
validateFlag = false;
EkChangeCss(selfThis, validateMsg);
return false;
}
break;
}
case "EmailOrNull":
{
// Email地址格式或空 //
ctrlValue = EkGetCtrlValue(valueThis);
ctrlValue = $.trim(ctrlValue);
if (!isEmailOrNull(ctrlValue)) {
validateMsg = $(selfThis).attr("err") + "Email地址格式";
validateFlag = false;
EkChangeCss(selfThis, validateMsg);
return false;
}
break;
}
case "Telephone":
{
// Telephone格式 //
if (!NotNullEkCheck(selfThis, valueThis)) {
validateFlag = false;
return false;
}
ctrlValue = EkGetCtrlValue(valueThis);
ctrlValue = $.trim(ctrlValue);
if (!isTelephone(ctrlValue)) {
validateMsg = $(selfThis).attr("err") + "电话号码格式";
validateFlag = false;
EkChangeCss(selfThis, validateMsg);
return false;
}
break;
}
case "TelephoneOrNull":
{
// Telephone格式或空 //
ctrlValue = EkGetCtrlValue(valueThis);
ctrlValue = $.trim(ctrlValue);
if (!isTelephoneOrNull(ctrlValue)) {
validateMsg = $(selfThis).attr("err") + "电话号码格式";
validateFlag = false;
EkChangeCss(selfThis, validateMsg);
return false;
}
break;
}
case "Mobile":
{
// Mobile格式 //
if (!NotNullEkCheck(selfThis, valueThis)) {
validateFlag = false;
return false;
}
ctrlValue = EkGetCtrlValue(valueThis);
ctrlValue = $.trim(ctrlValue);
if (!isMobile(ctrlValue)) {
validateMsg = $(selfThis).attr("err") + "手机号码格式";
validateFlag = false;
EkChangeCss(selfThis, validateMsg);
return false;
}
break;
}
case "MobileOrNull":
{
// Mobile格式或空 //
ctrlValue = EkGetCtrlValue(valueThis);
ctrlValue = $.trim(ctrlValue);
if (!isMobileOrNull(ctrlValue)) {
validateMsg = $(selfThis).attr("err") + "手机号码格式";
validateFlag = false;
EkChangeCss(selfThis, validateMsg);
return false;
}
break;
}
case "Uri":
{
// Mobile格式 //
if (!NotNullEkCheck(selfThis, valueThis)) {
validateFlag = false;
return false;
}
ctrlValue = EkGetCtrlValue(valueThis);
ctrlValue = $.trim(ctrlValue);
if (!isUri(ctrlValue)) {
validateMsg = $(selfThis).attr("err") + "网址格式";
validateFlag = false;
EkChangeCss(selfThis, validateMsg);
return false;
}
break;
}
case "UriOrNull":
{
// Mobile格式或空 //
ctrlValue = EkGetCtrlValue(valueThis);
ctrlValue = $.trim(ctrlValue);
if (!isUriOrNull(ctrlValue)) {
validateMsg = $(selfThis).attr("err") + "网址格式";
validateFlag = false;
EkChangeCss(selfThis, validateMsg);
return false;
}
break;
}
}
return validateFlag;
}
function EkJudgeValidate(containerId, ekCode) {
// 输入校验 //
var eA = null;
if (containerId == null) {
// 如果没有指定容器 //
eA = $("[checkcode=" + ekCode + "]");
}
else {
// 如果指定了容器 //
eA = $("#" + containerId).find("[checkcode=" + ekCode + "]");
}
var eALen = eA.length;
var i = 0;
var eI = null;
var checkResult = true;
for (i = 0; i < eALen; ++i) {
eI = eA[i];
checkResult = EkJudgeValidateByThis(eI);
if (!checkResult)
return false;
EkFocusCtrlRemoveCheckError(eI);
}
return checkResult;
}
/* 时间校验函数 */
//
//时间型比较 - 开始时间/结束时间比较
function DateTimeCompare(fromTime, toTime) {
if (fromTime == null || fromTime == "")
return true;
if (toTime == null || toTime == "")
return true;
var strFromTime = fromTime.replace("-", "/");
var strToTime = toTime.replace("-", "/");
var dtFromTime = new Date(strFromTime);
var dtToTime = new Date(strToTime);
if (dtFromTime > dtToTime)
return false;
return true;
}
//时间型比较 - 通过时间控件ID进行时间比较
function DateTimeCompareById(fromTimeCtrlId, toTimeCtrlId) {
if (fromTimeCtrlId == null || fromTimeCtrlId == "")
return true;
if (toTimeCtrlId == null || toTimeCtrlId == "")
return true;
var fromCtrl = document.getElementById(fromTimeCtrlId);
if (fromCtrl == null)
return true;
var toCtrl = document.getElementById(toTimeCtrlId);
if (toCtrl == null)
return true;
var fromV = StrTrim(fromCtrl.value);
var toV = StrTrim(toCtrl.value);
return DateTimeCompare(fromV, toV);
}
//时间型比较 - 开始时间 不能大于 当前时间
function DateTimeCompareNow(fromTime) {
if (fromTime == null || fromTime == "")
return true;
var strFromTime = fromTime.replace("-", "/");
var dtFromTime = new Date(strFromTime);
var curNow = new Date();
if (dtFromTime > curNow)
return false;
return true;
}
//时间型比较 - 通过时间控件ID 进行“开始时间不能大于当前时间”比较
function DateTimeCompareNowById(fromTimeCtrlId) {
if (fromTimeCtrlId == null || fromTimeCtrlId == "")
return true;
var fromCtrl = document.getElementById(fromTimeCtrlId);
if (fromCtrl == null)
return true;
var fromV = StrTrim(fromCtrl.value);
return DateTimeCompareNow(fromV);
}
//日期型比较 - 开始日期/结束日期
function DateCompare(fromTime, fromIsDate, toTime, toIsDate) {
if (fromTime == null || fromTime == "")
return true;
if (toTime == null || toTime == "")
return true;
var strFromTime = fromTime.replace("-", "/");
var strToTime = toTime.replace("-", "/");
if (fromIsDate)
strFromTime += " 00:00:00";
if (toIsDate)
strToTime += " 23:59:59";
var dtFromTime = new Date(strFromTime);
var dtToTime = new Date(strToTime);
if (dtFromTime > dtToTime)
return false;
return true;
}
//日期型比较 - 通过日期控件ID 进行开始日期/结束日期比较
function DateCompareById(fromTimeCtrlId, fromIsDate, toTimeCtrlId, toIsDate) {
if (fromTimeCtrlId == null || fromTimeCtrlId == "")
return true;
if (toTimeCtrlId == null || toTimeCtrlId == "")
return true;
var fromCtrl = document.getElementById(fromTimeCtrlId);
if (fromCtrl == null)
return true;
var toCtrl = document.getElementById(toTimeCtrlId);
if (toCtrl == null)
return true;
var fromV = StrTrim(fromCtrl.value);
var toV = StrTrim(toCtrl.value);
return DateCompare(fromV, fromIsDate, toV, toIsDate);
}
标签:
znbm.ekcheck.jsV20170518 


上一条:
下一条:
相关评论
发表评论