Array -Methode eingestellt
Angela.Array = {//# Array -Methode // Index, Rückgabeposition! Wenn es nicht existiert, gibt es -1 zurück; Index: Funktion (t, arr) {//# gibt die Position des Arrays zurück, wobei sich der aktuelle Wert befindet, wenn (arr.indexof) {return arr.indexof (t); } für (var i = arr.length; i--;) {if (arr [i] === t) {return i * 1; }}; Return -1; } // Gibt den Schlüsselwert des Objekts zurück! Der Rückgabewerttyp ist ein Array. , getKey: function (data) {//# Rückgeben Sie alle Schlüsselwerte des Objekts var arr = [], k; für (k in Daten) {arr.push (k); }; arr zurückgeben; } // extrahieren Sie zufällig einen Wert aus dem Array, zufällig: Funktion (Arrays) {//# extrahieren Sie zufällig einen Wert aus den Array -Arrays = Arrays || []; var len = arrays.length, index = tydic.math.randint (0, len - 1); Rückgabe -Arrays [Index] || ''; } // eindimensionales Array-Deduplizierung, eindeutig: Funktion (Array) {//# eindimensionales Array-Deduplikationsarray = Array || []; für (var i = 0, len = array.length; i <len; i ++) {für (var j = i+1; j <array.length; j ++) {if (Array [i] === Array [j]) {Array.Ssplice (j, 1); J--; }}} return Array; } // max, der größte Begriff im Array, max: function (array) {//#Finden Sie den größten Begriff im Array return math.max.apply (null, array); } // min, der kleinste Begriff im Array, min: Funktion (Array) {//#Finden Sie das kleinste Element im Array return math.min.apply (null, array); } // entfernen, entfernen, entfernen: Funktion (Array, Wert) {//#Entfernen Sie einen Wert in der Array var leng = array.length; while (Länge--) {if (value === Array [Länge]) {Array.SPLICE (Länge, 1); }} return Array; } // Das Array löschen, leer: Funktion (Array) {//# Das Array (Array || []). Länge = 0; Array zurückgeben; } // Entfernen Sie den Wert der angegebenen Position //@Index, Index. Wenn der Index nicht übergeben wird, wird der erste gelöscht, entfernt: Funktion (Array, Index) {//#Löschen Sie den Wert der angegebenen Position im Array -Array.SPLICE (INDEX, 1); Array zurückgeben; } // Verschrotten Sie die Array -Sortierung, Shuffle: function (arr) {//#SCRACT DIE ARRAY SORT VAR ARRAY = (arr || []). Concat (), Länge = Array.Length, I = Länge // Reise, tmp = null // vorübergehend, rand = tydic.math.randint // po. = 0; während (i--) {pos = rand (0, Länge); // tauschen Sie die zufällige Position tmp = array [pos] aus; Array [pos] = Array [i]; Array [i] = tmp; } return Array; }};Cookie -Methode eingestellt
Angela.cookie = {//# Cookie // Der Browser unterstützt Cookies genug. Aktivieren: !! navigator.cookieenabled // Cookie lesen, erhalten: Funktion (Name) {//#Cookie var reg = new Regexp ("(^|)" name + "(?: = ([^;]*))? (; $)"), val = document.cookie.match (Reg); VALL zurückkehren? (Val [2]? Unscape (Val [2]): ""): ''; } // Cookies schreiben, festlegen: Funktion (Name, Wert, Ablauf, Pfad, Domäne, sichern) {//# Schreiben Sie Cookie var exp = new Date (), abläuft = Argumente [2] || NULL, PATH = Argumente [3] || "/", Domain = Argumente [4] || NULL, Secure = Argumente [5] || FALSCH ; abläuft? exp.setMinutes (exp.getminutes () + parseInt (läuft)): ""; document.cookie = name + '=' + Escape (Wert) + (läuft aus? '; expires =' + exp.togmtstring (): '') + (path? '; path =' + path: '') + (Domain? '; Domain =' + Domain: '') + (Secure? '; Secure:' '); } // Cookies löschen, del: function (name, path, domain, sicher) {//#Cookies var value = $ getcookie (Name) löschen; if (value! = null) {var exp = new Date (); exp.setminutes (exp.getminutes () - 1000); Pfad = Pfad || "/"; document.cookie = name + '=; expires =' + exp.togmtstring () + (path? '; path =' + path: '') + (Domain? '; Domain =' + Domain: '') + (sicher? '; sicher': ''); }}};URL -Methode eingestellt
Angela.url = {//##URL // Artikel: Variabler Name, wenn die URL leer ist, wird die Tabelle GetQuery aus der URL der aktuellen Seite erfasst: Funktion (Name, URL) {var u = Argumente [1] || window.location.search, reg = new Regexp ("(^| &)" + name + "= ([^&]*) (& | $)"), r = u.substr (u.Intexof ("?") + 1) .Match (reg); return r! = null? R [2]: ""; }, Gethash: Funktion (Name, url) {//# Hash Value var u = Argumente [1] || Ort.Hash; var reg = new regexp ("(^| &)" + name + "= ([^&]*) (& | $)"); var r = u.substr (u.Indexof ("#") + 1) .Match (reg); if (r! = null) {return r [2]; } zurückkehren ""; }, parse: function (url) {//# parse url var a = document.createelement ('a'); URL = URL || document.location.href; a.reif = url; Return {Quelle: URL, Protokoll: A.Protocol.Replace (':', ''), Host: a.hostname, Port: A.Port, Abfrage: A.Search, Datei: (a.pathname.match (/([^//?#]+) $/i) || [, ']), [1], HaSh: A.Hash.Replace (', ', Path. A.PathName.Replace (/^([^//])/, '/$ 1'), relativ: (a.href.match (/tps?: //// [^//]+(.+)/) || [, '']) [1], Segmente: a.pathname.replace (/^//////////, '). }};Regelmäßige Expressionsmethode festgelegt
Angela.regexp = {//# String Match // Ob es sich um eine Nummer handelt! Ganzzahl, schwimmende Punktnummer isnum: function (num) {//# Ist es ein Array -Return! Isnan (num); }. }, isidCard: function (card) {//# Ist es eine ID -Karte return /^(/der14}|/der <17})(/d|… xx weibliche )/ .Test(card); }, ismobile: function (mobil) {//# Ist es ein Telefon return /^0*1/d <10}$/.test(mobile); }, isqq: function (qq) {//# Ist es ein qq return /^...9]/d <1111111111le.test(qq); }, issel: function (tel) {//# ist es ein Telefon return /^/d <es3,4}-/des <tel) }, isurl: function (url) {//# Ist es eine URL return /https? }, isColor: function (color) {//# ob es sich um eine hexadezimale Farbe return /#(??/da-f] <,3}) i1.2}$/i.test(Color); } //@id: ID card, // @now : Current time such as: new Date('2013/12/12') , '2013/12/12' // @age : Allowed age, isAdult: function (id, allowAge, now) { //# Whether age is adult var age = 0 // User year, month, day, nowDate = 0 //current year, month, day, day, and day; degitage = parsefloat (subage) || 18; jetzt = typeof jetzt == 'String'? neues Datum (jetzt): (jetzt || neuer Datum ()); if (! this.isidcard (id)) {return false; } // 15-Bit-ID-Karte if (15 == id.length) {ay = '19' + id.slice (6, 6); } else {ay = id.slice (6, 14); } // Conversion Integer Age = ~~ Alter eingeben; nowdate = ~~ (tydic.date.format ('yyyymmdd', jetzt)); // Alter vergleiche if (nowdate - Alter <dingage * 1e4) {return false; } Return true; } // float, isfloat: function (num) {//# Ist es ein schwimmender Punkt return /^( -( -(; -1-9]/d*)|(/d+/./d+)|0)$/test(num); } // Positive Integer, INT: Funktion (num) {//# ob es sich um eine positive Ganzzahl return /^ · 1-9 weibliche cl. } // Ist es alle chinesischen Zeichen, ischinesisch: function (str) {//# Ist es alle chinesischen Zeichen return /^(;/u4e00-/u9fa5 weibliche | }};String -Methode festgelegt
Angela.String = {//# String codehtml: function (content) {//# Escape html Charaktere return diesen. '*': "*", '+': "+", ',': ", '-':"-", '. } // Repeat String, Wiederholung: Funktion (Wort, Länge, End) {//# repeat String end = Ende || ''; // zur letzten Länge hinzufügen = ~~ Länge; Neuarray zurückgeben (Länge * 1 + 1) .Join (Wort) + '' + Ende; } // Präfix hinzufügen, addpre: function (pre, word, size) {//# make -up. Wenn Sie 0 vor = vor || vorangehen '0'; Größe = ParseInt (Größe) || 0; Word = String (Word || ''); var länge = math.max (0, Größe - Word.Length); zurückgeben. Repeat (vor, Länge, Wort); } // Leerzeichen auf beiden Seiten entfernen, trim: function (text) {//# Räume auf beiden Seiten zurückziehen (text || '') .Replace (/^/s+|/s $/, ''); } // String -Ersatz, ersetzen: Funktion (str, re) {//# String Ersatz str = str || ''; für (var key in re) {ersetzen (Schlüssel, Re [Schlüssel]); }; Funktion ersetzen (a, b) {var arr = str.split (a); str = arr.join (b); }; return str; }, xss: function (str, type) {//# xss Escape // leerer Filter if (! str) {return str === 0? "0": ""; } Switch (Typ) {case "html": // filter xss in html String return Str.Replace (/[& '"<> /////-/x00-/x09/x0b-/x0c/x1f/x80-/xff]/g, Funktion (r) {{return" &#" + R." + R. "") .Replace (// r/n/g, "<br />").Replace(//n/g", <br />").Replace(//r/g, "<br/>"); Str.Replace (/[& '"<> /////-/x00-/x1f/x80-/xff]/g, function (r) {return" &#" + r.charCodeat (0) +"; "}); brechen; Fall "URL": // Filter Die URL Return Escape (str) .Replace (//+/g, "%2b"); brechen; Fall "Miniurl": Return Str. Replace (/%/g, "%25"); brechen; Fall "Skript": return str.replace (/[// "']/g, function (r) {return" // " + r;}). Ersetzen Sie (/%/g," //x25").Replace(//n/g, "//n".replace(//r/g; "Reg": Return Str.Replace (/= ///^/$/*/+/?/ & supmin; us./(/)/[/addische Gründung, Funktion (a) {return "//" + A;}); Escape (str) .Replace (/[& '"<> //////-/x00-/x09/x0b-/x0c/x1f/x80-/xff]/g, function (r) {return" &#" + r.chodeat (0) +"; />") Wörter /@Text: Text zu filtrieren, type: String //@Wörter: type, Array, wie z. var reg = new regexp (Words.Join ('|'), 'g'), _self = this; return text.replace (reg, function ($ 0) {var leng = string ($ 0 || '') .Length; return _self.repeat ('*', Länge);}); }};Verschlüsselungsmethode festgelegt
Angela.encrypt = { //# Encryption md5: function (words) { //# md5 hash algorithm/* * Crypto-JS 3.1.2 * http://code.google.com/p/crypto-js */ var CryptoJS = function (s, p) { var m = {}, l = m.lib = {}, n = function () {}, r = l.base = {extend: function (b) {n.prototype = this; var h = neu n; B && H.Mixin (b); H. HasownProperty ("init") || (h.init = function () {h. $ super.init.Apply (this, argumente)}); H.Init.Prototype = H; h. $ super = dies; return h}, erstellen: function () {var b = this.extend (); B.init.Apply (b, Argumente); return b}, init: function () {}, mixin: function (b) {für (var h in b) b.hasownProperty (h) && (this [h] = b [h]); b.hasownProperty ("toString") && (this.toString = b.toString)}, klon: function () {return this.init.Prototype.Ettend (this)}}, q = l.wordArray = r.extend ({init: function (b, h) {b = thwws = b || [| | b.Length}, toString: Funktion (b) {return (b || t) .Stringify (this)}, concat: b) {var h = this.words, a = b.words, j = this.sigBytes; (A [g >>> 2] >>> 24 - 8 * (g % 4) & 255) << 24 - 8 * (J + G) % 4), wenn (65535 <A.Length) für (g = 0; g <b; g + = 4) H [J + G >>> 2] = a [g >> 2]; }, clamp: function () {var b = this.words, h = this.sigBytes; Zufälliger: Funktion (b) {für (var h = [], a = 0; a <b; a += 4) h.push (4294967296 * srandom () | 0); Neue Q.init (h, b)}}), v = m.enc = {}, t = v.hex = {stringify: function (b) {var a = b.words; B = B.Sigbytes; für (var g = [], j = 0; j <b; j ++) {var k = a [j >>> 2] >>> 24 - 8 * (j % 4) & 255; g.push ((k >>> 4) .ToString (16)); g.push ((K & 15) .ToString (16))} return g.join ("")}, analyse: Funktion (b) {für (var a = b.Length, g = [], j = 0; j <a; j += 2) g [j >>> 3] | Neue Q.init (g, a / 2)}}, a = v.latin1 = {Stringify: Funktion (b) {var a = B.Words; B = B.Sigbytes; für (var g = [], j = 0; j <b; j ++) g.push (string.fromcharcode (a [j >>> 2] >>> 24 - 8 * (j % 4) & 255)); return g.join ("")}, parse: function (b) {for (var a = b.Length, g = [], j = 0; j <a; j ++) g [j >>> 2] | Neue Q.init (g, a)}}, u = v.utf8 = {Stringify: Funktion (b) {try {return decodeuricomponent (Escape (A.Stringify (b))} catch (g) {Wurf-Fehler ("Fehlgebildete UTF-8-Daten"); }}, parse: function (b) {return A.Parse (unsCape (comcodeuricomponent (b))}}, g = l.buffenedblockalgorithm = r.extend ({reset: function () {this._data = new q.init; this._ndatabytes = 0}, · _Ant "_Ant. (B = U.Parse (b)); smax (m | 0) - this._minBuffersize, 0); klone: function () {var b = r.clone.call (this); l.hasher = g.extend ({cfg: r.extend (), init: function (b) {this.cfg = this.cfg.extend (b); }, finalize: function (b) {b && this._append (b); k.hmac.init (b, g)). endgültig (a)}}}); var k = m.algo = {}; return m} (math); (Funktion (s) {Funktion p (a, k, b, h, l, j, m) {a = a + (k & b | ~ k & h) + l + m; return (a << j | a >>> 32 - j) + k} Funktion m (a, k, b, h, l, j, m) {{a = a + (k & h | J) + K} Funktion L (a, k, b, h, l, j, m) {a = a + (b ^ (k | ~ h)) + l + m; + k} Funktion n (a, k, b, h, l, j, m) {a = a + (b ^ (k | ~ h)) + l + m; } für (var r = cryptojs, q = r.lib, v = q.wordArray, t = q.hasher, q = R.algo, a = [], u = 0; 64> u ++) a [u] = 4294967296 * S.Abs (s.sin (u+1) | this._hash = new v.init ([1732584193, 4023233417, 2562383102, 271733878])}, _doprocessblock: function (g, k) {für (var b = 0; 16> b; b ++) {var h g [h] = (w << 8 | W >>> 24) & 16711935 | (w << 24 | w >>> 8) & 4278255360 } var b = this._hash.words, h = g[k + 0], w = g[k + 1], j = g[k + 2], q = g[k + 3], r = g[k + 4], s = g[k + 5], t = g[k + 6], u = g[k + 7], v = g[k + 8], x = g [k + 9], y = g [k + 10], z = g [k + 11], a = g [k + 12], b = g [k + 13], c = g [k + 14], d = g [k + 15], c = b [0], d = b [1], e = b [2], f = b [3], c = p (c, c, d, d, d, d, d, d, d, d, d, f, f, f, f, f, f [0], c = p (c, d, d, d, d, d, d, d, d, d, d, ° P (f, c, d, e, w, 12, a [1]), e = p (e, f, c, d, j, 17, a [2]), d = p (d, e, f, c, q, 22, a [3]), c = p (c, d, e, f, r, ° d, t, 17, a [6]), d = p (d, e, f, c, u, 22, a [7]), c = p (c, d, e, f, v, 7, a [8]), f = p (f, c, d, e, x, 12, a [9]), e = p (e, f, c, d, y, y, 17, a [10), d = p (e, f, c, y, y, a [10), d = p (e A [11]), C = P (c, d, e, f, a, 7, a [12]), f = p (f, c, d, e, b, 12, a [13]), e = p (e, f, c, d, c, c, 17, a [14]), d = p (d, e, f, c, d, d, d, d, d, d, d, d, d, d, d, d, d, d, d, d, d, d, d, d, d, d, d, d, d, d, d, d, d. m(f, c, d, e, t, 9, a[17]), e = m(e, f, c, d, d, z, 14, a[18]), d = m(d, e, f, c, h, 20, a[19]), c = m(c, d, e, f, s, 5, a[20]), f = m(f, c, d, e, y, 9, a[21]), e = m(e, f, C, d, e, y, 9, a [21]), e = m (e, f, c, c, c, h, 20, a [19]), c = m (c, d, e, f, s, 5, a [20]) a[23]), c = m(c, d, e, f, x, 5, a[24]), f = m(f, c, d, e, C, 9, a[25]), e = m(e, f, c, d, q, 14, a[26]), d = m(d, e, f, c, v, 20, a[27]), c = m(c, d, e, f, B, 5, a[28]), f = m(f, c, d, e, j, 9, a[29]), e = m(e, f, c, d, u, 14, a[30]), d = m(d, e, f, c, A, 20, a[27]), c = m(c, d, e, f, c, A, 20, a[31]), c = l(c, d, e, f, s, 4, a[32]), f = l(f, C, D, E, V, 11, A [33]), e = L (e, f, c, d, d, z, 16, a [34]), d = l (d, e, f, c, d, z, 16, a [34]), d = l (d, e, f, f, f, c, c, 23, a [35]), c = l (c, d, d, d, d, e (e C, d, e, r, 11, a [37]), e = l (e, f, c, d, u, 16, a [38]), d = l (d, e, f, c, y, 23, a [39]), c = l (c, d, e, f, b, 4, a [40]), f = 1, a [41), e = l (e a [42]), d = l (d, e, f, c, t, 23, a [43]), c = l (c, d, e, f, x, 4, a [44]), f = l (f, c, d, e, a, 11, a [45]), e = l (e, f, c, d, d, d, d, d, d, d, d, d, d, d, d, a a[47]), c = n(c, d, e, f, h, 6, a[48]), f = n(f, c, d, e, u, 10, a[49]), e = n(e, f, c, d, e, u, 10, a[49]), e = n(e, f, c, c, c, c, d = n(d, e, f, c, s, 21, a[51]), c = n (c, d, e, f, a, 6, a [52]), f = n (f, c, d, e, q, 10, a [53]), e = n (e, f, c, d, y, 15, a [54]), d = n (d, e, f, f, c, w, 21, a [55]), c = n (c, d, d, d, e n(f, c, d, e, D, 10, a[57]), e = n(e, f, c, d, t, 15, a[58]), d = n(d, e, f, c, B, 21, a[59]), c = n(c, d, e, f, r, 6, a[60]), f = n(f, c, d, e, z, 10, a[61]), e = n(e, f, c, d, j, 15, a [62]), d = n (d, e, f, c, x, 21, a [63]); B [0] = B [0] + C | 0; B [1] = B [1] + D | 0; B [2] = B [2] + E | 0; B [3] = B [3] + F | 0}, _dofinalize: function () {var a = this._data, k = A.Words, b = 8 * 16711935 | (l << 24 | l >>> 8) & 4278255360; k [(H + 64 >>> 9 << 4) + 14] = (b << 8 | B >>> 24) & 16711935 | (b << 24 | l >>> 8) & 4278255360; k [(H + 64 >>> 9 << 4) + 14] = (b << 8 | B >>> 24) & 16711935 | (B << 24 | B >>> 9 << 4) + 14] = (b << 8 | B >>> 24) & 16711935 | (B << 24 | B >>> 8) & 4278255360; A.Sigbytes = 4 * (K.Length + 1); this._process (); a = this._hash; K = A.Words; für (b = 0; 4> b; b ++) h = k [b], k [b] = (h << 8 | H >>> 24) & 16711935 | (H << 24 | H >>> 8) & 4278255360; return a}, klone: function () {var a = t.clone.call (this); a._hash = this._hash.clone (); return a}}); r.md5 = t._createhelper (q); R.HMACMD5 = T._CreatehmAchelper (q)}) (Math); return cryptojs.md5 (Wörter) .ToString (); } // SHA1, SHA1: function (Words) {//# SHA1 Hashing -Algorithmus var cryptojs = function (e, m) {var p = {}, j = p.lib = {}, l = function () {}, f = j.base = {extend: function (a) {l.prototy = this; var c = neu L; a && c.mixin (a); C.HasownProperty ("init") || (c.init = function () {c. $ super.init.Apply (this, argumente)}); C.init.Prototype = C; c. $ super = dies; return c}, erstellen: function () {var a = this.extend (); A.init.Apply (a, Argumente); return a}, init: function () {}, mixin: function (a) {für (var c in a) a.hasownProperty (c) && (this [c] = a [c]); A. HasownProperty ("toString") && (this.toString = a.toString)}, klon: function () {return this.init.Prototype.Ettend (this)}}, n = j.wordAry = f.extend ({init: function (a, c) {a = this.words = || A.Length}, toString: Funktion (a) {return (a || h) .Stringify (this)}, caMat: Funktion (a) {var c = this.words, q = A.Words, d = this.SiGytes; (Q [B >>> 2] >>> 24 - 8 * (B % 4) & 255) << 24 - 8 * (D + B) % 4), wenn (65535 <Q. Länge) für (b = 0; B <A; B + = 4) C [D + B >> 2] = q [b >> 2]; }, clamp: function () {var a = this.words, c = this.sigBytes; }, zufällig: Funktion (a) {für (var c = [], b = 0; b <a; b += 4) c.push (4294967296 * e.random () | 0); Neue n.init (c, a)}}), b = p.enc = {}, h = b.hex = {stringify: function (a) {var c = A.Words; a = a.sigbytes; für (var b = [], d = 0; d <a; d ++) {var f = c [d >>> 2] >>> 24 - 8 * (d % 4) & 255; b.push ((f >>> 4) .ToString (16)); b.push ((f & 15) .ToString (16))} return b.join ("")}, analysiert: Funktion (a) {für (var c = A.Length, b = [], d = 0; d <c; d += 2) b [d >>> 3] | Neue N.Init (B, C / 2)}}, g = b.latin1 = {Stringify: Funktion (a) {var c = A.Words; a = a.sigbytes; für (var b = [], d = 0; d <a; d ++) b.push (string.fromcharcode (c [d >>> 2] >>> 24 - 8 * (d % 4) & 255)); return b.join ("")}, parse: function (a) {for (var c = a.länge, b = [], d = 0; d <c; d ++) b [d >>> 2] | Neue N.Init (b, c)}}, r = b.utf8 = {stringify: function (a) {try {return decodeuricomponent (Escape (G.Stringify (a)))} catch (c) {Wurf-Fehler ("Fehlgebildete UTF-8-Daten"); } }, parse: function (a) { return g.parse(unescape(encodeURIComponent(a))) } }, k = j.BufferedBlockAlgorithm = f.extend({ reset: function () { this._data = new n.init; this._nDataBytes = 0 }, _append: function (a) { "string" == typeof a && (a = r.Parse (a)); E. (h | 0) - this._minBuffersize, 0); klone: function () {var a = f.clone.call (this); j.hasher = k.extend ({cfg: f.extend (), init: function (a) {this.cfg = this.cfg.extend (a); }, finalize: function (a) {a && this._append (a); S.HMAC.Init (a, f)). endgültig (b)}}}); var s = p.algo = {}; return p} (math); (function () { var e = CryptoJS, m = e.lib, p = m.WordArray, j = m.Hasher, l = [], m = e.algo.SHA1 = j.extend({ _doReset: function () { this._hash = new p.init([1732584193, 4023233417, 2562383102, 271733878, 3285377520]}, _doprocessblock: function (f, n) {für (var b = this.hash.words, h = b [0], g = b [1], e = b [2], k = b [3], j = b [4], a = 0; c = l [a - 3] ^ l [a - 8] ^ l [a - 14] ^ l [a - 16]; 1859775393): 60> a? ] + G | << 24 - H % 32; E [(H + 64 >>> 9 << 4) + 15] = b; F.SigBytes = 4 * E.Length; this._process (); return this._hash}, klone: function () {var e = j.clone.call (this); e._hash = this._hash.clone (); return e}}); E.SHA1 = J._Createhelper (M); E.HMACSHA1 = J._CREATEHMACHELPER (M)}) (); return cryptojs.sha1 (Wörter) .ToString (); } // Time33 Hash, Time33: Funktion (Wörter) {//# TIME33 Hash Algorithmus Words = Wörter || ''; // Hash Time33 -Algorithmus für (var i = 0, len = Words.length, Hash = 5381; i <len; ++ i) {Hash += (Hash << 5) +Words.charat (i) .Chodeat (); }; return Hash & 0x7ffffffff; }}Datumsmethode festgelegt
Angela.Date = {//# Datum Uhrzeit //@S: Startzeit //@E: Endzeit //@n: Aktuelle Zeit, n Isinarea: Funktion (s, e, n) {//### Richter Zeitbereich var start = this.Parse (s), end = this.Parse (e), now = parsefloat (n) | neues Datum (); start = math.min (Start, Ende); End = Math.max (Start, Ende); Jetzt zurückkehren> = Start && jetzt <= Ende? wahr: falsch; } // Zeichen in Millisekunden umwandeln //@Datum: 2013-03-02 1: 2: 2, analysieren: Funktion (Datum) {//# Format-Rückgabedatum.Parse (Datum); //. 'String'? this.Parse (Zeit): (Zeit || neues Datum ()); pre = pre || 'Woche'; // Weeks nums = 'Tag eins, zwei, drei, vier, fünf, sechs'; pre + nums zurückgeben [time.getday ()]; } //@formattype: yyyy, yy, mm //@Zeit: neues Datum ('2013/11/12') //@weeks: tag, zwei, drei, vier, fünf, sechs, Format: Funktion (Formattype, Zeit, Wochen) {// Formatausgabezeit var pre = '0'; formattype = formattype || 'Yyy-mm-dd' Wochen = Wochen || "Tag eins, zwei, drei, vier, fünf, sechs"; Zeit = Zeit || neues Datum (); //Formatttyp.com Return (FormatType || '') .Replace (/Yyyy | yjyy/g, time.getingfullyear (). Tydic.string.addpre (pre, time.getMonth () + 1, 2)) .Replace (/m | m/g, time.getonth () + 1) .Replace (/dd | dd/g, tydic.string.addpre (vor, time.getdate (), 2) .Replace (/d/d/d/g, time.date (). . time.getminutes ()) .replace (/ss | ss/g, tydic.string.addpre (vor, Zeit.getSeconds (), 2). } //Countdown, countDown: function (opt) { //# Countdown var option = { nowTime: 0 // Current time, , 2013/02/01 18:30:30 , endTime: 0 // Deadline, 2013/02/01 18:30:30 , interval: 1 // Interval callback time, seconds, called: function (day, hour, second, minute) { }//Every callback, finaled: function () {} // Rückruf nach Abschluss}, opts = {}, Timer = null; opts = tydic.extend (Option, opt); // aktuelle Zeit if (! Opts.nowtime) {opts.nowtime = (New Date ()). GetTime (); } else {opts.nowtime = this.parse (opts.nowtime); } // aktuelle Zeit if (! Opts.endtime) {opts.endtime = (neues Datum ()). GetTime (); } else {opts.endtime = this.parse (opts.endTime); } Timer = setInterval (Schleife, opts.interval * 1E3); // Loop Function Loop () {var ts = opts.endtime - opts.nowtime // Berechnen Sie die verbleibenden Millisekunden, dd = parseInt (ts/ 8,64e7) // Berechnen Sie die verbleibenden Tage, HH = ParseInt (TS/ 3,6E7 % 24) // Berechnen Sie die Reming -Stunden. = ParseInt (TS/ 1E3 % 60) // die verbleibenden Sekunden berechnen; // Die aktuelle Zeit ist dekrementiert opts.nowtime += opts.interval * 1e3; if (ts <= 0) {ClearInterval (Timer); optts.finaled (); } else {opts.called (dd, hh, mm, ss); }}}};Browser -Erkennungsmethode festgelegt
Angela.Browser = {//# Browser-Browser: {//# Browser Kernel Kategorie Wexin: /micromessger(//[/d/. weise+)*/ // Wechat integriert in Browser, mqq: /mqqbrowser(// /ucbrowser(////d/.] weise+)*/ // uc Browser, Chrome: /(?:Chrome|crios)(//[/d/.]es). // Browser öffnen, Sougou: /SogoumBileBrowser(////d/.] weise). /Safari(////d/. weibs+)*/ // sicherer Browser, ie: /msie/s(??/d/. weise+)*/ // ie browser} //@errcall: Fehlerrückruf, addfav: function (url, title, title, errcall) {/##add Favoriten {favors {faderit {faderit {fenway.addfave ({favorit); } catch (e) {try {window.sideBar.addpanel (Titel, URL, ''); } catch (e) {errcall (); }}}, // Browser -Version CoreInit: function () {//#noadd var i = null, browsers = this.browsers, ua = window.navigator.useragent.tolowerCase (), browser = ', pos = 1; für (i in Browsern) {if (bower = ua.match (browser [i]) {if (i == 'Opera') {pos = 2; } else {pos = 1; } this.version = (Brower [pos] || '') .Replace (/[/// s]+/, ''); this.core = i; kehre I zurück; }}} // IE -Version erkennen! Nur unterstützte IE: Version 5,6,7,8,9, dh: (function () {//# IE Version! Nur Unterstützung: IE5,7,8,9 var v = 3, div = document.createelement ('div'), All = div.getElementsBytagn ('i'); ']> <i> </i> <! [endif]->', alle [0]);JSON -Methode
Angela.json = {//# JSON -Objekt // String wird zu JSON -Objekt Parse: Funktion (Daten) {//# Format String, werden JSON -Objekt var // json regexp rvalidchars =/^[/],: {}/s]*$/, rvalidbraces =/(?:^|: |: | /// (?: ["//// bfnrt] | u [/da-fa-fa-fa-fa-fa-fa-fa-fa-fa-fa-fa-fa- if (window.json && window.json.parse) {return window.json.parse (Daten); } if (data === null) {returndaten; } if (typeof data === "String") {data = data.replace (/^/s+|/s+$/g, ''); if (Data && rvalidchars.test (Data.Replace (rvalidescape, "@") .Replace (rvalidtokens, "]") .Replace (rvalidbraces, "")) {return (neue Funktion ("return" + daten) (); } } zurückkehren ''; }};Methode erweitern
Angela.extend = function () {//# Objekterweiterung var target = argumente [0] || {}, i = 1, Länge = Argumente.length, Optionen; if (typeof target! = "object" && typeof target! for (; i <length; i ++) {if ((options = argumente [i])! if (target === kopieren) {Fortsetzung; } if (copy! == undefiniert) {target [name] = copy; }}}} return target;};Methoden des Typs Urteilsvermögen
/** Beurteilen Sie, ob das Variable VAL ein Ganzzahl -Typ ist === 'String';}/** Beurteilen Sie, ob das Variable Val undefiniert ist (str === null || typeof str === 'undefined') {return false; } return typeof str === 'Objekt';}/** Beurteilen Sie, ob das Variable Val null*/function isnull (val) {return val === null;}/** urteilen, ob der variable arr ein Array ist. ein Array*Methode 2*/Funktion isArray2 (arr) {if (arr === null || typeof arr === 'undefined') {return false; } return arr.constructor === Array;}