Set Metode Array
Angela.Array = {//# Metode Array // Indeks, Posisi Kembali! Jika tidak ada, ia mengembalikan -1; index: function (t, arr) {//# mengembalikan posisi array di mana nilai saat ini berada jika (arr.indexof) {return arr.indexof (t); } untuk (var i = arr.length; i--;) {if (arr [i] === t) {return i * 1; }}; kembali -1; } // Mengembalikan nilai kunci objek! Jenis nilai pengembalian adalah array. , getKey: function (data) {//# return semua nilai kunci dari objek var arr = [], k; untuk (k dalam data) {arr.push (k); }; return arr; } // ekstrak secara acak nilai dari array, acak: fungsi (array) {//# ekstrak secara acak nilai dari array array = array || []; var len = arrays.length, index = tydic.math.randint (0, len - 1); return array [index] || ''; } // Deduplikasi array satu dimensi, unik: fungsi (array) {//# array array array satu dimensi = array || []; untuk (var i = 0, len = array.length; i <len; i ++) {for (var j = i+1; j <array.length; j ++) {if (array [i] === array [j]) {array.splice (j, 1); J--; }}} return array; } // Max, istilah terbesar dalam array, max: function (array) {//#temukan istilah terbesar di array return math.max.apply (null, array); } // min, istilah terkecil di array, function: function (array) {//#temukan item terkecil di array return math.min.apply (null, array); } // Hapus, Hapus, Hapus: Fungsi (array, nilai) {//#Hapus nilai dalam array var panjang = array.length; while (length--) {if (value === array [length]) {array.splice (panjang, 1); }} return array; } // Hapus array, kosong: function (array) {//# hapus array (array || []). Length = 0; return array; } // Lepaskan, hapus nilai posisi yang ditentukan //@index, index. Jika indeks tidak dilewati, yang pertama akan dihapus, dilepas: function (array, index) {//#hapus nilai posisi yang ditentukan dalam array array.splice (indeks, 1); return array; } // Mengikis sortir array, shuffle: function (arr) {//#scrap array sortir var array = (arr || []). Concat (), length = array.length, i = length // travel, tmp = null // sementara, rand = tydic.math.randint // posisi, pos = 0; while (i--) {pos = rand (0, panjang); // Tukar posisi acak tmp = array [pos]; array [pos] = array [i]; array [i] = tmp; } return array; }};Set Metode Cookie
Angela.cookie = {//# cookie // Browser cukup mendukung cookie. Enable: !! navigator.cookieenabled // Baca cookie, get: function (name) {//#baca cookie var reg = baru regexp ("(^|)" + name + "(?: = ([^;]*))? (; | $)"), val = document.cookie.match (REG); mengembalikan val? (val [2]? unescape (val [2]): ""): ''; } // Tulis cookie, set: function (nama, nilai, kedaluwarsa, jalur, domain, aman) {//# tulis cookie var exp = new date (), kedaluwarsa = argumen [2] || null, path = argumen [3] || "/", domain = argumen [4] || null, aman = argumen [5] || PALSU ; kedaluwarsa? exp.setMinutes (exp.getMinutes () + parseInt (kedaluwarsa)): ""; document.cookie = name + '=' + Escape (value) + (Expires? '; Expires =' + exp.togmtString (): '') + (path? '; path =' + path: '') + (domain? '; domain =' + domain: '') + (aman? '; aman': ''); } // Hapus cookie, del: function (nama, path, domain, aman) {//#hapus cookies var value = $ getCookie (name); if (value! = null) {var exp = new date (); exp.setMinutes (exp.getMinutes () - 1000); jalur = path || "/"; document.cookie = name + '=;; Expires =' + exp.togmtString () + (path? '; path =' + path: '') + (domain? '; domain =' + domain: '') + (aman? '; aman': ''); }}};Set Metode URL
Angela.url = {//#url // Artikel: Nama variabel, jika url kosong, tabel akan mengambil getQuery dari URL halaman saat ini: function (name, url) {var u = argumen [1] || window.location.search, reg = regexp baru ("(^| &)" + name + "= ([^&]*) (& | $)"), r = u.substr (u.indexof ("?") + 1) .match (reg); return r! = null? r [2]: ""; }, gethash: function (name, url) {//# dapatkan nilai hash var u = argumen [1] || location.hash; var reg = regexp baru ("(^| &)" + name + "= ([^&]*) (& | $)"); var r = u.substr (u.indexof ("#") + 1) .match (reg); if (r! = null) {return r [2]; } kembali ""; }, parse: function (url) {//# parse url var a = document.createelement ('a'); url = url || document.location.href; A.href = url; return {Sumber: url, protokol: a.protocol.replace (':', ''), host: a.hostname, port: a.port, kueri: a.search, file: (a.pathname.match (/(^//?#]+) $/i) || [, '']) [1], hash: hash: hash: haHas a.pathname.replace (/^([^//])/, '/$ 1'), relatif: (a.href.match (/tps?: //// [^//]+(.+)/) || [, '']) [1], Segmen: a.pathname.replace (/^/^////Segmen. }};Set Metode Ekspresi Reguler
Angela.RegExp = {//# String Match // Apakah itu nomor! integer, floating point number isnum: function (num) {//# apakah itu pengembalian array! isnan (num); }, iseMail: function (mail) {//# Apakah itu kembalinya kotak surat /^(anjang-z0-9 bah 0+_/-/.#?)* media-z0-9$@+ }, isIdcard: function (card) {//# Apakah itu kartu ID return /^(/d{14}|/d{17})(/d|#xx−)$/.test(card); }, isMobile: function (seluler) {//# apakah itu pengembalian telepon /^0*1/d.10}/.test(mobile); }, isqq: function (qq) {//# apakah itu qq return /^ media1-9 bah/d{4,10}/.test(qq); }, iSTel: function (tel) {//# Apakah itu pengembalian telepon /^/d{3,4}-/d {7,8}(-/d {1,6)?$/.text(tel); }, isUrl: function (url) {//# Apakah itu URL return /https?:////#a-z0-9/./-$ {1.255}/.tas0-9a-z/-$ {1.255}/i.test(url); }, isColor: function (color) {//# Apakah itu return warna hexadecimal /#(($/da-fatakan {3 --) {1,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; Allowage = parseFloat (upgage) || 18; sekarang = typeof sekarang == 'string'? Tanggal Baru (Sekarang): (Sekarang || Tanggal Baru ()); if (! this.isidcard (id)) {return false; } // Kartu ID 15-bit if (15 == id.length) {usia = '19' + id.slice (6, 6); } else {usia = id.slice (6, 14); } // Ketik konversi integer usia = ~~ usia; nowDate = ~~ (tydic.date.format ('yyyymmdd', sekarang)); // Bandingkan usia jika (nowdate - usia <oleage * 1e4) {return false; } return true; } // float, isFloat: function (num) {//# apakah itu pengembalian titik mengambang /^((öilai1-9ace/d*)|(/d+/./d+)|0)$/.test(num); } // Positive Integer, IsInt: function (num) {//# Apakah itu pengembalian integer positif /^ media1-9 bah/d*$/.test(num); } // Apakah itu semua karakter Cina, Ischinese: function (str) {//# apakah itu semua karakter Cina kembali /^(ace/u4e00-/u9fa5 media| media/ufe30-/uffa0uarkan)+$/gi.test(str); }};Set Metode String
Angela.String = {//# string codeHtml: function (konten) {//# Escape karakter html mengembalikan ini.replace (konten, {'&': "&", '"": "", "" ":" "," "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "l ESTCHE" "" "" "" "" "" "" " '*': "*", '+': "+", ',': ",", '-': "-", '.': "." } // Ulangi string, ulangi: function (word, length, end) {//# ulangi string end = end || ''; // Tambahkan ke panjang terakhir = ~~ panjang; mengembalikan array baru (panjang * 1 + 1) .jamin (word) + '' + end; } // Tambahkan awalan, addpre: function (pre, word, size) {//# make up. Jika Anda mendahului 0 pra = pra || '0'; size = parseInt (size) || 0; word = string (word || ''); var length = math.max (0, size - word.length); kembalikan ini.repeat (pra, panjang, kata); } // Hapus spasi di kedua sisi, trim: function (teks) {//# hapus spasi di kedua sisi kembali (teks || '') .replace (/^/s+|/s $/, ''); } // Penggantian string, ganti: function (str, re) {//# string pengganti str = str || ''; untuk (tombol var di re) {ganti (tombol, re [key]); }; fungsi ganti (a, b) {var arr = str.split (a); str = arr.join (b); }; mengembalikan str; }, xss: function (str, type) {//# xss Escape // filter kosong if (! str) {return str === 0? "0": ""; } switch (type) {case "html": // filter xss di html string return str.replace (/[& '"<> ////-/x00-/x09/x0b-/x0c/x1f/x80-/xff]/g, fungsi (r) {return" &#" +). ") .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) +"; "}); merusak; case "url": // filter URL return vole (str) .replace (//+/g, "%2b"); merusak; kasus "miniurl": pengembalian str.replace (/%/g, "%25"); merusak; case "script": return str.replace (/[// "']/g, function (r) {return" // " + r;}). ganti (/%/g," //x25").replace(//n/g, "//n").replace(//r/g/g," //n"); "Reg": return str.replace (/media//^/$/*/+/?/{/}/./(/)/ media/ media/ g, function (a) {return "//" + a;}); Escape (str) .replace (/[& '"<> /////-/x00-/x09/x0b-/x0c/x1f/x80-/xff]/g, fungsi (r) {return" &#" + r.charcodeat (0) +"; "}). Ganti (//g,"). />").replace(//n/g, "<br />").replace(//n/g," <br />"). //@teks yang akan difilter, ketik: string //@kata -kata: kata -kata sensitif, ketik, array, seperti: ['saudari Anda', 'saya kalah', 'saya sialan'] // jika Anda menggunakan pencocokan reguler, panjang teks, dan kata -kata; var reg = regexp baru (words.join ('|'), 'g'), _self = ini; return text.replace (reg, function ($ 0) {var length = string ($ 0 || '') .length; return _self.rePeat ('*', length);}); }};Set Metode Enkripsi
Angela.encrypt = {//# enkripsi 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 = {{{{var m = {{s, p) {s, p) {s, p) }, r = l.base = {extend: function (b) {n.prototype = this; var h = n baru; b && h.mixin (b); h.hasownproperty ("init") || (h.init = function () {h. $ super.init.Apply (ini, argumen)}); h.init.prototype = h; h. $ super = ini; return h}, create: function () {var b = this.extend (); B.init.Apply (b, argumen); return b}, init: function () {}, mixin: function (b) {for (var h in b) b.hasownproperty (h) && (ini [h] = b [h]); b.hasownproperty ("tostring") && (this.toString = b.tostring)}, klon: function () {return this.init.prototype.extend (this)}}, q = l.wordarray = r.extend ({init: function (b, h) {b = this. b.length}, tostring: fungsi (b) {return (b || t) .stringify (this)}, concat: function (b) {var h = words, a = b.words, j = this.sigbytes; (g >>> 2] >>> 24 - 8 * (g % 4) & 255) << 24 - 8 * ((j + g) % 4); } klem: function () {var b = this.words, h = this.sigbytes; acak: fungsi (b) {untuk (var h = [], a = 0; a <b; a += 4) h.push (4294967296 * s.random () | 0); kembalikan q.init baru (h, b)}}), v = m.enc = {}, t = v.hex = {stringify: function (b) {var a = b.words; b = b.sigbytes; untuk (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 ("")}, parse: function (b) {for (var a = b.length, g = [], j = 0; j <a; j += 2) g [j >> 3] | ParseInt (b.substr (j, 2), 16) <16) (j <0); kembalikan q.init baru (g, a / 2)}}, a = v.latin1 = {stringify: function (b) {var a = b.words; b = b.sigbytes; untuk (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] | = (b.charcodeat (j) & 255) << 24 - 8 * (j % 4); kembalikan q.init baru (g, a)}}, u = v.utf8 = {stringify: function (b) {coba {return decodeuricomponent (Escape (A.Stringify (b)))} catch (g) {throw error ("Data Malformed UTF-8"); }}, parse: function (b) {return a.parse (unescape (encodeuricomponent (b)))}}, g = l.bufferedBlockAlgorithM = r.extend ({reset: function () {this._data = q.init baru; this._ndatabytes = 0 {this._data = q.init; this._ndatabytes = 0 {0 {{{this. (b = U.parse (b)); S.Max (M | 0) - this._minbuffersize, 0); clone: function () {var b = r.clone.call (ini); l.Hasher = g.extend({ cfg: r.extend(), init: function (b) { this.cfg = this.cfg.extend(b); this.reset() }, reset: function () { g.reset.call(this); this._doReset() }, update: function (b) { this._append(b); this._process(); return ini}, finalisasi: function (b) {b && this._append (b); k.hmac.init (b, g)). Finalisasi (a)}}}); var k = m.algo = {}; return m} (matematika); (fungsi (s) {fungsi p (a, k, b, h, l, j, m) {a = a + (k & b | ~ k & h) + l + m; return (a << j | a >>> 32 - j) + k} fungsi m (a, k, b, h, l, j, m) {a = a + (k & h | J) + K} Fungsi l (a, k, b, h, l, j, m) {a = a + (b ^ (k | ~ h)) + l + m; + K} Fungsi n (a, k, b, h, l, j, m) {a = a + (b ^ (k | ~ h)) + l + m; } untuk (var r = cryptojs, q = r.lib, v = q.wordarray, t = q.hasher, q = r.algo, a = [], u = 0; 64> u; u ++) a [u] = 4294967296 * S.sin (s.sin (u+1)) | this._hash = new v.init([1732584193, 4023233417, 2562383102, 271733878]) }, _doProcessBlock: function (g, k) { for (var b = 0; 16 > b; b++) { var h = k + b, w = g[h]; g [h] = (w << 8 | w >>> 24) & 16711935 | ; 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, d, e, f, h, 7, a[0]), f = 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, 7, a[4]), f = p(f, c, d, e, s, 12, a[5]), e = p(e, f, c, 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, 17, a[10]), d = p(d, e, f, c, z, 22, 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, 17, a [14]), d = p (d, e, f, c, d, 2, 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]), f = m(f, c, d, e, y, 9, a[21]), e = m(e, f, c, c, c, d = m(d, e, f, c, r, 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, c, C, 23, a[35]), c = l(c, d, e, f, w, 4, a[36]), f = l(f, 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, [39]), c = l (c, d, e, f, b, 4, a [40]), f = 1, c = l (c, d, e, f, b, 4, a [40]), f = 1, c = [41], q, f, l, l, 4, a [40]), f = 1, a [41], q, f = l, 4, a [40]), f = 1, c = [41 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, 16, a [45]), E = L (e, f, c, c, d, 16, 16, 46], E = L (E, F, C, C, D, 16, A [45]), E = L (E, F, C, C, D, 16, A [45]), E = L (E, F, C, C, D, 16, A [45]), E = L (E, F, C, C, D, 16, A [45]), E = L (E, F, C, C, D, 16, A [45]), E = L (E, F, C, C, D, D, 16, A [45]), E = L (E, F, C, C, D, D, 16, A [45]), E = L (E, F, C, C, D, D, 16, 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, c, w, 21, a[55]), c = n(c, d, e, f, v, 6, a[56]), f = 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; untuk (b = 0; 4> b; b ++) h = k [b], k [b] = (h << 8 | h >>> 24) & 16711935 | (h << 24 | h >>> 8) & 4278255360; return a}, clone: function () {var a = t.clone.call (ini); A._hash = this._hash.clone (); return a}}); r.md5 = t._createhelper (q); r.hmacmd5 = t._createHmachelper (q)}) (matematika); kembalikan cryptojs.md5 (kata -kata) .tostring (); } // sha1, sha1: function (words) {//# sha1 hashing algorithm var cryptojs = function (e, m) {var p = {}, j = p.lib = {}, l = function () {}, f = j.base = {{function: a) {l.prot) {}, f = j.base = {{function: a) {l.prot var c = baru l; a && c.mixin (a); c.hasownproperty ("init") || (c.init = function () {c. $ super.init.Apply (ini, argumen)}); c.init.prototype = c; c. $ super = ini; return c}, create: function () {var a = this.extend (); A.init.Apply (a, argumen); return a}, init: function () {}, mixin: function (a) {for (var c di a) a.hasownproperty (c) && (ini [c] = a [c]); a.hasownproperty ("tostring") && (this.toString = a.toString)}, klon: function () {return this.init.prototype.extend (this)}}, n = j. wordArray = f.extend ({init: function (a, c) {a = this. a.length}, tostring: function (a) {return (a || h) .stringify (this)}, concat: function (a) {var c = this.words, q = a.words, d = this.sigbytes; (q [b >>> 2] >>> 24 - 8 * (b % 4) & 255) << 24 - 8 * ((d + b) % 4); } klem: function () {var a = this.words, c = this.sigbytes; }, acak: fungsi (a) {untuk (var c = [], b = 0; b <a; b += 4) c.push (4294967296 * e.random () | 0); kembalikan n.init baru (c, a)}}), b = p.enc = {}, h = b.hex = {stringify: function (a) {var c = A.words; a = a.sigbytes; untuk (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 ("")}, parse: function (a) {for (var c = a.length, b = [], d = 0; d <c; d += 2) b [d >>> 3] | = ParseInt (a.substr (d, 2), 16) <2) <2) <2) <2) <2) <2) <2) <2) <2) <<) kembalikan n.init baru (b, c / 2)}}, g = b.latin1 = {stringify: function (a) {var c = A.words; a = a.sigbytes; untuk (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.length, b = [], d = 0; d <c; d ++) b [d >>> 2] | = (a.charcodeat (d) & 255) << 24 - 8 * (d % 4); kembalikan n.init baru (b, c)}}, r = b.utf8 = {stringify: function (a) {coba {return decodeuricomponent (Escape (g.stringify (a)))} catch (c) {throw error ("Malformed UTF-8 data"); }}, parse: function (a) {return g.parse (unescape (encodeuricomponent (a)))}}, k = j.bufferedblockalgorithm = f.extend ({reset: function () {this._data = n.init baru; this._ndatabytes = 0 {this._data = n.init baru; this._ndatabytes = 0 {} {this._data = n.init; this._ndatabytes = 0 {} {} {{this. (a = r.parse (a)); E.Max (h | 0) - this._minbuffersize, 0); clone: function () {var a = f.clone.call (ini); j.Hasher = k.extend({ cfg: f.extend(), init: function (a) { this.cfg = this.cfg.extend(a); this.reset() }, reset: function () { k.reset.call(this); this._doReset() }, update: function (a) { this._append(a); this._process(); return ini}, finalisasi: function (a) {a && this._append (a); s.hmac.init (a, f)). Finalisasi (b)}}}); var s = p.algo = {}; return p} (matematika); (function () {var e = cryptojs, m = e.lib, p = m.wordarray, j = m.hasher, l = [], m = e.algo.sha1 = j.extend ({_doreset: function () {this._hash = p.init baru ([1732584193, 402323233, [1732584193, 40232323323, [1732584193, 40232323232323, [1732584193, 4023, 4023, [1732584193, 4023, 4023, [1732584193, 4023, 4023, [1732584193, 4023, 4023, [1732584193, 4023, 4023, [1732584193, 4023 (17317, 3285377520. var 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 (); kembalikan this._hash}, clone: function () {var e = j.clone.call (ini); e._hash = this._hash.clone (); return e}}); E.SHA1 = J._Createhelper (m); e.hmacsha1 = j._createhmachelper (m)}) (); kembalikan cryptojs.sha1 (kata -kata) .tostring (); } // Time33 Hash, Time33: Function (Words) {//# Time33 Hash Algorithm Words = Words || ''; // hash time33 algoritma untuk (var i = 0, len = words.length, hash = 5381; i <len; ++ i) {hash += (hash << 5) +Words.charat (i) .charcateat (); }; kembalikan hash & 0x7ffffffff; }}Set metode tanggal
Angela.Date = {//# Tanggal Waktu //@S: Mulai Waktu //@E: Waktu Akhir //@N: Waktu Saat Ini, N Isinarea: Function (S, E, N) {//# Area Waktu Hakim Var Start = this.parse (s), end = this.parse (e), sekarang = parsefloat (n) || tanggal baru (); start = math.min (start, end); end = math.max (start, end); return now> = start && now <= end? Benar: false; } // Konversi karakter ke milidonds //@date: 2013-03-02 1: 2: 2, parse: function (tanggal) {//# format waktu pengembalian tanggal.parse (tanggal); //.replace(/-/g, '/')} //@Time, Time, seperti tanggal baru ('2013/11/10 0:12:12') //@pre, awalan minggu ini, seperti: minggu, waktu, num, num, waktu, waktu, waktu, waktu, waktu, waktu, waktu, waktu, waktu, waktu, waktu, dua kali, waktu, waktu, waktu, waktu, dua kali, waktu, waktu, dua kali, waktu, waktu, waktu, waktu, waktu, waktu, waktu, dua kali, waktu, waktu, waktu, dua kali, Fungsi, FUNGSI, PRE, THE, DUA, DUA, Tiga, EMPAT, Lima, Lima dan Enam, Function (Time (Time (Time (Time, Function (Time, Fungsi, 'rangkaian' ? this.parse (waktu): (waktu || tanggal baru ()); pra = pra || 'Pekan'; // minggu num = 'hari pertama, dua, tiga, empat, lima, enam'; return pre + nums [time.getday ()]; } //@formatType: yyyy, yy, mm //@time: new Date ('2013/11/12') //@Weeks: Day, Two, Three, Four, Five, Six, Format: Function (FormatType, Time, Weeks) {// Format waktu output var pre = '0'; FormatType = FormatType || 'Yyy-mm-dd' minggu = minggu || 'Hari pertama, dua, tiga, empat, lima, enam'; Waktu = Waktu || tanggal baru (); //Formattyp.com return (formatType || '') .replace (/yyyy | yyyy/g, time.getlyear ()) .replace (/yy | yy/g, tydic.string.addpre (pre, time.getlyar () % 100), 2) .replace (/mm mm | time.getMonth () + 1, 2)) .replace (/m | m/g, time.getmonth () + 1) .replace (/dd | dd/g, tydic.string.addpre (pre, time.getDate (), 2)) .replace (/d | d/g, get.getDate ()). Tydic.string.addpre (pre, time.getHours (), 2)) .replace (/h | h/g, time.getHours ()) .replace (/ii | ii/g, tydic.string.addpre (pre, time.getMinutes (), 2)). .replace (/ss | ss/g, tydic.string.addpre (pre, time.getSeconds (), 2)) .replace (/s | s/g, time.getSeconds ()) .replace (/g, time.getday ()) .replace (/w/g, mear) (waktu) (waktu) (). } // Countdown, Countdown: function (opt) {//# countdown var option = {nowtime: 0 // waktu saat ini ,, 2013/02/01 18:30:30, waktu akhir: 0 // tenggat waktu, 2013/02/01 (function, function, {1 // Minute, {1 // Minute {{1 // Minute {{1 // Minute, {{1 // Minume, Minute, {1 // Minume, Minute, Minute, Minute, Minute, Minute, Minute: 1/Minum } // panggilan balik setelah selesai}, opts = {}, timer = null; opts = tydic.extend (opsi, opt); // waktu saat ini if (! Opts.nowtime) {opts.nowtime = (tanggal baru ()). GetTime (); } else {opts.nowtime = this.parse (opts.nowtime); } // waktu saat ini if (! Opts.endtime) {opts.endtime = (new date ()). GetTime (); } else {opts.endtime = this.parse (opts.endtime); } timer = setInterval (loop, opts.interval * 1e3); // loop function loop () {var ts = opts.endtime - opts.nowtime // Hitung milidetik yang tersisa, dd = parseInt (ts/ 8.64e7) // menghitung hari yang tersisa, hh = parseint (ts/ 3.6e7 % 24) // menghitung jam yang tersisa, mm = parseint (ts/ ts/ ts/ ts/ ts/ ts/ ts/ t -t a nounds/ tiscale. ParseInt (TS/ 1E3 % 60) // Hitung detik yang tersisa; // Waktu saat ini dikurangi opts.nowtime += opts.interval * 1e3; if (ts <= 0) {clearInterval (timer); opts.finaled (); } else {opts.called (dd, hh, mm, ss); }}}};Set Metode Deteksi Browser
Angela.Browser = {//# Browser Browser: {//# Browser Kernel Category Weixin: /Micromessenger(// media/d/. media+)*/ // WeChat Built-In Browser, MQQ: /MQQBrowser(//anjang/D/., 0)*>/MOBERT//MOBERT/MOBERT/UT. /ucbrowser(// media/d/.ht+)*/ // uc browser, chrome: /(?:chrome|crios)(// media/d/. // Buka browser, sougou: /sogoumobilebrowser(// media/d/.ht+)*/ // browser seluler sogou, baidu: /baidubrowser(//anjang/d/. media +*/ // browser seluler BAIDU, 360: /360browser(ajah/d/d/d/d/d/d/d/d/d/d/Baidari (/360browser/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/d/d/d/d/d/d/d/d/d/d/d/d/d/d/d/d/d/d/d/d/d/d/d /d. /safari(// media/d/.ht+)*/ // browser aman, ie: /msie/s(asiswa/d/.ht+)*/ // IE browser} //@errcall: kesalahan callback, addFav: function (url, title, errcall) {//#add to favorite cobalah {window.extern, judul, errcall) {//#add to favorite cobalah {window.exnal, judul } catch (e) {coba {window.sideebar.addpanel (judul, url, ''); } catch (e) {errcall (); }}}, // Versi browser coreInit: function () {//#noadd var i = null, browser = this.browsers, ua = window.navigator.useragent.tolowercase (), browser = '', pos = 1; untuk (i di browser) {if (brower = ua.match (browser [i])) {if (i == 'opera') {pos = 2; } else {pos = 1; } this.version = (brower [pos] || '' ') .replace (/[/// s]+/,' '); this.core = i; Kembalikan i; }}} // Deteksi Versi IE! Only supported IE: version 5,6,7,8,9, ie: (function () { //# Detect IE version! Only support: ie5,6,7,8,9 var v = 3, div = document.createElement('div'), all = div.getElementsByTagName('i'); while ( div.innerHTML = '<!--[if gt IE ' + (++v) + '] <i> </i> <! [Endif]->, semua [0]);Metode JSON
Angela.json = {//# JSON Object // String Menjadi JSON Object Parse: Function (Data) {//# Format String, Menjadi JSON Object Var // JSON RegExp RvalidChars =/^[/],: {}/s]*$/, rvalidBraces =//(^:^: |:) (? /// (?: ["//// Bfnrt] | u [/da-fa-f] {4})/g, rvalidtokens = /"$^"///n/n media*"|True| false|null|- ?( ?// // */ */d+ *: $ ($ (+- etak'-? if (window.json && window.json.parse) {return window.json.parse (data); } if (data === null) {return data; } if (typeof data === "string") {data = data.replace (/^/s+|/s+$/g, ''); if (data && rvalidchars.test (data.replace (rvalidescape, "@") .replace (rvalidtokens, "]") .replace (rvalidbraces, ""))) {return (fungsi baru ("kembali" data)) (); } } kembali ''; }};memperpanjang metode
Angela.extend = function () {//# Ekstensi Objek Var Target = Argumen [0] || {}, i = 1, panjang = argumen.length, opsi; if (typeOf target! = "objek" && typeof target! = "function") target = {}; untuk (; i <length; i ++) {if ((options = argumen [i])! = null) {for (nama var di opsi) {var copy = options [name]; if (target === copy) {lanjutkan; } if (copy! == tidak terdefinisi) {target [name] = copy; }}}} return target;};Metode penilaian jenis
/** menilai apakah val variabel adalah tipe integer*/function isNumber (val) {return typeof val === 'nomor' && isfinite (val);}/** menilai apakah variabel val adalah tipe boolean*/function iSboolean (val) {return type val === Boolean ';} {val val) {valtre valpe valof val ===' boolean ';} {val val) {valef val i adalah valef valof val === === 'string';}/** menilai apakah variabel val tidak terdefinisi*/fungsi yang diundah (val) {return typeof val ==== 'string';}/** menilai apakah variabel valus tidak terdefinisi*/fungsi yang diundah (val) {return val val ==== 'tidak ditentukan';} {val) {vale return val ==== Tidak didefinisikan (str === null || typeof str === 'tidak terdefinisi') {return false; } return typeof str === 'object';}/**Judge whether the variable val is null*/function isNull(val) { return val === null;}/**Judge whether the variable arr is an array*Method 1*/function isArray1(arr) { return Object.prototype.toString.apply(arr) === '[object Array]';}/**Just determine whether the variable arr is sebuah array*metode 2*/function isArray2 (arr) {if (arr === null || typeof arr === 'tidak terdefinisi') {return false; } return arr.constructor === array;}