PageSourceSearch

https://17ic.com/js/utils.js

js 17ic.com collected 2026-10-04 02:40:12 UTC 4,297 bytes, 195 lines download raw bytes

1/* $Id : utils.js 5052 2007-02-03 10:30:13Z weberliu $ */
2
3var Browser = new Object();
4
5Browser.isMozilla = (typeof document.implementation != 'undefined') && (typeof document.implementation.createDocument != 'undefined') && (typeof HTMLDocument != 'undefined');
6Browser.isIE = window.ActiveXObject ? true : false;
7Browser.isFirefox = (navigator.userAgent.toLowerCase().indexOf("firefox") != - 1);
8Browser.isSafari = (navigator.userAgent.toLowerCase().indexOf("safari") != - 1);
9Browser.isOpera = (navigator.userAgent.toLowerCase().indexOf("opera") != - 1);
10
11var Utils = new Object();
12
13Utils.htmlEncode = function(text)
14{
15  return text.replace(/&/g, '&amp;').replace(/"/g, '&quot;').replace(/</g, '&lt;').replace(/>/g, '&gt;');
16}
17
18Utils.trim = function( text )
19{
20  if (typeof(text) == "string")
21  {
22    return text.replace(/^\s*|\s*$/g, "");
23  }
24  else
25  {
26    return text;
27  }
28}
29
30Utils.isEmpty = function( val )
31{
32  switch (typeof(val))
33  {
34    case 'string':
35      return Utils.trim(val).length == 0 ? true : false;
36      break;
37    case 'number':
38      return val == 0;
39      break;
40    case 'object':
41      return val == null;
42      break;
43    case 'array':
44      return val.length == 0;
45      break;
46    default:
47      return true;
48  }
49}
50
51Utils.isNumber = function(val)
52{
53  var reg = /^[\d|\.|,]+$/;
54  return reg.test(val);
55}
56
57Utils.isInt = function(val)
58{
59  if (val == "")
60  {
61    return false;
62  }
63  var reg = /\D+/;
64  return !reg.test(val);
65}
66
67Utils.isEmail = function( email )
68{
69  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})(\]?)/;
70
71  return reg1.test( email );
72}
73
74Utils.isTel = function ( tel )
75{
76  var reg = /^[\d|\-|\s|\_]+$/; //只允许使用数字-空格等
77
78  return reg.test( tel );
79}
80
81Utils.fixEvent = function(e)
82{
83  var evt = (typeof e == "undefined") ? window.event : e;
84  return evt;
85}
86
87Utils.srcElement = function(e)
88{
89  if (typeof e == "undefined") e = window.event;
90  var src = document.all ? e.srcElement : e.target;
91
92  return src;
93}
94
95Utils.isTime = function(val)
96{
97  var reg = /^\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}$/;
98
99  return reg.test(val);
100}
101
102Utils.x = function(e)
103{ //当前鼠标X坐标
104    return Browser.isIE?event.x + document.documentElement.scrollLeft - 2:e.pageX;
105}
106
107Utils.y = function(e)
108{ //当前鼠标Y坐标
109    return Browser.isIE?event.y + document.documentElement.scrollTop - 2:e.pageY;
110}
111
112Utils.request = function(url, item)
113{
114	var sValue=url.match(new RegExp("[\?\&]"+item+"=([^\&]*)(\&?)","i"));
115	return sValue?sValue[1]:sValue;
116}
117
118Utils.$ = function(name)
119{
120    return document.getElementById(name);
121}
122
123function rowindex(tr)
124{
125  if (Browser.isIE)
126  {
127    return tr.rowIndex;
128  }
129  else
130  {
131    table = tr.parentNode.parentNode;
132    for (i = 0; i < table.rows.length; i ++ )
133    {
134      if (table.rows[i] == tr)
135      {
136        return i;
137      }
138    }
139  }
140}
141
142document.getCookie = function(sName)
143{
144  // cookies are separated by semicolons
145  var aCookie = document.cookie.split("; ");
146  for (var i=0; i < aCookie.length; i++)
147  {
148    // a name/value pair (a crumb) is separated by an equal sign
149    var aCrumb = aCookie[i].split("=");
150    if (sName == aCrumb[0])
151      return decodeURIComponent(aCrumb[1]);
152  }
153
154  // a cookie with the requested name does not exist
155  return null;
156}
157
158document.setCookie = function(sName, sValue, sExpires)
159{
160  var sCookie = sName + "=" + encodeURIComponent(sValue);
161  if (sExpires != null)
162  {
163    sCookie += "; expires=" + sExpires;
164  }
165
166  document.cookie = sCookie;
167}
168
169document.removeCookie = function(sName,sValue)
170{
171  document.cookie = sName + "=; expires=Fri, 31 Dec 1999 23:59:59 GMT;";
172}
173
174function getPosition(o)
175{
176    var t = o.offsetTop;
177    var l = o.offsetLeft;
178    while(o = o.offsetParent)
179    {
180        t += o.offsetTop;
181        l += o.offsetLeft;
182    }
183    var pos = {top:t,left:l};
184    return pos;
185}
186
187function cleanWhitespace(element)
188{
189  var element = element;
190  for (var i = 0; i < element.childNodes.length; i++) {
191   var node = element.childNodes[i];
192   if (node.nodeType == 3 && !/\S/.test(node.nodeValue))
193     element.removeChild(node);
194   }
195}

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.