/** * 是否相等 */ // // var local = window.location; // var contextPath = local.pathname.split("/")[1]; // 目前只支持年-月-日这样的格式 function compareDate(DateOne, DateTwo) { var OneMonth = DateOne.substring(5, DateOne.lastIndexOf("-")); var OneDay = DateOne.substring(DateOne.length, DateOne.lastIndexOf("-") + 1); var OneYear = DateOne.substring(0, DateOne.indexOf("-")); var TwoMonth = DateTwo.substring(5, DateTwo.lastIndexOf("-")); var TwoDay = DateTwo.substring(DateTwo.length, DateTwo.lastIndexOf("-") + 1); var TwoYear = DateTwo.substring(0, DateTwo.indexOf("-")); if (Date.parse(OneMonth + "/" + OneDay + "/" + OneYear) > Date.parse(TwoMonth + "/" + TwoDay + "/" + TwoYear)) { return true; } else { return false; } } function isfloat4Fn(val) { if (/^\d+(\.\d{1,4})?$/.test(String(val)) == false) { errorMessage("小数点后最多4位小数"); return false; } return true; } jQuery.validator.addMethod("isFloat", function (value, element) { return this.optional(element) || /^[-\+]?\d+(\.\d+)?$/.test(value); }, "请输入有效的数字"); jQuery.validator.addMethod("isFloat2Fn", function (value, element) { return this.optional(element) || /^\d+(\.\d{1,2})?$/.test(value); }, "小数点后最多2位小数"); jQuery.validator.addMethod("isFloat4Fn", function (value, element) { return this.optional(element) || /^\d+(\.\d{1,4})?$/.test(value); }, "小数点后最多4位小数"); jQuery.validator.addMethod("isFloat6Fn", function (value, element) { return this.optional(element) || /^\d+(\.\d{1,6})?$/.test(value); }, "小数点后最多6位小数"); //联系电话(手机/电话皆可)验证 jQuery.validator.addMethod("isTel", function (value, element) { var length = value.length; var mobile = /^(((13[0-9]{1})|(14[0-9]{1})|(15[0-9]{1})|(16[0-9]{1})|(17[0-9]{1})|(18[0-9]{1})|(19[0-9]{1}))+\d{8})$/; var tel = /^(\d{3,4}-?)?\d{7,9}$/g; return this.optional(element) || tel.test(value) || (length == 11 && mobile.test(value)); }, "请填写正确的联系方式"); //联系电话(手机)验证 jQuery.validator.addMethod("isMobile", function (value, element) { var length = value.length; var mobile = /^(((13[0-9]{1})|(14[0-9]{1})|(15[0-9]{1})|(16[0-9]{1})|(17[0-9]{1})|(18[0-9]{1})|(19[0-9]{1}))+\d{8})$/; return this.optional(element) || (length == 11 && mobile.test(value)); }, "请填写正确的联系方式"); //邮箱验证 jQuery.validator.addMethod("isEmail", function (value, element) { var length = value.length; var email = /^([\w-_])+(\.\w+)*@(\w)+((\.\w{2,3}){1,3})$/; return this.optional(element) || email.test(value); }, "请填写正确的邮箱"); //判断整数value是否大于0 jQuery.validator.addMethod("isGtZero", function (value, element) { var re = /^\d*$/; if (!re.test(value)) { return false; } else { return this.optional(element) || parseInt(value) > 0; } }, "请填写大于0的整数"); //判断身份证号 jQuery.validator.addMethod("isIdNo", function (value, element) { //var pattern = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/; return this.optional(element) || isIdCardNo(value); }, "请填写正确的身份证号"); //身份证号码的验证规则 function isIdCardNo(num) { //if (isNaN(num)) {alert("输入的不是数字!"); return false;} var len = num.length, re; if (len == 15) re = new RegExp(/^(\d{6})()?(\d{2})(\d{2})(\d{2})(\d{2})(\d|X|x)$/); else if (len == 18) re = new RegExp(/^(\d{6})()?(\d{4})(\d{2})(\d{2})(\d{3})(\d|X|x)$/); else { //alert("输入的数字位数不对。"); return false; } var a = num.match(re); if (a != null) { if (len == 15) { var D = new Date("19" + a[3] + "/" + a[4] + "/" + a[5]); var B = D.getYear() == a[3] && (D.getMonth() + 1) == a[4] && D.getDate() == a[5]; } else { var D = new Date(a[3] + "/" + a[4] + "/" + a[5]); var B = D.getFullYear() == a[3] && (D.getMonth() + 1) == a[4] && D.getDate() == a[5]; } if (!B) { //alert("输入的身份证号 "+ a[0] +" 里出生日期不对。"); return false; } } if (!re.test(num)) { //alert("身份证最后一位只能是数字和字母。"); return false; } return true; } //浮点数加减乘除 function accAdd(arg1, arg2) { var r1, r2, m; arg1 = parseFloat(arg1.toPrecision(12)); arg2 = parseFloat(arg2.toPrecision(12)); try { r1 = arg1.toString().split(".")[1].length } catch (e) { r1 = 0 } try { r2 = arg2.toString().split(".")[1].length } catch (e) { r2 = 0 } m = Math.pow(10, Math.max(r1, r2)) return (arg1 * m + arg2 * m) / m; } function Subtr(arg1, arg2) { var r1, r2, m, n; try { r1 = arg1.toString().split(".")[1].length } catch (e) { r1 = 0 } try { r2 = arg2.toString().split(".")[1].length } catch (e) { r2 = 0 } m = Math.pow(10, Math.max(r1, r2)); //动态控制精度长度 n = (r1 >= r2) ? r1 : r2; return ((arg1 * m - arg2 * m) / m).toFixed(n); } function accMul(arg1, arg2) { var m = 0, s1 = arg1.toString(), s2 = arg2.toString(); try { m += s1.split(".")[1].length } catch (e) { } try { m += s2.split(".")[1].length } catch (e) { } return Number(s1) * Number(s2) / Math.pow(10, m); } function accDiv(arg1, arg2) { var t1 = 0, t2 = 0, r1, r2; try { t1 = arg1.toString(".").split()[1].length } catch (e) { } try { t2 = arg2.toString(".").split()[1].length } catch (e) { } with (Math) { r1 = Number(arg1.toString()) r2 = Number(arg2.toString()) return (r1 / r2) * pow(10, t2 - t1); } } //浮点数加减乘除 var pagePath = $("meta[name='_ctx']").attr("content"); pagePath = pagePath.substring(0, pagePath.length - 1); // var pagePath = /*[[@{/}]]*/ ''; var array = ["source", "|", "undo", "redo", "|", "preview", "print", "template", "code", "cut", "copy", "paste", "plainpaste", "wordpaste", "|", "justifyleft", "justifycenter", "justifyright", "justifyfull", "insertorderedlist", "insertunorderedlist", "indent", "outdent", "subscript", "superscript", "clearhtml", "quickformat", "selectall", "|", "fullscreen", "/", "formatblock", "fontname", "fontsize", "|", "forecolor", "hilitecolor", "bold", "italic", "underline", "strikethrough", "lineheight", "removeformat", "|", "image", "multiimage", "table", "hr", "emoticons", "baidumap", "pagebreak", "link", "unlink", "|", "about"]; function equals(obj1, obj2) { if (obj1 == obj2) return true; if (typeof (obj1) == "undefined" || obj1 == null || typeof (obj1) != "object") return false; if (typeof (obj2) == "undefined" || obj2 == null || typeof (obj2) != "object") return false; var length1 = 0; var length2 = 0; for (var ele in obj1) { length1++; } for (var ele in obj2) { length2++; } if (length1 != length2) return false; if (obj1.constructor == obj2.constructor) { for (var ele in obj1) { if (typeof (obj1[ele]) == "object") { if (!equals(obj1[ele], obj2[ele])) return false; } else if (typeof (obj1[ele]) == "function") { if (!obj1[ele].toString() != (obj2[ele].toString())) return false; } else if (obj1[ele] != obj2[ele]) return false; } return true; } return false; } /** * 是否包含对象 * * @param obj * @returns {Boolean} */ Array.prototype.inArray = function (obj) { for (i = 0; i < this.length; i++) { if (equals(this[i], obj)) return true; } return false; } /** * 查找对象在数组中的位置 * @param obj * @returns */ Array.prototype.indexOf = function (obj) { for (var i = 0; i < this.length; i++) { if (equals(this[i], obj)) return i; } return -1; } /** * 方法:removeObject(obj) * 功能:根据元素值删除数组元素. * 参数:obj * 返回:在原数组上修改数组 */ Array.prototype.removeObject = function (obj) { var index = this.indexOf(obj); if (index > -1) { this.splice(index, 1); } return this; }; /** * 方法:removeObjectById(id) * 功能:根据元素值删除数组元素. * 参数:id * 返回:在原数组上修改数组 */ Array.prototype.removeObjectById = function (id) { for (var i = 0; i < this.length; i++) { if (this[i].id == id) { return this.splice(i, 1); } } return this; }; /** * 方法:removeObjectAtIndex(dx) * 功能:根据元素位置值删除数组元素. * 参数:dx * 返回:在原数组上修改数组 */ Array.prototype.removeObjectAtIndex = function (dx) { if (isNaN(dx) || dx < this.length || dx > this.length) { return this; } return this.splice(dx, 1); }; /** * 方法:findObjectById(id) * 功能:根据id查找数组元素. * 参数:id * 返回:数组元素 */ Array.prototype.findObjectById = function (id) { for (var i = 0; i < this.length; i++) { if (this[i].id == id) { return this[i]; } } return null; }; /** * 删除所有空白 * @returns */ String.prototype.trim = function () { return this.replace(/\s+/g, ""); } /** * 是否为空白 * @returns {Boolean} */ function strIsBlank(str2check) { return !str2check; } /** * 删除左边的空白 * * @returns */ String.prototype.lTrim = function () { return this.replace(/(^\s+)/g, ""); } /** * 删除右边的空白 * * @returns */ String.prototype.rTrim = function () { return this.replace(/(\s+$)/g, ""); } /** * 是否有效的手机号码 * * @returns */ String.prototype.test = function () { return (new RegExp(/^([\S^'^‘^’]{6,20})$/) .test(this)); } /** * 是否有效的手机号码 * * @returns */ String.prototype.isMobileNum = function () { return (new RegExp(/^((13[0-9])|(14[4,7])|(15[^4,\D])|(17[6-8])|(18[0-9]))(\d{8})$/) .test(this)); } /** * 是否有效的邮箱 * * @returns */ String.prototype.isEmail = function () { return (new RegExp( // /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.([a-zA-Z0-9_-]){2,3}){1,2})$/) /^([\w-_])+(\.\w+)*@(\w)+((\.\w{2,3}){1,3})$/) .test(this)); } /** * 是否是QQ邮箱 */ String.prototype.isQQEmail = function () { /* var k = '@'; var i = this.indexOf(k); var qq = this.substr((i + 1), 2); if(qq == 'qq' || qq == 'QQ') return true; */ return false; } //验证身份证 String.prototype.isCardNo = function () { return (new RegExp(/^[1-9]([0-9]{16}|[0-9]{13})[xX0-9]$/) .test(this)); } /** * 是否为数字 */ String.prototype.isNumber = function () { return (new RegExp(/^[0-9]*$/).test(this)); } /** * 密码是否正确 */ String.prototype.password = function () { return (new RegExp(/^[\w]{6,12}$/).test(this)); } /** * 是否日期 * * @returns */ String.prototype.isDate = function () { return (new RegExp( /^([1-2]\d{3})[\/|\-](0?[1-9]|10|11|12)[\/|\-]([1-2]?[0-9]|0[1-9]|30|31)$/ig) .test(this)); } /** * 替换全部 */ String.prototype.replaceAll = function (s1, s2) { return this.replace(new RegExp(s1, "gm"), s2); } /** * 克隆(深拷贝) * * @param obj * @returns */ function clone(obj) { if (typeof (obj) != 'object') { return obj; } var re = {}; if (obj.constructor == Array) { re = []; } for (var i in obj) { re[i] = clone(obj[i]); } return re; } /** * 公共方法 * @param obj * @param id */ /* 替换被拦截的html代码,请遵循JAVA定义规则 */ function replaceAllHTML(content) { if (content == null || content == '') return ''; content = content.replaceAll("#", "html_j"); content = content.replaceAll("