/* $Id : utils.js 5052 2007-02-03 10:30:13Z weberliu $ */ var Browser = new Object(); Browser.isMozilla = (typeof document.implementation != 'undefined') && (typeof document.implementation.createDocument != 'undefined') && (typeof HTMLDocument != 'undefined'); Browser.isIE = window.ActiveXObject ? true : false; Browser.isFirefox = (navigator.userAgent.toLowerCase().indexOf("firefox") != - 1); Browser.isSafari = (navigator.userAgent.toLowerCase().indexOf("safari") != - 1); Browser.isOpera = (navigator.userAgent.toLowerCase().indexOf("opera") != - 1); var Utils = new Object(); Utils.htmlEncode = function(text) { return text.replace(/&/g, '&').replace(/"/g, '"').replace(//g, '>'); } Utils.trim = function( text ) { if (typeof(text) == "string") { return text.replace(/^\s*|\s*$/g, ""); } else { return text; } } Utils.isEmpty = function( val ) { switch (typeof(val)) { case 'string': return Utils.trim(val).length == 0 ? true : false; break; case 'number': return val == 0; break; case 'object': return val == null; break; case 'array': return val.length == 0; break; default: return true; } } Utils.isNumber = function(val) { var reg = /^[\d|\.|,]+$/; return reg.test(val); } Utils.isInt = function(val) { if (val == "") { return false; } var reg = /\D+/; return !reg.test(val); } Utils.isEmail = function( email ) { var reg1 = /([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)/; return reg1.test( email ); } Utils.isTel = function ( tel ) { var reg = /^[\d|\-|\s|\_]+$/; //只允许使用数字-空格等 return reg.test( tel ); } Utils.fixEvent = function(e) { var evt = (typeof e == "undefined") ? window.event : e; return evt; } Utils.srcElement = function(e) { if (typeof e == "undefined") e = window.event; var src = document.all ? e.srcElement : e.target; return src; } Utils.isTime = function(val) { var reg = /^\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}$/; return reg.test(val); } Utils.x = function(e) { //当前鼠标X坐标 return Browser.isIE?event.x + document.documentElement.scrollLeft - 2:e.pageX; } Utils.y = function(e) { //当前鼠标Y坐标 return Browser.isIE?event.y + document.documentElement.scrollTop - 2:e.pageY; } Utils.request = function(url, item) { var sValue=url.match(new RegExp("[\?\&]"+item+"=([^\&]*)(\&?)","i")); return sValue?sValue[1]:sValue; } Utils.$ = function(name) { return document.getElementById(name); } function rowindex(tr) { if (Browser.isIE) { return tr.rowIndex; } else { table = tr.parentNode.parentNode; for (i = 0; i < table.rows.length; i ++ ) { if (table.rows[i] == tr) { return i; } } } } document.getCookie = function(sName) { // cookies are separated by semicolons var aCookie = document.cookie.split("; "); for (var i=0; i < aCookie.length; i++) { // a name/value pair (a crumb) is separated by an equal sign var aCrumb = aCookie[i].split("="); if (sName == aCrumb[0]) return decodeURIComponent(aCrumb[1]); } // a cookie with the requested name does not exist return null; } document.setCookie = function(sName, sValue, sExpires) { var sCookie = sName + "=" + encodeURIComponent(sValue); if (sExpires != null) { sCookie += "; expires=" + sExpires; } document.cookie = sCookie; } document.removeCookie = function(sName,sValue) { document.cookie = sName + "=; expires=Fri, 31 Dec 1999 23:59:59 GMT;"; } function getPosition(o) { var t = o.offsetTop; var l = o.offsetLeft; while(o = o.offsetParent) { t += o.offsetTop; l += o.offsetLeft; } var pos = {top:t,left:l}; return pos; } function cleanWhitespace(element) { var element = element; for (var i = 0; i < element.childNodes.length; i++) { var node = element.childNodes[i]; if (node.nodeType == 3 && !/\S/.test(node.nodeValue)) element.removeChild(node); } }