update
This commit is contained in:
@@ -0,0 +1,92 @@
|
||||
/*
|
||||
CryptoJS v3.0.2
|
||||
code.google.com/p/crypto-js
|
||||
(c) 2009-2012 by Jeff Mott. All rights reserved.
|
||||
code.google.com/p/crypto-js/wiki/License
|
||||
*/
|
||||
var CryptoJS = CryptoJS || function (p, h) {
|
||||
var i = {}, l = i.lib = {}, r = l.Base = function () { function a() { } return { extend: function (e) { a.prototype = this; var c = new a; e && c.mixIn(e); c.$super = this; return c }, create: function () { var a = this.extend(); a.init.apply(a, arguments); return a }, init: function () { }, mixIn: function (a) { for (var c in a) a.hasOwnProperty(c) && (this[c] = a[c]); a.hasOwnProperty("toString") && (this.toString = a.toString) }, clone: function () { return this.$super.extend(this) } } } (), o = l.WordArray = r.extend({ init: function (a, e) {
|
||||
a =
|
||||
this.words = a || []; this.sigBytes = e != h ? e : 4 * a.length
|
||||
}, toString: function (a) { return (a || s).stringify(this) }, concat: function (a) { var e = this.words, c = a.words, b = this.sigBytes, a = a.sigBytes; this.clamp(); if (b % 4) for (var d = 0; d < a; d++) e[b + d >>> 2] |= (c[d >>> 2] >>> 24 - 8 * (d % 4) & 255) << 24 - 8 * ((b + d) % 4); else if (65535 < c.length) for (d = 0; d < a; d += 4) e[b + d >>> 2] = c[d >>> 2]; else e.push.apply(e, c); this.sigBytes += a; return this }, clamp: function () { var a = this.words, e = this.sigBytes; a[e >>> 2] &= 4294967295 << 32 - 8 * (e % 4); a.length = p.ceil(e / 4) }, clone: function () {
|
||||
var a =
|
||||
r.clone.call(this); a.words = this.words.slice(0); return a
|
||||
}, random: function (a) { for (var e = [], c = 0; c < a; c += 4) e.push(4294967296 * p.random() | 0); return o.create(e, a) }
|
||||
}), m = i.enc = {}, s = m.Hex = { stringify: function (a) { for (var e = a.words, a = a.sigBytes, c = [], b = 0; b < a; b++) { var d = e[b >>> 2] >>> 24 - 8 * (b % 4) & 255; c.push((d >>> 4).toString(16)); c.push((d & 15).toString(16)) } return c.join("") }, parse: function (a) { for (var e = a.length, c = [], b = 0; b < e; b += 2) c[b >>> 3] |= parseInt(a.substr(b, 2), 16) << 24 - 4 * (b % 8); return o.create(c, e / 2) } }, n = m.Latin1 = { stringify: function (a) {
|
||||
for (var e =
|
||||
a.words, a = a.sigBytes, c = [], b = 0; b < a; b++) c.push(String.fromCharCode(e[b >>> 2] >>> 24 - 8 * (b % 4) & 255)); return c.join("")
|
||||
}, parse: function (a) { for (var e = a.length, c = [], b = 0; b < e; b++) c[b >>> 2] |= (a.charCodeAt(b) & 255) << 24 - 8 * (b % 4); return o.create(c, e) }
|
||||
}, k = m.Utf8 = { stringify: function (a) { try { return decodeURIComponent(escape(n.stringify(a))) } catch (e) { throw Error("Malformed UTF-8 data"); } }, parse: function (a) { return n.parse(unescape(encodeURIComponent(a))) } }, f = l.BufferedBlockAlgorithm = r.extend({ reset: function () {
|
||||
this._data = o.create();
|
||||
this._nDataBytes = 0
|
||||
}, _append: function (a) { "string" == typeof a && (a = k.parse(a)); this._data.concat(a); this._nDataBytes += a.sigBytes }, _process: function (a) { var e = this._data, c = e.words, b = e.sigBytes, d = this.blockSize, q = b / (4 * d), q = a ? p.ceil(q) : p.max((q | 0) - this._minBufferSize, 0), a = q * d, b = p.min(4 * a, b); if (a) { for (var j = 0; j < a; j += d) this._doProcessBlock(c, j); j = c.splice(0, a); e.sigBytes -= b } return o.create(j, b) }, clone: function () { var a = r.clone.call(this); a._data = this._data.clone(); return a }, _minBufferSize: 0
|
||||
}); l.Hasher = f.extend({ init: function () { this.reset() },
|
||||
reset: function () { f.reset.call(this); this._doReset() }, update: function (a) { this._append(a); this._process(); return this }, finalize: function (a) { a && this._append(a); this._doFinalize(); return this._hash }, clone: function () { var a = f.clone.call(this); a._hash = this._hash.clone(); return a }, blockSize: 16, _createHelper: function (a) { return function (e, c) { return a.create(c).finalize(e) } }, _createHmacHelper: function (a) { return function (e, c) { return g.HMAC.create(a, c).finalize(e) } }
|
||||
}); var g = i.algo = {}; return i
|
||||
} (Math);
|
||||
(function () {
|
||||
var p = CryptoJS, h = p.lib.WordArray; p.enc.Base64 = { stringify: function (i) { var l = i.words, h = i.sigBytes, o = this._map; i.clamp(); for (var i = [], m = 0; m < h; m += 3) for (var s = (l[m >>> 2] >>> 24 - 8 * (m % 4) & 255) << 16 | (l[m + 1 >>> 2] >>> 24 - 8 * ((m + 1) % 4) & 255) << 8 | l[m + 2 >>> 2] >>> 24 - 8 * ((m + 2) % 4) & 255, n = 0; 4 > n && m + 0.75 * n < h; n++) i.push(o.charAt(s >>> 6 * (3 - n) & 63)); if (l = o.charAt(64)) for (; i.length % 4; ) i.push(l); return i.join("") }, parse: function (i) {
|
||||
var i = i.replace(/\s/g, ""), l = i.length, r = this._map, o = r.charAt(64); o && (o = i.indexOf(o), -1 != o && (l = o));
|
||||
for (var o = [], m = 0, s = 0; s < l; s++) if (s % 4) { var n = r.indexOf(i.charAt(s - 1)) << 2 * (s % 4), k = r.indexOf(i.charAt(s)) >>> 6 - 2 * (s % 4); o[m >>> 2] |= (n | k) << 24 - 8 * (m % 4); m++ } return h.create(o, m)
|
||||
}, _map: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="
|
||||
}
|
||||
})();
|
||||
(function (p) {
|
||||
function h(f, g, a, e, c, b, d) { f = f + (g & a | ~g & e) + c + d; return (f << b | f >>> 32 - b) + g } function i(f, g, a, e, c, b, d) { f = f + (g & e | a & ~e) + c + d; return (f << b | f >>> 32 - b) + g } function l(f, g, a, e, c, b, d) { f = f + (g ^ a ^ e) + c + d; return (f << b | f >>> 32 - b) + g } function r(f, g, a, e, c, b, d) { f = f + (a ^ (g | ~e)) + c + d; return (f << b | f >>> 32 - b) + g } var o = CryptoJS, m = o.lib, s = m.WordArray, m = m.Hasher, n = o.algo, k = []; (function () { for (var f = 0; 64 > f; f++) k[f] = 4294967296 * p.abs(p.sin(f + 1)) | 0 })(); n = n.MD5 = m.extend({ _doReset: function () {
|
||||
this._hash = s.create([1732584193, 4023233417,
|
||||
2562383102, 271733878])
|
||||
}, _doProcessBlock: function (f, g) {
|
||||
for (var a = 0; 16 > a; a++) { var e = g + a, c = f[e]; f[e] = (c << 8 | c >>> 24) & 16711935 | (c << 24 | c >>> 8) & 4278255360 } for (var e = this._hash.words, c = e[0], b = e[1], d = e[2], q = e[3], a = 0; 64 > a; a += 4) 16 > a ? (c = h(c, b, d, q, f[g + a], 7, k[a]), q = h(q, c, b, d, f[g + a + 1], 12, k[a + 1]), d = h(d, q, c, b, f[g + a + 2], 17, k[a + 2]), b = h(b, d, q, c, f[g + a + 3], 22, k[a + 3])) : 32 > a ? (c = i(c, b, d, q, f[g + (a + 1) % 16], 5, k[a]), q = i(q, c, b, d, f[g + (a + 6) % 16], 9, k[a + 1]), d = i(d, q, c, b, f[g + (a + 11) % 16], 14, k[a + 2]), b = i(b, d, q, c, f[g + a % 16], 20, k[a + 3])) : 48 > a ? (c =
|
||||
l(c, b, d, q, f[g + (3 * a + 5) % 16], 4, k[a]), q = l(q, c, b, d, f[g + (3 * a + 8) % 16], 11, k[a + 1]), d = l(d, q, c, b, f[g + (3 * a + 11) % 16], 16, k[a + 2]), b = l(b, d, q, c, f[g + (3 * a + 14) % 16], 23, k[a + 3])) : (c = r(c, b, d, q, f[g + 3 * a % 16], 6, k[a]), q = r(q, c, b, d, f[g + (3 * a + 7) % 16], 10, k[a + 1]), d = r(d, q, c, b, f[g + (3 * a + 14) % 16], 15, k[a + 2]), b = r(b, d, q, c, f[g + (3 * a + 5) % 16], 21, k[a + 3])); e[0] = e[0] + c | 0; e[1] = e[1] + b | 0; e[2] = e[2] + d | 0; e[3] = e[3] + q | 0
|
||||
}, _doFinalize: function () {
|
||||
var f = this._data, g = f.words, a = 8 * this._nDataBytes, e = 8 * f.sigBytes; g[e >>> 5] |= 128 << 24 - e % 32; g[(e + 64 >>> 9 << 4) + 14] = (a << 8 | a >>>
|
||||
24) & 16711935 | (a << 24 | a >>> 8) & 4278255360; f.sigBytes = 4 * (g.length + 1); this._process(); f = this._hash.words; for (g = 0; 4 > g; g++) a = f[g], f[g] = (a << 8 | a >>> 24) & 16711935 | (a << 24 | a >>> 8) & 4278255360
|
||||
}
|
||||
}); o.MD5 = m._createHelper(n); o.HmacMD5 = m._createHmacHelper(n)
|
||||
})(Math);
|
||||
(function () {
|
||||
var p = CryptoJS, h = p.lib, i = h.Base, l = h.WordArray, h = p.algo, r = h.EvpKDF = i.extend({ cfg: i.extend({ keySize: 4, hasher: h.MD5, iterations: 1 }), init: function (i) { this.cfg = this.cfg.extend(i) }, compute: function (i, m) { for (var h = this.cfg, n = h.hasher.create(), k = l.create(), f = k.words, g = h.keySize, h = h.iterations; f.length < g; ) { a && n.update(a); var a = n.update(i).finalize(m); n.reset(); for (var e = 1; e < h; e++) a = n.finalize(a), n.reset(); k.concat(a) } k.sigBytes = 4 * g; return k } }); p.EvpKDF = function (i, l, h) {
|
||||
return r.create(h).compute(i,
|
||||
l)
|
||||
}
|
||||
})();
|
||||
CryptoJS.lib.Cipher || function (p) {
|
||||
var h = CryptoJS, i = h.lib, l = i.Base, r = i.WordArray, o = i.BufferedBlockAlgorithm, m = h.enc.Base64, s = h.algo.EvpKDF, n = i.Cipher = o.extend({ cfg: l.extend(), createEncryptor: function (b, d) { return this.create(this._ENC_XFORM_MODE, b, d) }, createDecryptor: function (b, d) { return this.create(this._DEC_XFORM_MODE, b, d) }, init: function (b, d, a) { this.cfg = this.cfg.extend(a); this._xformMode = b; this._key = d; this.reset() }, reset: function () { o.reset.call(this); this._doReset() }, process: function (b) { this._append(b); return this._process() },
|
||||
finalize: function (b) { b && this._append(b); return this._doFinalize() }, keySize: 4, ivSize: 4, _ENC_XFORM_MODE: 1, _DEC_XFORM_MODE: 2, _createHelper: function () { return function (b) { return { encrypt: function (a, q, j) { return ("string" == typeof q ? c : e).encrypt(b, a, q, j) }, decrypt: function (a, q, j) { return ("string" == typeof q ? c : e).decrypt(b, a, q, j) } } } } ()
|
||||
}); i.StreamCipher = n.extend({ _doFinalize: function () { return this._process(!0) }, blockSize: 1 }); var k = h.mode = {}, f = i.BlockCipherMode = l.extend({ createEncryptor: function (b, a) {
|
||||
return this.Encryptor.create(b,
|
||||
a)
|
||||
}, createDecryptor: function (b, a) { return this.Decryptor.create(b, a) }, init: function (b, a) { this._cipher = b; this._iv = a }
|
||||
}), k = k.CBC = function () {
|
||||
function b(b, a, d) { var c = this._iv; c ? this._iv = p : c = this._prevBlock; for (var e = 0; e < d; e++) b[a + e] ^= c[e] } var a = f.extend(); a.Encryptor = a.extend({ processBlock: function (a, d) { var c = this._cipher, e = c.blockSize; b.call(this, a, d, e); c.encryptBlock(a, d); this._prevBlock = a.slice(d, d + e) } }); a.Decryptor = a.extend({ processBlock: function (a, d) {
|
||||
var c = this._cipher, e = c.blockSize, f = a.slice(d, d +
|
||||
e); c.decryptBlock(a, d); b.call(this, a, d, e); this._prevBlock = f
|
||||
}
|
||||
}); return a
|
||||
} (), g = (h.pad = {}).Pkcs7 = { pad: function (b, a) { for (var c = 4 * a, c = c - b.sigBytes % c, e = c << 24 | c << 16 | c << 8 | c, f = [], g = 0; g < c; g += 4) f.push(e); c = r.create(f, c); b.concat(c) }, unpad: function (b) { b.sigBytes -= b.words[b.sigBytes - 1 >>> 2] & 255 } }; i.BlockCipher = n.extend({ cfg: n.cfg.extend({ mode: k, padding: g }), reset: function () {
|
||||
n.reset.call(this); var b = this.cfg, a = b.iv, b = b.mode; if (this._xformMode == this._ENC_XFORM_MODE) var c = b.createEncryptor; else c = b.createDecryptor,
|
||||
this._minBufferSize = 1; this._mode = c.call(b, this, a && a.words)
|
||||
}, _doProcessBlock: function (b, a) { this._mode.processBlock(b, a) }, _doFinalize: function () { var b = this.cfg.padding; if (this._xformMode == this._ENC_XFORM_MODE) { b.pad(this._data, this.blockSize); var a = this._process(!0) } else a = this._process(!0), b.unpad(a); return a }, blockSize: 4
|
||||
}); var a = i.CipherParams = l.extend({ init: function (a) { this.mixIn(a) }, toString: function (a) { return (a || this.formatter).stringify(this) } }), k = (h.format = {}).OpenSSL = { stringify: function (a) {
|
||||
var d =
|
||||
a.ciphertext, a = a.salt, d = (a ? r.create([1398893684, 1701076831]).concat(a).concat(d) : d).toString(m); return d = d.replace(/(.{64})/g, "$1\n")
|
||||
}, parse: function (b) { var b = m.parse(b), d = b.words; if (1398893684 == d[0] && 1701076831 == d[1]) { var c = r.create(d.slice(2, 4)); d.splice(0, 4); b.sigBytes -= 16 } return a.create({ ciphertext: b, salt: c }) }
|
||||
}, e = i.SerializableCipher = l.extend({ cfg: l.extend({ format: k }), encrypt: function (b, d, c, e) {
|
||||
var e = this.cfg.extend(e), f = b.createEncryptor(c, e), d = f.finalize(d), f = f.cfg; return a.create({ ciphertext: d,
|
||||
key: c, iv: f.iv, algorithm: b, mode: f.mode, padding: f.padding, blockSize: b.blockSize, formatter: e.format
|
||||
})
|
||||
}, decrypt: function (a, c, e, f) { f = this.cfg.extend(f); c = this._parse(c, f.format); return a.createDecryptor(e, f).finalize(c.ciphertext) }, _parse: function (a, c) { return "string" == typeof a ? c.parse(a) : a }
|
||||
}), h = (h.kdf = {}).OpenSSL = { compute: function (b, c, e, f) { f || (f = r.random(8)); b = s.create({ keySize: c + e }).compute(b, f); e = r.create(b.words.slice(c), 4 * e); b.sigBytes = 4 * c; return a.create({ key: b, iv: e, salt: f }) } }, c = i.PasswordBasedCipher =
|
||||
e.extend({ cfg: e.cfg.extend({ kdf: h }), encrypt: function (a, c, f, j) { j = this.cfg.extend(j); f = j.kdf.compute(f, a.keySize, a.ivSize); j.iv = f.iv; a = e.encrypt.call(this, a, c, f.key, j); a.mixIn(f); return a }, decrypt: function (a, c, f, j) { j = this.cfg.extend(j); c = this._parse(c, j.format); f = j.kdf.compute(f, a.keySize, a.ivSize, c.salt); j.iv = f.iv; return e.decrypt.call(this, a, c, f.key, j) } })
|
||||
} ();
|
||||
(function () {
|
||||
var p = CryptoJS, h = p.lib.BlockCipher, i = p.algo, l = [], r = [], o = [], m = [], s = [], n = [], k = [], f = [], g = [], a = []; (function () { for (var c = [], b = 0; 256 > b; b++) c[b] = 128 > b ? b << 1 : b << 1 ^ 283; for (var d = 0, e = 0, b = 0; 256 > b; b++) { var j = e ^ e << 1 ^ e << 2 ^ e << 3 ^ e << 4, j = j >>> 8 ^ j & 255 ^ 99; l[d] = j; r[j] = d; var i = c[d], h = c[i], p = c[h], t = 257 * c[j] ^ 16843008 * j; o[d] = t << 24 | t >>> 8; m[d] = t << 16 | t >>> 16; s[d] = t << 8 | t >>> 24; n[d] = t; t = 16843009 * p ^ 65537 * h ^ 257 * i ^ 16843008 * d; k[j] = t << 24 | t >>> 8; f[j] = t << 16 | t >>> 16; g[j] = t << 8 | t >>> 24; a[j] = t; d ? (d = i ^ c[c[c[p ^ i]]], e ^= c[c[e]]) : d = e = 1 } })();
|
||||
var e = [0, 1, 2, 4, 8, 16, 32, 64, 128, 27, 54], i = i.AES = h.extend({ _doReset: function () {
|
||||
for (var c = this._key, b = c.words, d = c.sigBytes / 4, c = 4 * ((this._nRounds = d + 6) + 1), i = this._keySchedule = [], j = 0; j < c; j++) if (j < d) i[j] = b[j]; else { var h = i[j - 1]; j % d ? 6 < d && 4 == j % d && (h = l[h >>> 24] << 24 | l[h >>> 16 & 255] << 16 | l[h >>> 8 & 255] << 8 | l[h & 255]) : (h = h << 8 | h >>> 24, h = l[h >>> 24] << 24 | l[h >>> 16 & 255] << 16 | l[h >>> 8 & 255] << 8 | l[h & 255], h ^= e[j / d | 0] << 24); i[j] = i[j - d] ^ h } b = this._invKeySchedule = []; for (d = 0; d < c; d++) j = c - d, h = d % 4 ? i[j] : i[j - 4], b[d] = 4 > d || 4 >= j ? h : k[l[h >>> 24]] ^ f[l[h >>>
|
||||
16 & 255]] ^ g[l[h >>> 8 & 255]] ^ a[l[h & 255]]
|
||||
}, encryptBlock: function (a, b) { this._doCryptBlock(a, b, this._keySchedule, o, m, s, n, l) }, decryptBlock: function (c, b) { var d = c[b + 1]; c[b + 1] = c[b + 3]; c[b + 3] = d; this._doCryptBlock(c, b, this._invKeySchedule, k, f, g, a, r); d = c[b + 1]; c[b + 1] = c[b + 3]; c[b + 3] = d }, _doCryptBlock: function (a, b, d, e, f, h, i, g) {
|
||||
for (var l = this._nRounds, k = a[b] ^ d[0], m = a[b + 1] ^ d[1], o = a[b + 2] ^ d[2], n = a[b + 3] ^ d[3], p = 4, r = 1; r < l; r++) var s = e[k >>> 24] ^ f[m >>> 16 & 255] ^ h[o >>> 8 & 255] ^ i[n & 255] ^ d[p++], u = e[m >>> 24] ^ f[o >>> 16 & 255] ^ h[n >>> 8 & 255] ^
|
||||
i[k & 255] ^ d[p++], v = e[o >>> 24] ^ f[n >>> 16 & 255] ^ h[k >>> 8 & 255] ^ i[m & 255] ^ d[p++], n = e[n >>> 24] ^ f[k >>> 16 & 255] ^ h[m >>> 8 & 255] ^ i[o & 255] ^ d[p++], k = s, m = u, o = v; s = (g[k >>> 24] << 24 | g[m >>> 16 & 255] << 16 | g[o >>> 8 & 255] << 8 | g[n & 255]) ^ d[p++]; u = (g[m >>> 24] << 24 | g[o >>> 16 & 255] << 16 | g[n >>> 8 & 255] << 8 | g[k & 255]) ^ d[p++]; v = (g[o >>> 24] << 24 | g[n >>> 16 & 255] << 16 | g[k >>> 8 & 255] << 8 | g[m & 255]) ^ d[p++]; n = (g[n >>> 24] << 24 | g[k >>> 16 & 255] << 16 | g[m >>> 8 & 255] << 8 | g[o & 255]) ^ d[p++]; a[b] = s; a[b + 1] = u; a[b + 2] = v; a[b + 3] = n
|
||||
}, keySize: 8
|
||||
}); p.AES = h._createHelper(i)
|
||||
})();
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,9 @@
|
||||
var CryptoJS=CryptoJS||function(h,o){var f={},j=f.lib={},k=j.Base=function(){function a(){}return{extend:function(b){a.prototype=this;var c=new a;b&&c.mixIn(b);c.$super=this;return c},create:function(){var a=this.extend();a.init.apply(a,arguments);return a},init:function(){},mixIn:function(a){for(var c in a)a.hasOwnProperty(c)&&(this[c]=a[c]);a.hasOwnProperty("toString")&&(this.toString=a.toString)},clone:function(){return this.$super.extend(this)}}}(),i=j.WordArray=k.extend({init:function(a,b){a=
|
||||
this.words=a||[];this.sigBytes=b!=o?b:4*a.length},toString:function(a){return(a||p).stringify(this)},concat:function(a){var b=this.words,c=a.words,d=this.sigBytes,a=a.sigBytes;this.clamp();if(d%4)for(var e=0;e<a;e++)b[d+e>>>2]|=(c[e>>>2]>>>24-8*(e%4)&255)<<24-8*((d+e)%4);else if(65535<c.length)for(e=0;e<a;e+=4)b[d+e>>>2]=c[e>>>2];else b.push.apply(b,c);this.sigBytes+=a;return this},clamp:function(){var a=this.words,b=this.sigBytes;a[b>>>2]&=4294967295<<32-8*(b%4);a.length=h.ceil(b/4)},clone:function(){var a=
|
||||
k.clone.call(this);a.words=this.words.slice(0);return a},random:function(a){for(var b=[],c=0;c<a;c+=4)b.push(4294967296*h.random()|0);return i.create(b,a)}}),l=f.enc={},p=l.Hex={stringify:function(a){for(var b=a.words,a=a.sigBytes,c=[],d=0;d<a;d++){var e=b[d>>>2]>>>24-8*(d%4)&255;c.push((e>>>4).toString(16));c.push((e&15).toString(16))}return c.join("")},parse:function(a){for(var b=a.length,c=[],d=0;d<b;d+=2)c[d>>>3]|=parseInt(a.substr(d,2),16)<<24-4*(d%8);return i.create(c,b/2)}},n=l.Latin1={stringify:function(a){for(var b=
|
||||
a.words,a=a.sigBytes,c=[],d=0;d<a;d++)c.push(String.fromCharCode(b[d>>>2]>>>24-8*(d%4)&255));return c.join("")},parse:function(a){for(var b=a.length,c=[],d=0;d<b;d++)c[d>>>2]|=(a.charCodeAt(d)&255)<<24-8*(d%4);return i.create(c,b)}},q=l.Utf8={stringify:function(a){try{return decodeURIComponent(escape(n.stringify(a)))}catch(b){throw Error("Malformed UTF-8 data");}},parse:function(a){return n.parse(unescape(encodeURIComponent(a)))}},m=j.BufferedBlockAlgorithm=k.extend({reset:function(){this._data=i.create();
|
||||
this._nDataBytes=0},_append:function(a){"string"==typeof a&&(a=q.parse(a));this._data.concat(a);this._nDataBytes+=a.sigBytes},_process:function(a){var b=this._data,c=b.words,d=b.sigBytes,e=this.blockSize,f=d/(4*e),f=a?h.ceil(f):h.max((f|0)-this._minBufferSize,0),a=f*e,d=h.min(4*a,d);if(a){for(var g=0;g<a;g+=e)this._doProcessBlock(c,g);g=c.splice(0,a);b.sigBytes-=d}return i.create(g,d)},clone:function(){var a=k.clone.call(this);a._data=this._data.clone();return a},_minBufferSize:0});j.Hasher=m.extend({init:function(){this.reset()},
|
||||
reset:function(){m.reset.call(this);this._doReset()},update:function(a){this._append(a);this._process();return this},finalize:function(a){a&&this._append(a);this._doFinalize();return this._hash},clone:function(){var a=m.clone.call(this);a._hash=this._hash.clone();return a},blockSize:16,_createHelper:function(a){return function(b,c){return a.create(c).finalize(b)}},_createHmacHelper:function(a){return function(b,c){return r.HMAC.create(a,c).finalize(b)}}});var r=f.algo={};return f}(Math);
|
||||
|
||||
(function(){var h=CryptoJS,i=h.lib.WordArray;h.enc.Base64={stringify:function(b){var e=b.words,f=b.sigBytes,c=this._map;b.clamp();for(var b=[],a=0;a<f;a+=3)for(var d=(e[a>>>2]>>>24-8*(a%4)&255)<<16|(e[a+1>>>2]>>>24-8*((a+1)%4)&255)<<8|e[a+2>>>2]>>>24-8*((a+2)%4)&255,g=0;4>g&&a+0.75*g<f;g++)b.push(c.charAt(d>>>6*(3-g)&63));if(e=c.charAt(64))for(;b.length%4;)b.push(e);return b.join("")},parse:function(b){var b=b.replace(/\s/g,""),e=b.length,f=this._map,c=f.charAt(64);c&&(c=b.indexOf(c),-1!=c&&(e=c));
|
||||
for(var c=[],a=0,d=0;d<e;d++)if(d%4){var g=f.indexOf(b.charAt(d-1))<<2*(d%4),h=f.indexOf(b.charAt(d))>>>6-2*(d%4);c[a>>>2]|=(g|h)<<24-8*(a%4);a++}return i.create(c,a)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="}})();
|
||||
@@ -0,0 +1,530 @@
|
||||
// JavaScript Document
|
||||
|
||||
$(document).ready(function(){
|
||||
$(".heachackWrap input.HdisaBtn").click(
|
||||
function(){
|
||||
|
||||
$(".CentChackBox input:disabled").css({ "color": "#56688a", "background": "#f1f9ff","border-color":"#c6cede" });
|
||||
|
||||
}
|
||||
)
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
var endNumber=true
|
||||
var mem=0
|
||||
var carry=10
|
||||
var hexnum="0123456789abcdef"
|
||||
var angle="d"
|
||||
var stack=""
|
||||
var level="0"
|
||||
var layer=0
|
||||
//数字键
|
||||
function inputkey(key)
|
||||
{
|
||||
var index=key.charCodeAt(0);
|
||||
if ((carry==2 && (index==48 || index==49))
|
||||
|| (carry==8 && index>=48 && index<=55)
|
||||
|| (carry==10 && (index>=48 && index<=57 || index==46))
|
||||
|| (carry==16 && ((index>=48 && index<=57) || (index>=97 && index<=102))))
|
||||
if(endNumber)
|
||||
{
|
||||
endNumber=false
|
||||
document.calc.display.value = key
|
||||
}
|
||||
else if(document.calc.display.value == null || document.calc.display.value == "0")
|
||||
document.calc.display.value = key
|
||||
else
|
||||
document.calc.display.value += key
|
||||
}
|
||||
function changeSign()
|
||||
{
|
||||
if (document.calc.display.value!="0")
|
||||
if(document.calc.display.value.substr(0,1) == "-")
|
||||
document.calc.display.value = document.calc.display.value.substr(1)
|
||||
else
|
||||
document.calc.display.value = "-" + document.calc.display.value
|
||||
}
|
||||
//函数键
|
||||
function inputfunction(fun,shiftfun)
|
||||
{
|
||||
endNumber=true
|
||||
if (document.calc.shiftf.checked)
|
||||
document.calc.display.value=decto(funcalc(shiftfun,(todec(document.calc.display.value,carry))),carry)
|
||||
else
|
||||
document.calc.display.value=decto(funcalc(fun,(todec(document.calc.display.value,carry))),carry)
|
||||
document.calc.shiftf.checked=false
|
||||
document.calc.hypf.checked=false
|
||||
inputshift()
|
||||
}
|
||||
function inputtrig(trig,arctrig,hyp,archyp)
|
||||
{
|
||||
if (document.calc.hypf.checked)
|
||||
inputfunction(hyp,archyp)
|
||||
else
|
||||
inputfunction(trig,arctrig)
|
||||
}
|
||||
//运算符
|
||||
function operation(join,newlevel)
|
||||
{
|
||||
endNumber=true
|
||||
var temp=stack.substr(stack.lastIndexOf("(")+1)+document.calc.display.value
|
||||
while (newlevel!=0 && (newlevel<=(level.charAt(level.length-1))))
|
||||
{
|
||||
temp=parse(temp)
|
||||
level=level.slice(0,-1)
|
||||
}
|
||||
if (temp.match(/^(.*\d[\+\-\*\/\%\^\&\|x])?([+-]?[0-9a-f\.]+)$/))
|
||||
document.calc.display.value=RegExp.$2
|
||||
stack=stack.substr(0,stack.lastIndexOf("(")+1)+temp+join
|
||||
document.calc.operator.value=" "+join+" "
|
||||
level=level+newlevel
|
||||
|
||||
}
|
||||
//括号
|
||||
function addbracket()
|
||||
{
|
||||
endNumber=true
|
||||
document.calc.display.value=0
|
||||
stack=stack+"("
|
||||
document.calc.operator.value=" "
|
||||
level=level+0
|
||||
|
||||
layer+=1
|
||||
document.calc.bracket.value="(="+layer
|
||||
}
|
||||
function disbracket()
|
||||
{
|
||||
endNumber=true
|
||||
var temp=stack.substr(stack.lastIndexOf("(")+1)+document.calc.display.value
|
||||
while ((level.charAt(level.length-1))>0)
|
||||
{
|
||||
temp=parse(temp)
|
||||
level=level.slice(0,-1)
|
||||
}
|
||||
document.calc.display.value=temp
|
||||
stack=stack.substr(0,stack.lastIndexOf("("))
|
||||
document.calc.operator.value=" "
|
||||
level=level.slice(0,-1)
|
||||
|
||||
layer-=1
|
||||
if (layer>0)
|
||||
document.calc.bracket.value="(="+layer
|
||||
else
|
||||
document.calc.bracket.value=""
|
||||
}
|
||||
//等号
|
||||
function result()
|
||||
{
|
||||
endNumber=true
|
||||
while (layer>0)
|
||||
disbracket()
|
||||
var temp=stack+document.calc.display.value
|
||||
while ((level.charAt(level.length-1))>0)
|
||||
{
|
||||
temp=parse(temp)
|
||||
level=level.slice(0,-1)
|
||||
}
|
||||
|
||||
document.calc.display.value=temp
|
||||
document.calc.bracket.value=""
|
||||
document.calc.operator.value=""
|
||||
stack=""
|
||||
level="0"
|
||||
}
|
||||
//修改键
|
||||
function backspace()
|
||||
{
|
||||
if (!endNumber)
|
||||
{
|
||||
if(document.calc.display.value.length>1)
|
||||
document.calc.display.value=document.calc.display.value.substring(0,document.calc.display.value.length - 1)
|
||||
else
|
||||
document.calc.display.value=0
|
||||
}
|
||||
}
|
||||
function clearall()
|
||||
{
|
||||
document.calc.display.value=0
|
||||
endNumber=true
|
||||
stack=""
|
||||
level="0"
|
||||
layer=""
|
||||
document.calc.operator.value=""
|
||||
document.calc.bracket.value=""
|
||||
}
|
||||
//转换键
|
||||
function inputChangCarry(newcarry)
|
||||
{
|
||||
endNumber=true
|
||||
document.calc.display.value=(decto(todec(document.calc.display.value,carry),newcarry))
|
||||
carry=newcarry
|
||||
|
||||
document.calc.sin.disabled=(carry!=10)
|
||||
document.calc.cos.disabled=(carry!=10)
|
||||
document.calc.tan.disabled=(carry!=10)
|
||||
document.calc.bt.disabled=(carry!=10)
|
||||
document.calc.pi.disabled=(carry!=10)
|
||||
document.calc.e.disabled=(carry!=10)
|
||||
document.calc.kp.disabled=(carry!=10)
|
||||
|
||||
document.calc.k2.disabled=(carry<=2)
|
||||
document.calc.k3.disabled=(carry<=2)
|
||||
document.calc.k4.disabled=(carry<=2)
|
||||
document.calc.k5.disabled=(carry<=2)
|
||||
document.calc.k6.disabled=(carry<=2)
|
||||
document.calc.k7.disabled=(carry<=2)
|
||||
document.calc.k8.disabled=(carry<=8)
|
||||
document.calc.k9.disabled=(carry<=8)
|
||||
document.calc.ka.disabled=(carry<=10)
|
||||
document.calc.kb.disabled=(carry<=10)
|
||||
document.calc.kc.disabled=(carry<=10)
|
||||
document.calc.kd.disabled=(carry<=10)
|
||||
document.calc.ke.disabled=(carry<=10)
|
||||
document.calc.kf.disabled=(carry<=10)
|
||||
|
||||
}
|
||||
function inputChangAngle(angletype)
|
||||
{
|
||||
endNumber=true
|
||||
angle=angletype
|
||||
if (angle=="d")
|
||||
document.calc.display.value=radiansToDegress(document.calc.display.value)
|
||||
else
|
||||
document.calc.display.value=degressToRadians(document.calc.display.value)
|
||||
endNumber=true
|
||||
}
|
||||
|
||||
function inputshift()
|
||||
{
|
||||
if (document.calc.shiftf.checked)
|
||||
{
|
||||
document.calc.bt.value="deg"
|
||||
document.calc.ln.value="exp"
|
||||
document.calc.log.value="expd"
|
||||
|
||||
if (document.calc.hypf.checked)
|
||||
{
|
||||
document.calc.sin.value="ahs"
|
||||
document.calc.cos.value="ahc"
|
||||
document.calc.tan.value="aht"
|
||||
}
|
||||
else
|
||||
{
|
||||
document.calc.sin.value="asin"
|
||||
document.calc.cos.value="acos"
|
||||
document.calc.tan.value="atan"
|
||||
}
|
||||
|
||||
document.calc.sqr.value="x^.5"
|
||||
document.calc.cube.value="x^.3"
|
||||
|
||||
document.calc.floor.value="小数"
|
||||
}
|
||||
else
|
||||
{
|
||||
document.calc.bt.value="d.ms"
|
||||
document.calc.ln.value="ln"
|
||||
document.calc.log.value="log"
|
||||
|
||||
if (document.calc.hypf.checked)
|
||||
{
|
||||
document.calc.sin.value="hsin"
|
||||
document.calc.cos.value="hcos"
|
||||
document.calc.tan.value="htan"
|
||||
}
|
||||
else
|
||||
{
|
||||
document.calc.sin.value="sin"
|
||||
document.calc.cos.value="cos"
|
||||
document.calc.tan.value="tan"
|
||||
}
|
||||
|
||||
document.calc.sqr.value="x^2"
|
||||
document.calc.cube.value="x^3"
|
||||
|
||||
document.calc.floor.value="取整"
|
||||
}
|
||||
|
||||
}
|
||||
//存储器部分
|
||||
|
||||
function clearmemory()
|
||||
{
|
||||
mem=0
|
||||
document.calc.memory.value=" "
|
||||
}
|
||||
|
||||
function getmemory()
|
||||
{
|
||||
endNumber=true
|
||||
document.calc.display.value=decto(mem,carry)
|
||||
}
|
||||
|
||||
function putmemory()
|
||||
{
|
||||
endNumber=true
|
||||
if (document.calc.display.value!=0)
|
||||
{
|
||||
mem=todec(document.calc.display.value,carry)
|
||||
document.calc.memory.value="M"
|
||||
}
|
||||
else
|
||||
document.calc.memory.value=" "
|
||||
}
|
||||
|
||||
function addmemory()
|
||||
{
|
||||
endNumber=true
|
||||
mem=parseFloat(mem)+parseFloat(todec(document.calc.display.value,carry))
|
||||
if (mem==0)
|
||||
document.calc.memory.value=" "
|
||||
else
|
||||
document.calc.memory.value="M"
|
||||
}
|
||||
|
||||
function multimemory()
|
||||
{
|
||||
endNumber=true
|
||||
mem=parseFloat(mem)*parseFloat(todec(document.calc.display.value,carry))
|
||||
if (mem==0)
|
||||
document.calc.memory.value=" "
|
||||
else
|
||||
document.calc.memory.value="M"
|
||||
}
|
||||
|
||||
//十进制转换
|
||||
|
||||
function todec(num,oldcarry)
|
||||
{
|
||||
if (oldcarry==10 || num==0) return(num)
|
||||
var neg=(num.charAt(0)=="-")
|
||||
if (neg) num=num.substr(1)
|
||||
var newnum=0
|
||||
for (var index=1;index<=num.length;index++)
|
||||
newnum=newnum*oldcarry+hexnum.indexOf(num.charAt(index-1))
|
||||
if (neg)
|
||||
newnum=-newnum
|
||||
return(newnum)
|
||||
}
|
||||
|
||||
function decto(num,newcarry)
|
||||
{
|
||||
var neg=(num<0)
|
||||
if (newcarry==10 || num==0) return(num)
|
||||
num=""+Math.abs(num)
|
||||
var newnum=""
|
||||
while (num!=0)
|
||||
{
|
||||
newnum=hexnum.charAt(num%newcarry)+newnum
|
||||
num=Math.floor(num/newcarry)
|
||||
}
|
||||
if (neg)
|
||||
newnum="-"+newnum
|
||||
return(newnum)
|
||||
}
|
||||
|
||||
//表达式解析
|
||||
|
||||
function parse(string)
|
||||
{
|
||||
if (string.match(/^(.*\d[\+\-\*\/\%\^\&\|x\<])?([+-]?[0-9a-f\.]+)([\+\-\*\/\%\^\&\|x\<])([+-]?[0-9a-f\.]+)$/))
|
||||
return(RegExp.$1+cypher(RegExp.$2,RegExp.$3,RegExp.$4))
|
||||
else
|
||||
return(string)
|
||||
}
|
||||
|
||||
//数学运算和位运算
|
||||
|
||||
function cypher(left,join,right)
|
||||
{
|
||||
left=todec(left,carry)
|
||||
right=todec(right,carry)
|
||||
if (join=="+")
|
||||
return(decto(parseFloat(left)+parseFloat(right),carry))
|
||||
if (join=="-")
|
||||
return(decto(left-right,carry))
|
||||
if (join=="*")
|
||||
return(decto(left*right,carry))
|
||||
if (join=="/" && right!=0)
|
||||
return(decto(left/right,carry))
|
||||
if (join=="%")
|
||||
return(decto(left%right,carry))
|
||||
if (join=="&")
|
||||
return(decto(left&right,carry))
|
||||
if (join=="|")
|
||||
return(decto(left|right,carry))
|
||||
if (join=="^")
|
||||
return(decto(Math.pow(left,right),carry))
|
||||
|
||||
if (join=="x")
|
||||
return(decto(left^right,carry))
|
||||
if (join=="<")
|
||||
return(decto(left<<right,carry))
|
||||
alert("除数不能为零")
|
||||
return(left)
|
||||
}
|
||||
|
||||
//函数计算
|
||||
|
||||
function funcalc(fun,num)
|
||||
{
|
||||
with(Math)
|
||||
{
|
||||
if (fun=="pi")
|
||||
return(PI)
|
||||
if (fun=="e")
|
||||
return(E)
|
||||
|
||||
if (fun=="abs")
|
||||
return(abs(num))
|
||||
if (fun=="ceil")
|
||||
return(ceil(num))
|
||||
if (fun=="round")
|
||||
return(round(num))
|
||||
|
||||
if (fun=="floor")
|
||||
return(floor(num))
|
||||
if (fun=="deci")
|
||||
return(num-floor(num))
|
||||
|
||||
|
||||
if (fun=="ln" && num>0)
|
||||
return(log(num))
|
||||
if (fun=="exp")
|
||||
return(exp(num))
|
||||
if (fun=="log" && num>0)
|
||||
return(log(num)*LOG10E)
|
||||
if (fun=="expdec")
|
||||
return(pow(10,num))
|
||||
|
||||
|
||||
if (fun=="cube")
|
||||
return(num*num*num)
|
||||
if (fun=="cubt")
|
||||
return(pow(num,1/3))
|
||||
if (fun=="sqr")
|
||||
return(num*num)
|
||||
if (fun=="sqrt" && num>=0)
|
||||
return(sqrt(num))
|
||||
|
||||
if (fun=="!")
|
||||
return(factorial(num))
|
||||
|
||||
if (fun=="recip" && num!=0)
|
||||
return(1/num)
|
||||
|
||||
if (fun=="dms")
|
||||
return(dms(num))
|
||||
if (fun=="deg")
|
||||
return(deg(num))
|
||||
|
||||
if (fun=="~")
|
||||
return(~num)
|
||||
|
||||
if (angle=="d")
|
||||
{
|
||||
if (fun=="sin")
|
||||
return(sin(degressToRadians(num)))
|
||||
if (fun=="cos")
|
||||
return(cos(degressToRadians(num)))
|
||||
if (fun=="tan")
|
||||
return(tan(degressToRadians(num)))
|
||||
|
||||
if (fun=="arcsin" && abs(num)<=1)
|
||||
return(radiansToDegress(asin(num)))
|
||||
if (fun=="arccos" && abs(num)<=1)
|
||||
return(radiansToDegress(acos(num)))
|
||||
if (fun=="arctan")
|
||||
return(radiansToDegress(atan(num)))
|
||||
}
|
||||
else
|
||||
{
|
||||
if (fun=="sin")
|
||||
return(sin(num))
|
||||
if (fun=="cos")
|
||||
return(cos(num))
|
||||
if (fun=="tan")
|
||||
return(tan(num))
|
||||
|
||||
if (fun=="arcsin" && abs(num)<=1)
|
||||
return(asin(num))
|
||||
if (fun=="arccos" && abs(num)<=1)
|
||||
return(acos(num))
|
||||
if (fun=="arctan")
|
||||
return(atan(num))
|
||||
}
|
||||
|
||||
if (fun=="hypsin")
|
||||
return((exp(num)-exp(0-num))*0.5)
|
||||
if (fun=="hypcos")
|
||||
return((exp(num)+exp(-num))*0.5)
|
||||
if (fun=="hyptan")
|
||||
return((exp(num)-exp(-num))/(exp(num)+exp(-num)))
|
||||
|
||||
if (fun=="ahypsin" | fun=="hypcos" | fun=="hyptan")
|
||||
{
|
||||
alert("对不起,公式还没有查到!")
|
||||
return(num)
|
||||
}
|
||||
|
||||
alert("超出函数定义范围")
|
||||
return(num)
|
||||
}
|
||||
}
|
||||
|
||||
function factorial(n)
|
||||
{
|
||||
n=Math.abs(parseInt(n))
|
||||
var fac=1
|
||||
for (;n>0;n-=1)
|
||||
fac*=n
|
||||
return(fac)
|
||||
}
|
||||
|
||||
function dms(n)
|
||||
{
|
||||
var neg=(n<0)
|
||||
with(Math)
|
||||
{
|
||||
n=abs(n)
|
||||
var d=floor(n)
|
||||
var m=floor(60*(n-d))
|
||||
var s=(n-d)*60-m
|
||||
}
|
||||
var dms=d+m/100+s*0.006
|
||||
if (neg)
|
||||
dms=-dms
|
||||
return(dms)
|
||||
}
|
||||
|
||||
function deg(n)
|
||||
{
|
||||
var neg=(n<0)
|
||||
with(Math)
|
||||
{
|
||||
n=abs(n)
|
||||
var d=floor(n)
|
||||
var m=floor((n-d)*100)
|
||||
var s=(n-d)*100-m
|
||||
}
|
||||
var deg=d+m/60+s/36
|
||||
if (neg)
|
||||
deg=-deg
|
||||
return(deg)
|
||||
}
|
||||
|
||||
function degressToRadians(degress)
|
||||
{
|
||||
return(degress*Math.PI/180)
|
||||
}
|
||||
|
||||
function radiansToDegress(radians)
|
||||
{
|
||||
return(radians*180/Math.PI)
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
function create(form) {
|
||||
var result;
|
||||
result = "<!-- Meta标签生成器 By Net://www.pcjson.com -->\n";
|
||||
if (form.title.value != "") {
|
||||
result += "<title>" +form.title.value + "</title>\n";
|
||||
}
|
||||
if (form.charset.value != "") {
|
||||
result += "<meta Net-equiv=\"Content-Type\" content=\"text/html; charset=" +form.charset.options[form.charset.selectedIndex].value + "\" />\n";
|
||||
}
|
||||
if (form.keyword.value != "") {
|
||||
result += "<meta name=\"Keywords\" content=\"" +form.keyword.value + "\" />\n";
|
||||
}
|
||||
if (form.descript.value != "") {
|
||||
result += "<meta name=\"Description\" content=\"" +form.descript.value + "\" />\n";
|
||||
}
|
||||
if (form.viewport.value != "") {
|
||||
if (form.viewport.value==2)
|
||||
{
|
||||
result += "<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no\" />\n";
|
||||
result += "<meta name=\"applicable-device\" content=\"pc,mobile\">\n";
|
||||
}else if (form.viewport.value==1){
|
||||
result += "<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no\" />\n";
|
||||
}
|
||||
}
|
||||
if (form.cache.value != "") {
|
||||
result += "<meta Net-equiv=\"pragma\" content=\"no-cache\" />\n";
|
||||
result += "<meta Net-equiv=\"cache-control\" content=\"no-cache\" />\n";
|
||||
}
|
||||
if (form.input10.value != "") {
|
||||
result += "<meta name=\"Copyright\" content=\"?" +form.input10.value + "\" />\n";
|
||||
}
|
||||
if (form.author.value != "") {
|
||||
result += "<meta name=\"Author\" content=\"" +form.author.value + "\" />\n";
|
||||
}
|
||||
if (form.input11.value != "") {
|
||||
result += "<meta name=\"Designer\" content=\"" +form.input11.value + "\" />\n";
|
||||
}
|
||||
if (form.input15.value != "") {
|
||||
result += "<meta name=\"Robots\" content=\"" +form.input15.options[form.input15.selectedIndex].value + "\" />\n";
|
||||
}
|
||||
hightout(result);
|
||||
}
|
||||
function Empty() {
|
||||
$("input").val("");
|
||||
$("#result").html("");
|
||||
is_hide();
|
||||
document.getElementById("title").select();
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
/*
|
||||
CryptoJS v3.0.2
|
||||
code.google.com/p/crypto-js
|
||||
(c) 2009-2012 by Jeff Mott. All rights reserved.
|
||||
code.google.com/p/crypto-js/wiki/License
|
||||
*/
|
||||
var CryptoJS = CryptoJS || function (h, o) {
|
||||
var f = {}, j = f.lib = {}, k = j.Base = function () { function a() { } return { extend: function (b) { a.prototype = this; var c = new a; b && c.mixIn(b); c.$super = this; return c }, create: function () { var a = this.extend(); a.init.apply(a, arguments); return a }, init: function () { }, mixIn: function (a) { for (var c in a) a.hasOwnProperty(c) && (this[c] = a[c]); a.hasOwnProperty("toString") && (this.toString = a.toString) }, clone: function () { return this.$super.extend(this) } } } (), i = j.WordArray = k.extend({ init: function (a, b) {
|
||||
a =
|
||||
this.words = a || []; this.sigBytes = b != o ? b : 4 * a.length
|
||||
}, toString: function (a) { return (a || p).stringify(this) }, concat: function (a) { var b = this.words, c = a.words, d = this.sigBytes, a = a.sigBytes; this.clamp(); if (d % 4) for (var e = 0; e < a; e++) b[d + e >>> 2] |= (c[e >>> 2] >>> 24 - 8 * (e % 4) & 255) << 24 - 8 * ((d + e) % 4); else if (65535 < c.length) for (e = 0; e < a; e += 4) b[d + e >>> 2] = c[e >>> 2]; else b.push.apply(b, c); this.sigBytes += a; return this }, clamp: function () { var a = this.words, b = this.sigBytes; a[b >>> 2] &= 4294967295 << 32 - 8 * (b % 4); a.length = h.ceil(b / 4) }, clone: function () {
|
||||
var a =
|
||||
k.clone.call(this); a.words = this.words.slice(0); return a
|
||||
}, random: function (a) { for (var b = [], c = 0; c < a; c += 4) b.push(4294967296 * h.random() | 0); return i.create(b, a) }
|
||||
}), l = f.enc = {}, p = l.Hex = { stringify: function (a) { for (var b = a.words, a = a.sigBytes, c = [], d = 0; d < a; d++) { var e = b[d >>> 2] >>> 24 - 8 * (d % 4) & 255; c.push((e >>> 4).toString(16)); c.push((e & 15).toString(16)) } return c.join("") }, parse: function (a) { for (var b = a.length, c = [], d = 0; d < b; d += 2) c[d >>> 3] |= parseInt(a.substr(d, 2), 16) << 24 - 4 * (d % 8); return i.create(c, b / 2) } }, n = l.Latin1 = { stringify: function (a) {
|
||||
for (var b =
|
||||
a.words, a = a.sigBytes, c = [], d = 0; d < a; d++) c.push(String.fromCharCode(b[d >>> 2] >>> 24 - 8 * (d % 4) & 255)); return c.join("")
|
||||
}, parse: function (a) { for (var b = a.length, c = [], d = 0; d < b; d++) c[d >>> 2] |= (a.charCodeAt(d) & 255) << 24 - 8 * (d % 4); return i.create(c, b) }
|
||||
}, q = l.Utf8 = { stringify: function (a) { try { return decodeURIComponent(escape(n.stringify(a))) } catch (b) { throw Error("Malformed UTF-8 data"); } }, parse: function (a) { return n.parse(unescape(encodeURIComponent(a))) } }, m = j.BufferedBlockAlgorithm = k.extend({ reset: function () {
|
||||
this._data = i.create();
|
||||
this._nDataBytes = 0
|
||||
}, _append: function (a) { "string" == typeof a && (a = q.parse(a)); this._data.concat(a); this._nDataBytes += a.sigBytes }, _process: function (a) { var b = this._data, c = b.words, d = b.sigBytes, e = this.blockSize, f = d / (4 * e), f = a ? h.ceil(f) : h.max((f | 0) - this._minBufferSize, 0), a = f * e, d = h.min(4 * a, d); if (a) { for (var g = 0; g < a; g += e) this._doProcessBlock(c, g); g = c.splice(0, a); b.sigBytes -= d } return i.create(g, d) }, clone: function () { var a = k.clone.call(this); a._data = this._data.clone(); return a }, _minBufferSize: 0
|
||||
}); j.Hasher = m.extend({ init: function () { this.reset() },
|
||||
reset: function () { m.reset.call(this); this._doReset() }, update: function (a) { this._append(a); this._process(); return this }, finalize: function (a) { a && this._append(a); this._doFinalize(); return this._hash }, clone: function () { var a = m.clone.call(this); a._hash = this._hash.clone(); return a }, blockSize: 16, _createHelper: function (a) { return function (b, c) { return a.create(c).finalize(b) } }, _createHmacHelper: function (a) { return function (b, c) { return r.HMAC.create(a, c).finalize(b) } }
|
||||
}); var r = f.algo = {}; return f
|
||||
} (Math);
|
||||
@@ -0,0 +1,53 @@
|
||||
function dataToTable() {
|
||||
//Make variables
|
||||
var lineSep1 = document.getElementById("lineSep1").checked;
|
||||
var lineSep2 = document.getElementById("lineSep2").checked;
|
||||
var lineSep3 = document.getElementById("lineSep3").checked;
|
||||
var lineSep4 = document.getElementById("lineSep4").checked;
|
||||
var lineSep5 = document.getElementById("lineSep5").checked;
|
||||
var lineSep6 = document.getElementById("lineSep6").checked;
|
||||
var lineSep7 = document.getElementById("lineSep7").value;
|
||||
//Get old text
|
||||
var oldText = document.getElementById("content").value;
|
||||
//Split into lines
|
||||
var oldTextArr = oldText.split("\n");
|
||||
var newText = "";
|
||||
//Get rid of quotes at beginning and end
|
||||
for (i = 0; i < oldTextArr.length; i++) {
|
||||
oldTextArr[i] = oldTextArr[i].replace(/\r/, "");
|
||||
oldTextArr[i] = oldTextArr[i].replace(/^\'/, "");
|
||||
oldTextArr[i] = oldTextArr[i].replace(/^\"/, "");
|
||||
oldTextArr[i] = oldTextArr[i].replace(/"$/, "");
|
||||
oldTextArr[i] = oldTextArr[i].replace(/'$/, "");
|
||||
oldTextArr[i] = "<tr><td>" + oldTextArr[i] + "</td></tr>";
|
||||
}
|
||||
//Separators
|
||||
if (lineSep1 == true) {
|
||||
var linesep = ",";
|
||||
} else if (lineSep2 == true) {
|
||||
var linesep = " ";
|
||||
} else if (lineSep3 == true) {
|
||||
var linesep = '" "';
|
||||
} else if (lineSep4 == true) {
|
||||
var linesep = '","';
|
||||
} else if (lineSep5 == true) {
|
||||
var linesep = "\\|";
|
||||
} else if (lineSep6 == true) {
|
||||
var linesep = ' ';
|
||||
} else {
|
||||
var linesep = ' ';
|
||||
}
|
||||
if (lineSep7 && lineSep7.length > 0) {
|
||||
var linesep = lineSep7;
|
||||
}
|
||||
//make table
|
||||
for (i = 0; i < oldTextArr.length; i++) {
|
||||
oldTextArr[i] = oldTextArr[i].replace(new RegExp(linesep, "gi"), "</td><td>");
|
||||
newText = newText + oldTextArr[i] + "\n";
|
||||
}
|
||||
newText = "<table>\n" + newText + "</table>\n";
|
||||
$("pre").show();
|
||||
$('#result').html(hljs.highlightAuto(newText).value);
|
||||
}
|
||||
$("pre").hide();
|
||||
function Empty() { $("#content").val(""); $("#result").html(""); $("#content").select();$("pre").hide(); }
|
||||
@@ -0,0 +1,87 @@
|
||||
function setSize(bit,byte1,kb,mb,gb,tb){
|
||||
$("#bitTxt").val(bit);
|
||||
$("#bytesTxt").val(byte1);
|
||||
$("#kbTxt").val(kb);
|
||||
$("#mbTxt").val(mb);
|
||||
$("#gbTxt").val(gb);
|
||||
$("#tbTxt").val(tb);
|
||||
}
|
||||
|
||||
$("#bitTxt").keyup(function(){
|
||||
var value = $(this).val();
|
||||
if(value=="")return;
|
||||
value = parseFloat(value);
|
||||
var bit = value;
|
||||
var byte1 = value/8;
|
||||
var kb = value/8/1024;
|
||||
var mb = value/8/1024/1024;
|
||||
var gb = value/8/1024/1024/1024;
|
||||
var tb = value/8/1024/1024/1024/1024;
|
||||
setSize(bit,byte1,kb,mb,gb,tb);
|
||||
})
|
||||
|
||||
$("#bytesTxt").keyup(function(){
|
||||
var value = $(this).val();
|
||||
if(value=="")return;
|
||||
value = parseFloat(value);
|
||||
var bit = value*8;
|
||||
var byte1 = value;
|
||||
var kb = value/1024;
|
||||
var mb = value/1024/1024;
|
||||
var gb = value/1024/1024/1024;
|
||||
var tb = value/1024/1024/1024/1024;
|
||||
setSize(bit,byte1,kb,mb,gb,tb);
|
||||
})
|
||||
|
||||
$("#kbTxt").keyup(function(){
|
||||
var value = $(this).val();
|
||||
if(value=="")return;
|
||||
value = parseFloat(value);
|
||||
var bit = value*8*1024;
|
||||
var byte1 = value*1024;
|
||||
var kb = value;
|
||||
var mb = value/1024;
|
||||
var gb = value/1024/1024;
|
||||
var tb = value/1024/1024/1024;
|
||||
setSize(bit,byte1,kb,mb,gb,tb);
|
||||
})
|
||||
|
||||
$("#mbTxt").keyup(function(){
|
||||
var value = $(this).val();
|
||||
if(value=="")return;
|
||||
value = parseFloat(value);
|
||||
var bit = value*8*1024*1024;
|
||||
var byte1 = value*1024*1024;
|
||||
var kb = value*1024;
|
||||
var mb = value;
|
||||
var gb = value/1024;
|
||||
var tb = value/1024/1024;
|
||||
setSize(bit,byte1,kb,mb,gb,tb);
|
||||
})
|
||||
|
||||
$("#gbTxt").keyup(function(){
|
||||
var value = $(this).val();
|
||||
if(value=="")return;
|
||||
value = parseFloat(value);
|
||||
var bit = value*8*1024*1024*1024;
|
||||
var byte1 = value*1024*1024*1024;
|
||||
var kb = value*1024*1024;
|
||||
var mb = value*1024;
|
||||
var gb = value;
|
||||
var tb = value/1024;
|
||||
setSize(bit,byte1,kb,mb,gb,tb);
|
||||
})
|
||||
|
||||
$("#tbTxt").keyup(function(){
|
||||
var value = $(this).val();
|
||||
if(value=="")return;
|
||||
value = parseFloat(value);
|
||||
var bit = value*8*1024*1024*1024*1024;
|
||||
var byte1 = value*1024*1024*1024*1024;
|
||||
var kb = value*1024*1024*1024;
|
||||
var mb = value*1024*1024;
|
||||
var gb = value*1024;
|
||||
var tb = value;
|
||||
setSize(bit,byte1,kb,mb,gb,tb);
|
||||
})
|
||||
|
||||
@@ -0,0 +1,62 @@
|
||||
function encrypt() {
|
||||
var ret='';
|
||||
switch (jQuery('input[name="encrypt_type"]:checked').val()||$('input[name="encrypt_type"]').val()) {
|
||||
case "aes":
|
||||
ret = CryptoJS.AES.encrypt(jQuery("#content").val(), jQuery("#pwd").val());
|
||||
break;
|
||||
case "des":
|
||||
ret = CryptoJS.DES.encrypt(jQuery("#content").val(), jQuery("#pwd").val());
|
||||
break;
|
||||
case "rabbit":
|
||||
ret = CryptoJS.Rabbit.encrypt(jQuery("#content").val(), jQuery("#pwd").val());
|
||||
break;
|
||||
case "rc4":
|
||||
ret = CryptoJS.RC4.encrypt(jQuery("#content").val(), jQuery("#pwd").val());
|
||||
break;
|
||||
case "tripledes":
|
||||
ret = CryptoJS.TripleDES.encrypt(jQuery("#content").val(), jQuery("#pwd").val());
|
||||
break;
|
||||
}
|
||||
hightout(ret.toString());
|
||||
}
|
||||
|
||||
function decrypt() {
|
||||
switch (jQuery('input[name="encrypt_type"]:checked').val()||$('input[name="encrypt_type"]').val()) {
|
||||
case "aes":
|
||||
hightout(CryptoJS.AES.decrypt(jQuery("#content").val(), jQuery("#pwd").val()).toString(CryptoJS.enc.Utf8));
|
||||
break;
|
||||
case "des":
|
||||
hightout(CryptoJS.DES.decrypt(jQuery("#content").val(), jQuery("#pwd").val()).toString(CryptoJS.enc.Utf8));
|
||||
break;
|
||||
case "rabbit":
|
||||
hightout(CryptoJS.Rabbit.decrypt(jQuery("#content").val(), jQuery("#pwd").val()).toString(CryptoJS.enc.Utf8));
|
||||
break;
|
||||
case "rc4":
|
||||
hightout(CryptoJS.RC4.decrypt(jQuery("#content").val(), jQuery("#pwd").val()).toString(CryptoJS.enc.Utf8));
|
||||
break;
|
||||
case "tripledes":
|
||||
hightout(CryptoJS.TripleDES.decrypt(jQuery("#content").val(), jQuery("#pwd").val()).toString(CryptoJS.enc.Utf8));
|
||||
break;
|
||||
}
|
||||
}
|
||||
function sha_encrypt(type, flag) {
|
||||
if (!flag) $(".buttonSelected").removeClass("buttonSelected");
|
||||
switch (type) {
|
||||
case "sha1":
|
||||
hightout(CryptoJS.SHA1($("#content").val()).toString());
|
||||
break;
|
||||
case "sha256":
|
||||
hightout(CryptoJS.SHA256($("#content").val()).toString());
|
||||
break;
|
||||
case "sha512":
|
||||
hightout(CryptoJS.SHA512($("#content").val()).toString());
|
||||
break;
|
||||
}
|
||||
}
|
||||
function resetAll() {
|
||||
$("#pwd").val("");
|
||||
$("#content").val("");
|
||||
$("#result").html("");
|
||||
document.getElementById("content").select();
|
||||
$("pre").hide();
|
||||
}
|
||||
@@ -0,0 +1,76 @@
|
||||
$("#testcase").click(function () {
|
||||
$("#content").val("sitename web url shorturl\nJson在线解析工具 pcjson.com http://www.pcjson.com pcjson.com\nJson在线解析工具 pcjson.com http://www.pcjson.com pcjson.com\nJson在线解析工具 pcjson.com http://www.pcjson.com pcjson.com\nJson在线解析工具 pcjson.com http://www.pcjson.com pcjson.com\nJson在线解析工具 pcjson.com http://www.pcjson.com pcjson.com");
|
||||
});
|
||||
function c(t, o) {
|
||||
$("#ctype").val(t);
|
||||
$("#sels").text($(o).text());
|
||||
}
|
||||
var fgf = /\t/;
|
||||
function ctyperow() {
|
||||
if ($("#fgfstr").val() == "") {
|
||||
fgf = /\t/;
|
||||
}
|
||||
fgf = $("#fgfstr").val() || fgf;
|
||||
var ctype = $("#ctype").val();
|
||||
var txt = $("#content").val();
|
||||
var datas = txt.split("\n");
|
||||
var html = "[\n";
|
||||
var keys = [];
|
||||
for (var i = 0; i < datas.length; i++) {
|
||||
var ds = datas[i].split(fgf);
|
||||
if (i == 0) {
|
||||
|
||||
if (ctype == "0") {
|
||||
keys = ds;
|
||||
} else {
|
||||
html += "[";
|
||||
for (var j = 0; j < ds.length; j++) {
|
||||
html += '"' + ds[j] + '"';
|
||||
if (j < ds.length - 1) {
|
||||
html += ",";
|
||||
}
|
||||
}
|
||||
html += "],\n";
|
||||
}
|
||||
} else {
|
||||
if (ds.length == 0) continue;
|
||||
if (ds.length == 1) {
|
||||
ds[0] == "";
|
||||
continue;
|
||||
}
|
||||
html += ctype == "0" ? "{" : "[";
|
||||
for (var j = 0; j < ds.length; j++) {
|
||||
var d = ds[j];
|
||||
if (d == "") continue;
|
||||
if (ctype == "0") {
|
||||
html += '"' + keys[j] + '":"' + d + '"';
|
||||
} else {
|
||||
html += '"' + d + '"';
|
||||
}
|
||||
if (j < ds.length - 1) {
|
||||
html += ',';
|
||||
}
|
||||
}
|
||||
html += ctype == "0" ? "}" : "]";
|
||||
if (i < datas.length - 1)
|
||||
html += ",\n";
|
||||
}
|
||||
}
|
||||
html += "\n]";
|
||||
hightout(html);
|
||||
}
|
||||
$("#content").bind("change1", function () {
|
||||
var ctype = $("#ctype").val();
|
||||
var txt = "";
|
||||
if (ctype == "0") {
|
||||
txt = ctype0();
|
||||
}
|
||||
})
|
||||
$("#changebtn").click(function () {
|
||||
ctyperow(true);
|
||||
});
|
||||
function Empty() {
|
||||
$("#content").val("");
|
||||
$("#result").html("");
|
||||
$("#content").select();
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,226 @@
|
||||
$(function()
|
||||
{
|
||||
const emptyInputMsg = "请输入要转为go结构体的Json";
|
||||
const emptyOutputMsg = "这里显示转换后的Golang结构体";
|
||||
const formattedEmptyInputMsg = ''+emptyInputMsg+'';
|
||||
const formattedEmptyOutputMsg = ''+emptyOutputMsg+'';
|
||||
|
||||
__=['\x23\x69\x6e\x70\x75\x74',"\x76\x61\x6c","\x74\x72\x69\x6d",'\x23\x6f\x75\x74\x70\x75\x74',"\x68\x74\x6d\x6c","",'\x23\x69\x6e\x6c\x69\x6e\x65',"\x69\x73",'\x3a\x63\x68\x65\x63\x6b\x65\x64',"\x65\x72\x72\x6f\x72",'\x3c\x73\x70\x61\x6e \x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x72\x2d\x72\x65\x64\x22\x3e','\x3c\x2f\x73\x70\x61\x6e\x3e',"\x6c\x6f\x67","\x45\x52\x52\x4f\x52\x3a","\x6d\x61\x74\x63\x68","\x6c\x65\x6e\x67\x74\x68","\x67\x6f",'\x66\x75\x6e\x63\x74\x69\x6f\x6e',"\x68\x69\x67\x68\x6c\x69\x67\x68\x74","\x76\x61\x6c\x75\x65"];function doConversion(){var QWPX1 = $(__[0])[__[1]]()[__[2]]();if (!QWPX1 || QWPX1 == emptyInputMsg){$(__[3])[__[4]](formattedEmptyOutputMsg);return;};let output = jsonToGo(QWPX1, __[5], !$(__[6])[__[7]](__[8]), false);if (output[__[9]]){$(__[3])[__[4]](__[10]+output[__[9]]+__[11]);console[__[12]](__[13], output, output[__[9]]);var UTMENsHr2 = output[__[9]][__[14]](/Unexpected token .+ in JSON at position (\d+)/);if (UTMENsHr2) {try {var JTwdRb$OM3 = UTMENsHr2[__[15]] == 2 && UTMENsHr2[1] && window["\x70\x61\x72\x73\x65\x49\x6e\x74"](UTMENsHr2[1]);JTwdRb$OM3 && $(__[3])[__[4]](constructJSONErrorHTML(output[__[9]], JTwdRb$OM3, QWPX1));} catch(e) {};}}else{var drrp4 = output[__[16]];if (typeof gofmt === __[17]);drrp4 = gofmt(output[__[16]]);var q5 = hljs[__[18]](__[16], drrp4);$(__[3])[__[4]](q5[__[19]]);}}
|
||||
$('#input').on('focus', function()
|
||||
{
|
||||
var val = $(this).text();
|
||||
if (!val)
|
||||
{
|
||||
$(this).html(formattedEmptyInputMsg);
|
||||
$('#output').html(formattedEmptyOutputMsg);
|
||||
}else if (val == emptyInputMsg){
|
||||
$(this).html("");
|
||||
}
|
||||
});
|
||||
|
||||
$('#input').on('blur', function()
|
||||
{
|
||||
var val = $(this).text();
|
||||
if (!val)
|
||||
{
|
||||
$(this).html(formattedEmptyInputMsg);
|
||||
$('#output').html(formattedEmptyOutputMsg);
|
||||
}
|
||||
}).blur();
|
||||
|
||||
$('#input').keydown(function(e)
|
||||
{
|
||||
if (e.keyCode == 9)
|
||||
{
|
||||
document.execCommand('insertHTML', false, '	');
|
||||
e.preventDefault();
|
||||
}
|
||||
});
|
||||
|
||||
$('#input').keyup(function()
|
||||
{
|
||||
doConversion();
|
||||
});
|
||||
$('#json2go').click(function()
|
||||
{
|
||||
doConversion();
|
||||
});
|
||||
$('#inline').change(function()
|
||||
{
|
||||
doConversion();
|
||||
})
|
||||
|
||||
$('#output').click(function()
|
||||
{
|
||||
if (document.selection)
|
||||
{
|
||||
var range = document.body.createTextRange();
|
||||
range.moveToElementText(this);
|
||||
range.select();
|
||||
}else if (window.getSelection){
|
||||
var range = document.createRange();
|
||||
range.selectNode(this);
|
||||
var sel = window.getSelection();
|
||||
sel.removeAllRanges();
|
||||
sel.addRange(range);
|
||||
}
|
||||
});
|
||||
|
||||
$('#sample1').click(function()
|
||||
{
|
||||
$('#input').val(stringify(sampleJson1)).keyup();
|
||||
});
|
||||
$('#sample2').click(function()
|
||||
{
|
||||
$('#input').val(stringify(sampleJson2)).keyup();
|
||||
});
|
||||
|
||||
var dark = false;
|
||||
$("#dark").click(function()
|
||||
{
|
||||
if(!dark)
|
||||
{
|
||||
$("head").append("<link rel='stylesheet' href='resources/css/dark.css' id='dark-css'>");
|
||||
$("#dark").html("light mode");
|
||||
} else
|
||||
{
|
||||
$("#dark-css").remove();
|
||||
$("#dark").html("dark mode");
|
||||
}
|
||||
dark = !dark;
|
||||
});
|
||||
|
||||
$("#copy-btn").click(function() {
|
||||
var elm = document.getElementById("output");
|
||||
|
||||
if(document.body.createTextRange) {
|
||||
var range = document.body.createTextRange();
|
||||
range.moveToElementText(elm);
|
||||
range.select();
|
||||
document.execCommand("Copy");
|
||||
} else if(window.getSelection) {
|
||||
var selection = window.getSelection();
|
||||
var range = document.createRange();
|
||||
range.selectNodeContents(elm);
|
||||
selection.removeAllRanges();
|
||||
selection.addRange(range);
|
||||
document.execCommand("Copy");
|
||||
}
|
||||
})
|
||||
});
|
||||
|
||||
function constructJSONErrorHTML(rawErrorMessage, errorIndex, json) {
|
||||
var errorHeading = '<p><span class="clr-red">'+ rawErrorMessage +'</span><p>';
|
||||
var markedPart = '<span class="json-go-faulty-char">' + json[errorIndex] + '</span>';
|
||||
var markedJsonString = [json.slice(0, errorIndex), markedPart, json.slice(errorIndex+1)].join('');
|
||||
var jsonStringLines = markedJsonString.split(/\n/);
|
||||
for(var i = 0; i < jsonStringLines.length; i++) {
|
||||
|
||||
if(jsonStringLines[i].indexOf('<span class="json-go-faulty-char">') > -1){
|
||||
var wrappedLine = '<div class="faulty-line">' + jsonStringLines[i] + '</div>';
|
||||
}else{
|
||||
var wrappedLine = '<div>' + jsonStringLines[i] + '</div>';
|
||||
}
|
||||
jsonStringLines[i] = wrappedLine;
|
||||
}
|
||||
return (errorHeading + jsonStringLines.join(''));
|
||||
}
|
||||
|
||||
function stringify(json)
|
||||
{
|
||||
return JSON.stringify(json, null, "\t");
|
||||
}
|
||||
|
||||
var sampleJson1 = [
|
||||
{
|
||||
"input_index": 0,
|
||||
"candidate_index": 0,
|
||||
"delivery_line_1": "1 N Rosedale St",
|
||||
"last_line": "Baltimore MD 21229-3737",
|
||||
"delivery_point_barcode": "212293737013",
|
||||
"components": {
|
||||
"primary_number": "1",
|
||||
"street_predirection": "N",
|
||||
"street_name": "Rosedale",
|
||||
"street_suffix": "St",
|
||||
"city_name": "Baltimore",
|
||||
"state_abbreviation": "MD",
|
||||
"zipcode": "21229",
|
||||
"plus4_code": "3737",
|
||||
"delivery_point": "01",
|
||||
"delivery_point_check_digit": "3"
|
||||
},
|
||||
"metadata": {
|
||||
"record_type": "S",
|
||||
"zip_type": "Standard",
|
||||
"county_fips": "24510",
|
||||
"county_name": "Baltimore City",
|
||||
"carrier_route": "C047",
|
||||
"congressional_district": "07",
|
||||
"rdi": "Residential",
|
||||
"elot_sequence": "0059",
|
||||
"elot_sort": "A",
|
||||
"latitude": 39.28602,
|
||||
"longitude": -76.6689,
|
||||
"precision": "Zip9",
|
||||
"time_zone": "Eastern",
|
||||
"utc_offset": -5,
|
||||
"dst": true
|
||||
},
|
||||
"analysis": {
|
||||
"dpv_match_code": "Y",
|
||||
"dpv_footnotes": "AABB",
|
||||
"dpv_cmra": "N",
|
||||
"dpv_vacant": "N",
|
||||
"active": "Y"
|
||||
}
|
||||
},
|
||||
{
|
||||
"input_index": 0,
|
||||
"candidate_index": 1,
|
||||
"delivery_line_1": "1 S Rosedale St",
|
||||
"last_line": "Baltimore MD 21229-3739",
|
||||
"delivery_point_barcode": "212293739011",
|
||||
"components": {
|
||||
"primary_number": "1",
|
||||
"street_predirection": "S",
|
||||
"street_name": "Rosedale",
|
||||
"street_suffix": "St",
|
||||
"city_name": "Baltimore",
|
||||
"state_abbreviation": "MD",
|
||||
"zipcode": "21229",
|
||||
"plus4_code": "3739",
|
||||
"delivery_point": "01",
|
||||
"delivery_point_check_digit": "1"
|
||||
},
|
||||
"metadata": {
|
||||
"record_type": "S",
|
||||
"zip_type": "Standard",
|
||||
"county_fips": "24510",
|
||||
"county_name": "Baltimore City",
|
||||
"carrier_route": "C047",
|
||||
"congressional_district": "07",
|
||||
"rdi": "Residential",
|
||||
"elot_sequence": "0064",
|
||||
"elot_sort": "A",
|
||||
"latitude": 39.2858,
|
||||
"longitude": -76.66889,
|
||||
"precision": "Zip9",
|
||||
"time_zone": "Eastern",
|
||||
"utc_offset": -5,
|
||||
"dst": true
|
||||
},
|
||||
"analysis": {
|
||||
"dpv_match_code": "Y",
|
||||
"dpv_footnotes": "AABB",
|
||||
"dpv_cmra": "N",
|
||||
"dpv_vacant": "N",
|
||||
"active": "Y"
|
||||
}
|
||||
}
|
||||
];
|
||||
function Empty(){
|
||||
$("#input").val('');
|
||||
$("#output").html('');
|
||||
|
||||
}
|
||||
@@ -0,0 +1,148 @@
|
||||
// bases.js
|
||||
// Utility for converting numbers to/from different bases/alphabets.
|
||||
// See README.md for details.
|
||||
|
||||
var bases = (typeof exports !== 'undefined' ? exports : (window.Bases = {}));
|
||||
|
||||
// Returns a string representation of the given number for the given alphabet:
|
||||
bases.toAlphabet = function (num, alphabet) {
|
||||
var base = alphabet.length;
|
||||
var digits = []; // these will be in reverse order since arrays are stacks
|
||||
|
||||
// execute at least once, even if num is 0, since we should return the '0':
|
||||
do {
|
||||
digits.push(num % base); // TODO handle negatives properly?
|
||||
num = Math.floor(num / base);
|
||||
} while (num > 0);
|
||||
|
||||
var chars = [];
|
||||
while (digits.length) {
|
||||
chars.push(alphabet[digits.pop()]);
|
||||
}
|
||||
return chars.join('');
|
||||
};
|
||||
|
||||
// Returns an integer representation of the given string for the given alphabet:
|
||||
bases.fromAlphabet = function (str, alphabet) {
|
||||
var base = alphabet.length;
|
||||
var pos = 0;
|
||||
var num = 0;
|
||||
var c;
|
||||
|
||||
while (str.length) {
|
||||
c = str[str.length - 1];
|
||||
str = str.substr(0, str.length - 1);
|
||||
num += Math.pow(base, pos) * alphabet.indexOf(c);
|
||||
pos++;
|
||||
}
|
||||
|
||||
return num;
|
||||
};
|
||||
|
||||
// Known alphabets:
|
||||
bases.NUMERALS = '0123456789';
|
||||
bases.LETTERS_LOWERCASE = 'abcdefghijklmnopqrstuvwxyz';
|
||||
bases.LETTERS_UPPERCASE = bases.LETTERS_LOWERCASE.toUpperCase();
|
||||
bases.KNOWN_ALPHABETS = {};
|
||||
|
||||
// Each of the number ones, starting from base-2 (base-1 doesn't make sense?):
|
||||
for (var i = 2; i <= 10; i++) {
|
||||
bases.KNOWN_ALPHABETS[i] = bases.NUMERALS.substr(0, i);
|
||||
}
|
||||
|
||||
// Node's native hex is 0-9 followed by *lowercase* a-f, so we'll take that
|
||||
// approach for everything from base-11 to base-16:
|
||||
for (var i = 11; i <= 16; i++) {
|
||||
bases.KNOWN_ALPHABETS[i] = bases.NUMERALS + bases.LETTERS_LOWERCASE.substr(0, i - 10);
|
||||
}
|
||||
|
||||
// We also model base-36 off of that, just using the full letter alphabet:
|
||||
bases.KNOWN_ALPHABETS[36] = bases.NUMERALS + bases.LETTERS_LOWERCASE;
|
||||
|
||||
// And base-62 will be the uppercase letters added:
|
||||
bases.KNOWN_ALPHABETS[62] = bases.NUMERALS + bases.LETTERS_LOWERCASE + bases.LETTERS_UPPERCASE;
|
||||
|
||||
// For base-26, we'll assume the user wants just the letter alphabet:
|
||||
bases.KNOWN_ALPHABETS[26] = bases.LETTERS_LOWERCASE;
|
||||
|
||||
// We'll also add a similar base-52, just letters, lowercase then uppercase:
|
||||
bases.KNOWN_ALPHABETS[52] = bases.LETTERS_LOWERCASE + bases.LETTERS_UPPERCASE;
|
||||
|
||||
// Base-64 is a formally-specified alphabet that has a particular order:
|
||||
// http://en.wikipedia.org/wiki/Base64 (and Node.js follows this too)
|
||||
// TODO FIXME But our code above doesn't add padding! Don't use this yet...
|
||||
bases.KNOWN_ALPHABETS[64] = bases.LETTERS_UPPERCASE + bases.LETTERS_LOWERCASE + bases.NUMERALS + '+/';
|
||||
|
||||
// Flickr and others also have a base-58 that removes confusing characters, but
|
||||
// there isn't consensus on the order of lowercase vs. uppercase... =/
|
||||
// http://www.flickr.com/groups/api/discuss/72157616713786392/
|
||||
// https://en.bitcoin.it/wiki/Base58Check_encoding#Base58_symbol_chart
|
||||
// https://github.com/dougal/base58/blob/master/lib/base58.rb
|
||||
// http://icoloma.blogspot.com/2010/03/create-your-own-bitly-using-base58.html
|
||||
// We'll arbitrarily stay consistent with the above and using lowercase first:
|
||||
bases.KNOWN_ALPHABETS[58] = bases.KNOWN_ALPHABETS[62].replace(/[0OlI]/g, '');
|
||||
|
||||
// And Douglas Crockford shared a similar base-32 from base-36:
|
||||
// http://www.crockford.com/wrmg/base32.html
|
||||
// Unlike our base-36, he explicitly specifies uppercase letters
|
||||
bases.KNOWN_ALPHABETS[32] = bases.NUMERALS + bases.LETTERS_UPPERCASE.replace(/[ILOU]/g, '');
|
||||
|
||||
// Closure helper for convenience aliases like bases.toBase36():
|
||||
function makeAlias(base, alphabet) {
|
||||
bases['toBase' + base] = function (num) {
|
||||
return bases.toAlphabet(num, alphabet);
|
||||
};
|
||||
bases['fromBase' + base] = function (str) {
|
||||
return bases.fromAlphabet(str, alphabet);
|
||||
};
|
||||
}
|
||||
|
||||
// Do this for all known alphabets:
|
||||
for (var base in bases.KNOWN_ALPHABETS) {
|
||||
if (bases.KNOWN_ALPHABETS.hasOwnProperty(base)) {
|
||||
makeAlias(base, bases.KNOWN_ALPHABETS[base]);
|
||||
}
|
||||
}
|
||||
|
||||
// And a generic alias too:
|
||||
bases.toBase = function (num, base) {
|
||||
return bases.toAlphabet(num, bases.KNOWN_ALPHABETS[base]);
|
||||
};
|
||||
|
||||
bases.fromBase = function (str, base) {
|
||||
return bases.fromAlphabet(str, bases.KNOWN_ALPHABETS[base]);
|
||||
};
|
||||
|
||||
|
||||
(function ($) {
|
||||
var hex_more = $('#hex_more');
|
||||
$('.js-hex').on('click', function (e) {
|
||||
hex_more.val($(this).val());
|
||||
});
|
||||
$('#main_form').on('submit', function (e) {
|
||||
e.preventDefault();
|
||||
var num = $('#num').val();
|
||||
var hex = hex_more.val();
|
||||
var num = bases.fromBase(num, hex);
|
||||
$('#base_2').val(bases.toBase(num, 2));
|
||||
$('#base_8').val(bases.toBase(num, 8));
|
||||
$('#base_10').val(bases.toBase(num, 10));
|
||||
$('#base_16').val(bases.toBase(num, 16));
|
||||
$('#base_32').val(bases.toBase(num, 32));
|
||||
$('#base_58').val(bases.toBase(num, 58));
|
||||
$('#base_62').val(bases.toBase(num, 62));
|
||||
$('#base_64').val(bases.toBase(num, 64));
|
||||
});
|
||||
})(jQuery);
|
||||
|
||||
function empty(){
|
||||
$('#num').val("");
|
||||
$('#base_2').val("");
|
||||
$('#base_8').val("");
|
||||
$('#base_10').val("");
|
||||
$('#base_16').val("");
|
||||
$('#base_32').val("");
|
||||
$('#base_58').val("");
|
||||
$('#base_62').val("");
|
||||
$('#base_64').val("");
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
function htaccess2nginx(t) {
|
||||
var text = $("#content").val();
|
||||
return text.length <= 0 ? (pcjson_com_msg($("#content"), "请输入要转换的htaccess"), $("#content").focus(), !1) : 6e3 < text.length ? (pcjson_com_msg($("#content"), "htaccess内容长度不能超过6000!"), $("#content").focus(), !1) : (void $(function () {
|
||||
if(text==''){
|
||||
return;//empty error
|
||||
}
|
||||
var nginx = RewriteConf.convert(text);
|
||||
hightout("# nginx configuration by "+window.location.host+"\n\n"+nginx);
|
||||
}))
|
||||
}
|
||||
|
||||
@@ -0,0 +1,182 @@
|
||||
|
||||
function tojs() {
|
||||
var v ="var sd=\'" + $("#content").val().replace(/\\/g, "\\").replace(/\\/g, "\\/").replace(/\'/g, "\"").replace(/\"/g, "\"").split('\n').join("\';\nsd+=\'") + "\';";
|
||||
hightout(v);
|
||||
}
|
||||
function tohtml() {
|
||||
var v = $("#content").val().replace(/var sd=\"/g, "").replace(/sd\+\=\"/g, "").replace(/"\;/g, "").replace(/\\\"/g, "\"").replace(/\\\'/g, "\'").replace(/\\\//g, "\/").replace(/\\\\/g, "\\")
|
||||
$("pre").show();
|
||||
$('#result').html(hljs.highlightAuto(v).value);
|
||||
}
|
||||
function htmltoarray() {
|
||||
var contentstr = $("#content").val();
|
||||
var v="[\'" + contentstr.replace(/\\/g, "\\").replace(/\\/g, "\\/").replace(/\'/g, "\"").replace(/\"/g, "\"").split('\n').join("\',\'") + "\']";
|
||||
hightout(v);
|
||||
}
|
||||
function tohtml() {
|
||||
var v = $("#content").val().replace(/document.writeln\("/g, "").replace(/"\);/g, "").replace(/\\\"/g, "\"").replace(/\\\'/g, "\'").replace(/\\\//g, "\/").replace(/\\\\/g, "\\");
|
||||
hightout(v);
|
||||
}
|
||||
function tojs() {
|
||||
var v = "document.writeln(\"" + $("#content").val().replace(/\\/g, "\\\\").replace(/\\/g, "\\/").replace(/\'/g, "\\\'").replace(/\"/g, "\\\"").split('\n').join("\");\ndocument.writeln(\"") + "\");"
|
||||
hightout(v);
|
||||
}
|
||||
function tojsp() { var input = $("#content").val(); if (input == "") { hightout("<%\n%>") } else { output = "out.println(\""; for (var c = 0; c < input.length; c++) { if ((input.charAt(c) == "\n" || input.charAt(c) == "\r")) { output += "\");"; if (c != input.length - 1) output += "\nout.println(\""; c++ } else { if (input.charAt(c) == "\"") { output += "\\\"" } else { if (input.charAt(c) == "\\") { output += "\\\\" } else { output += input.charAt(c); if (c == input.length - 1) output += "\");" } } } } hightout("<%\n" + output + "\n%>") } }
|
||||
function tocsharp() { hightout("StringBuilder sb = new StringBuilder();\nsb.AppendFormat(\"" + $("#content").val().replace(/\\/g, "\\\\").replace(/\\/g, "\\/").replace(/\'/g, "\\\'").replace(/\"/g, "\\\"").split('\n').join("\");\nsb.AppendFormat(\"") + "\");") }
|
||||
|
||||
function asp() {
|
||||
var input = document.getElementById("content").value;
|
||||
if (input == "") {
|
||||
hightout("<%\n%>")
|
||||
} else {
|
||||
output = "Response.Write \"";
|
||||
for (var c = 0; c < input.length; c++) {
|
||||
if ((input.charAt(c) == "\n" || input.charAt(c) == "\r")) {
|
||||
output += "\"";
|
||||
if (c != input.length - 1) output += "\nResponse.Write \"";
|
||||
c++
|
||||
} else {
|
||||
if (input.charAt(c) == "\"") {
|
||||
output += "\"\""
|
||||
} else {
|
||||
if (input.charAt(c) == "\\") {
|
||||
output += "\\\\"
|
||||
} else {
|
||||
output += input.charAt(c);
|
||||
if (c == input.length - 1) output += "\""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
hightout("<%\n" + output + "\n%>");
|
||||
}
|
||||
}
|
||||
function php() {
|
||||
var input = document.getElementById("content").value;
|
||||
if (input == "") {
|
||||
hightout("<?php\n?>");
|
||||
} else {
|
||||
output = "echo \"";
|
||||
for (var c = 0; c < input.length; c++) {
|
||||
if ((input.charAt(c) == "\n" || input.charAt(c) == "\r")) {
|
||||
output += "\\n\";";
|
||||
if (c != input.length - 1) output += "\necho \"";
|
||||
c++
|
||||
} else {
|
||||
if (input.charAt(c) == "\"") {
|
||||
output += "\\\""
|
||||
} else {
|
||||
if (input.charAt(c) == "\\") {
|
||||
output += "\\\\"
|
||||
} else {
|
||||
output += input.charAt(c);
|
||||
if (c == input.length - 1) output += "\\n\";"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
hightout("<?php\n" + output + "\n?>");
|
||||
}
|
||||
}
|
||||
function Perl() {
|
||||
var input = document.getElementById("content").value;
|
||||
if (input == "") {
|
||||
hightout('hello world!');
|
||||
} else {
|
||||
output = "print \"";
|
||||
for (var c = 0; c < input.length; c++) {
|
||||
if ((input.charAt(c) == "\n" || input.charAt(c) == "\r")) {
|
||||
output += "\\n\";";
|
||||
if (c != input.length - 1) output += "\nprint \"";
|
||||
c++
|
||||
} else {
|
||||
if (input.charAt(c) == "\"") {
|
||||
output += "\\\""
|
||||
} else {
|
||||
if (input.charAt(c) == "\\") {
|
||||
output += "\\\\"
|
||||
} else {
|
||||
output += input.charAt(c);
|
||||
if (c == input.length - 1) output += "\\n\";"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
hightout(output);
|
||||
}
|
||||
}
|
||||
function vbnet() {
|
||||
var input = document.getElementById("content").value;
|
||||
if (input == "") {
|
||||
hightout("<%\n%>");
|
||||
} else {
|
||||
output = "Response.Write (\"";
|
||||
for (var c = 0; c < input.length; c++) {
|
||||
if ((input.charAt(c) == "\n" || input.charAt(c) == "\r")) {
|
||||
output += "\");";
|
||||
if (c != input.length - 1) output += "\nResponse.Write (\"";
|
||||
c++
|
||||
} else {
|
||||
if (input.charAt(c) == "\"") {
|
||||
output += "\"\""
|
||||
} else {
|
||||
if (input.charAt(c) == "\\") {
|
||||
output += "\\\\"
|
||||
} else {
|
||||
output += input.charAt(c);
|
||||
if (c == input.length - 1) output += "\");"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
hightout("<%\n" + output + "\n%>");
|
||||
}
|
||||
}
|
||||
function Sws() {
|
||||
var input = document.getElementById("content").value;
|
||||
if (input == "") {
|
||||
hightout(output);
|
||||
} else {
|
||||
output = "STRING \"";
|
||||
for (var c = 0; c < input.length; c++) {
|
||||
if ((input.charAt(c) == "\n" || input.charAt(c) == "\r")) {
|
||||
output += "\"";
|
||||
if (c != input.length - 1) output += "\nSTRING \"";
|
||||
c++
|
||||
} else {
|
||||
if (input.charAt(c) == "\"") {
|
||||
output += "\\\""
|
||||
} else {
|
||||
if (input.charAt(c) == "\\") {
|
||||
output += "\\\\"
|
||||
} else {
|
||||
output += input.charAt(c);
|
||||
if (c == input.length - 1) output += "\""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
hightout(output);
|
||||
}
|
||||
}
|
||||
function htmlCov(type) {
|
||||
hightout('');
|
||||
if (type == "javascript") {
|
||||
javascript()
|
||||
} else if (type == "asp") {
|
||||
asp()
|
||||
} else if (type == 'php') {
|
||||
php()
|
||||
} else if (type == 'perl') {
|
||||
Perl()
|
||||
} else if (type == 'sws') {
|
||||
Sws()
|
||||
} else if (type == 'vbnet') {
|
||||
vbnet()
|
||||
}
|
||||
}
|
||||
function hightout(v){
|
||||
$("pre").show();
|
||||
$('#result').html(hljs.highlightAuto(v).value);
|
||||
}
|
||||
function Empty() { $("#content").val(""); $("#result").html(''); $("#content").select();$("pre").hide(); }
|
||||
@@ -0,0 +1 @@
|
||||
function htmltoubb() { hightout(pattern($("#content").val())) } function ubbtohtml() { hightout(up($("#content").val())) } function pattern(str) { str = str.replace(/<br[^>]*>/ig, '\n'); str = str.replace(/<p[^>\/]*\/>/ig, '\n'); str = str.replace(/\son[\w]{3,16}\s?=\s*([\'\"]).+?\1/ig, ''); str = str.replace(/<hr[^>]*>/ig, '[hr]'); str = str.replace(/<(sub|sup|u|strike|b|i|pre)>/ig, '[$1]'); str = str.replace(/<\/(sub|sup|u|strike|b|i|pre)>/ig, '[/$1]'); str = str.replace(/<(\/)?strong>/ig, '[$1b]'); str = str.replace(/<(\/)?em>/ig, '[$1i]'); str = str.replace(/<(\/)?blockquote([^>]*)>/ig, '[$1blockquote]'); str = str.replace(/<img[^>]*smile=\"(\d+)\"[^>]*>/ig, '[s:$1]'); str = str.replace(/<img[^>]*src=[\'\"\s]*([^\s\'\"]+)[^>]*>/ig, '[img]$1[/img]'); str = str.replace(/<a[^>]*href=[\'\"\s]*([^\s\'\"]*)[^>]*>(.+?)<\/a>/ig, '[url=$1]$2[/url]'); str = str.replace(/<[^>]*?>/ig, ''); str = str.replace(/&/ig, '&'); str = str.replace(/</ig, '<'); str = str.replace(/>/ig, '>'); return str } function up(str) { str = str.replace(/</ig, '<'); str = str.replace(/>/ig, '>'); str = str.replace(/\n/ig, '<br />'); str = str.replace(/\[code\](.+?)\[\/code\]/ig, function ($1, $2) { return phpcode($2) }); str = str.replace(/\[hr\]/ig, '<hr />'); str = str.replace(/\[\/(size|color|font|backcolor)\]/ig, '</font>'); str = str.replace(/\[(sub|sup|u|i|strike|b|blockquote|li)\]/ig, '<$1>'); str = str.replace(/\[\/(sub|sup|u|i|strike|b|blockquote|li)\]/ig, '</$1>'); str = str.replace(/\[\/align\]/ig, '</p>'); str = str.replace(/\[(\/)?h([1-6])\]/ig, '<$1h$2>'); str = str.replace(/\[align=(left|center|right|justify)\]/ig, '<p align="$1">'); str = str.replace(/\[size=(\d+?)\]/ig, '<font size="$1">'); str = str.replace(/\[color=([^\[\<]+?)\]/ig, '<font color="$1">'); str = str.replace(/\[backcolor=([^\[\<]+?)\]/ig, '<font style="background-color:$1">'); str = str.replace(/\[font=([^\[\<]+?)\]/ig, '<font face="$1">'); str = str.replace(/\[list=(a|A|1)\](.+?)\[\/list\]/ig, '<ol type="$1">$2</ol>'); str = str.replace(/\[(\/)?list\]/ig, '<$1ul>'); str = str.replace(/\[s:(\d+)\]/ig, function ($1, $2) { return smilepath($2) }); str = str.replace(/\[img\]([^\[]*)\[\/img\]/ig, '<img src="$1" border="0" />'); str = str.replace(/\[url=([^\]]+)\]([^\[]+)\[\/url\]/ig, '<a href="$1">$2</a>'); str = str.replace(/\[url\]([^\[]+)\[\/url\]/ig, '<a href="$1">$1</a>'); return str }
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,58 @@
|
||||
var fhtml = false;
|
||||
var fjs = false;
|
||||
var fcss = false;
|
||||
var fself = false;
|
||||
$("pre").hide();
|
||||
$("input[name=type]").bind("click", function () {
|
||||
var thisv = $(this).val();
|
||||
if (thisv == 3) {
|
||||
var set = $(this).attr("checked");
|
||||
if (set == 'checked') {
|
||||
fhtml = false;
|
||||
fjs = false;
|
||||
fcss = false;
|
||||
fself = true;
|
||||
$("input[name=type]").eq(0).attr("checked", false);
|
||||
$("input[name=type]").eq(1).attr("checked", false);
|
||||
$("input[name=type]").eq(2).attr("checked", false);
|
||||
$("#place").show();
|
||||
}
|
||||
else {
|
||||
fhtml = false;
|
||||
fself = false;
|
||||
$("#place").hide();
|
||||
}
|
||||
}
|
||||
else {
|
||||
var set = $(this).attr("checked");
|
||||
$("#place").hide();
|
||||
$("input[name=type]").eq(3).attr("checked", false);
|
||||
switch (thisv) {
|
||||
case "0": if (set == 'checked') { fhtml = true; fself = false; } else { fhtml = false; } break;
|
||||
case "1": if (set == 'checked') { fjs = true; fself = false; } else { fjs = false; } break;
|
||||
case "2": if (set == 'checked') { fcss = true; fself = false; } else { fcss = false; } break;
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
function Filter() {
|
||||
var s = $("#content").val();
|
||||
if (fjs)
|
||||
s = s.replace(/<\s*script[^>]*>(.|[\r\n])*?<\s*\/script[^>]*>/gi, '');
|
||||
if (fcss)
|
||||
s = s.replace(/<\s*style[^>]*>(.|[\r\n])*?<\s*\/style[^>]*>/gi, '');
|
||||
if (fhtml) {
|
||||
s = s.replace(/<\/?[^>]+>/g, '');
|
||||
s = s.replace(/\&[a-z]+;/gi, '');
|
||||
}
|
||||
if (fself)
|
||||
s = s.replace(new RegExp($("#preplace").val(), 'g'), $("#nextplace").val());
|
||||
hightout(s);
|
||||
}
|
||||
function Empty() { $("#content").val(""); $("#result").html(''); $("#content").select();$("pre").hide(); }
|
||||
$("pre").hide();
|
||||
function hightout(v){
|
||||
$("pre").show();
|
||||
$('#result').html(hljs.highlightAuto(v).value);
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
$(document).ready(function(){var sizeCols="";var sizeRows="";var tableColor="";var tableColor2="";var tableColor2b="";var tableDesign="";var tableInfo="";var tableHighlight=""
|
||||
var tableJS="";var tableCSS="";var tableHTML="";var pageTableHTML="";var tableEND="";var newTable="";var newTableCode="";var tfHighlight="";var tfHighlightb="";function makeTableCode(){tableColor=document.getElementById('tableColor').value;tableDesign=document.getElementById('tableDesign').value;sizeCols=document.getElementById('sizeCols').value;sizeRows=document.getElementById('sizeRows').value;if(sizeCols=="0"){sizeCols="5";document.getElementById('sizeCols').value="5"}
|
||||
if(sizeRows=="0"){sizeRows="7";document.getElementById('sizeRows').value="7"}
|
||||
tableInfo=document.getElementById('tableInfo').value;tableHighlight=document.getElementById('tableHighlight').value;if(tableDesign=="alternating"){tableCSS="";if(tableColor=="Blue"){var blue1="#acc8cc";var blue2="#d4e3e5";var blue3="#729ea5";tableColor2="#d4e3e5";tableCSS+='<style type="text/css">\n';tableCSS+='table.tftable {font-size:12px;color:#333333;width:100%;border-width: 1px;border-color: #729ea5;border-collapse: collapse;}\n';tableCSS+='table.tftable th {font-size:12px;background-color:#acc8cc;border-width: 1px;padding: 8px;border-style: solid;border-color: #729ea5;text-align:left;}\n';tableCSS+='table.tftable tr {background-color:#d4e3e5;}\n';tableCSS+='table.tftable td {font-size:12px;border-width: 1px;padding: 8px;border-style: solid;border-color: #729ea5;}\n';tableCSS+='</style>\n\n';}else if(tableColor=="Green"){var green1="#abd28e";var green2="#bedda7";var green3="#9dcc7a";tableColor2="#bedda7";tableCSS+='<style type="text/css">\n';tableCSS+='table.tftable {font-size:12px;color:#333333;width:100%;border-width: 1px;border-color: #9dcc7a;border-collapse: collapse;}\n';tableCSS+='table.tftable th {font-size:12px;background-color:#abd28e;border-width: 1px;padding: 8px;border-style: solid;border-color: #9dcc7a;text-align:left;}\n';tableCSS+='table.tftable tr {background-color:#bedda7;}\n';tableCSS+='table.tftable td {font-size:12px;border-width: 1px;padding: 8px;border-style: solid;border-color: #9dcc7a;}\n';tableCSS+='</style>\n\n';}else if(tableColor=="Grey"){var grey1="#b8b8b8";var grey2="#cdcdcd";var grey3="#a9a9a9";tableColor2="#cdcdcd";tableCSS+='<style type="text/css">\n';tableCSS+='table.tftable {font-size:12px;color:#333333;width:100%;border-width: 1px;border-color: #a9a9a9;border-collapse: collapse;}\n';tableCSS+='table.tftable th {font-size:12px;background-color:#b8b8b8;border-width: 1px;padding: 8px;border-style: solid;border-color: #a9a9a9;text-align:left;}\n';tableCSS+='table.tftable tr {background-color:#cdcdcd;}\n';tableCSS+='table.tftable td {font-size:12px;border-width: 1px;padding: 8px;border-style: solid;border-color: #a9a9a9;}\n';tableCSS+='</style>\n\n';}else if(tableColor=="Orange"){var orange1="#e6983b";var orange2="#f0c169";var orange3="#ebab3a";tableColor2="#f0c169";tableCSS+='<style type="text/css">\n';tableCSS+='table.tftable {font-size:12px;color:#333333;width:100%;border-width: 1px;border-color: #ebab3a;border-collapse: collapse;}\n';tableCSS+='table.tftable th {font-size:12px;background-color:#e6983b;border-width: 1px;padding: 8px;border-style: solid;border-color: #ebab3a;text-align:left;}\n';tableCSS+='table.tftable tr {background-color:#f0c169;}\n';tableCSS+='table.tftable td {font-size:12px;border-width: 1px;padding: 8px;border-style: solid;border-color: #ebab3a;}\n';tableCSS+='</style>\n\n';}else if(tableColor=="Brown"){var brown1="#ded0b0";var brown2="#e9dbbb";var brown3="#bcaf91";tableColor2="#e9dbbb";tableCSS+='<style type="text/css">\n';tableCSS+='table.tftable {font-size:12px;color:#333333;width:100%;border-width: 1px;border-color: #bcaf91;border-collapse: collapse;}\n';tableCSS+='table.tftable th {font-size:12px;background-color:#ded0b0;border-width: 1px;padding: 8px;border-style: solid;border-color: #bcaf91;text-align:left;}\n';tableCSS+='table.tftable tr {background-color:#e9dbbb;}\n';tableCSS+='table.tftable td {font-size:12px;border-width: 1px;padding: 8px;border-style: solid;border-color: #bcaf91;}\n';tableCSS+='</style>\n\n';}else if(tableColor=="Black"){var black1="#171515";var black2="#2f2f2f";var black3="#686767";tableColor2="#2f2f2f"
|
||||
tableCSS+='<style type="text/css">\n';tableCSS+='table.tftable {font-size:12px;color:#fbfbfb;width:100%;border-width: 1px;border-color: #686767;border-collapse: collapse;}\n';tableCSS+='table.tftable th {font-size:12px;background-color:#171515;border-width: 1px;padding: 8px;border-style: solid;border-color: #686767;text-align:left;}\n';tableCSS+='table.tftable tr {background-color:#2f2f2f;}\n';tableCSS+='table.tftable td {font-size:12px;border-width: 1px;padding: 8px;border-style: solid;border-color: #686767;}\n';tableCSS+='</style>\n\n';}else if(tableColor=="None"){}}else if(tableDesign=="minimal"){tableCSS="";if(tableColor=="Blue"){var blue3="#a9c6c9";tableColor2="#ffffff";tableCSS+='<style type="text/css">\n';tableCSS+='table.tftable {font-size:12px;color:#333333;width:100%;border-width: 1px;border-color: #729ea5;border-collapse: collapse;}\n';tableCSS+='table.tftable th {font-size:12px;background-color:#acc8cc;border-width: 1px;padding: 8px;border-style: solid;border-color: #729ea5;text-align:left;}\n';tableCSS+='table.tftable tr {background-color:#ffffff;}\n';tableCSS+='table.tftable td {font-size:12px;border-width: 1px;padding: 8px;border-style: solid;border-color: #729ea5;}\n';tableCSS+='</style>\n\n';}else if(tableColor=="Green"){var green3="#9dcc7a";tableColor2="#ffffff";tableCSS+='<style type="text/css">\n';tableCSS+='table.tftable {font-size:12px;color:#333333;width:100%;border-width: 1px;border-color: #9dcc7a;border-collapse: collapse;}\n';tableCSS+='table.tftable th {font-size:12px;background-color:#abd28e;border-width: 1px;padding: 8px;border-style: solid;border-color: #9dcc7a;text-align:left;}\n';tableCSS+='table.tftable tr {background-color:#ffffff;}\n';tableCSS+='table.tftable td {font-size:12px;border-width: 1px;padding: 8px;border-style: solid;border-color: #9dcc7a;}\n';tableCSS+='</style>\n\n';}else if(tableColor=="Grey"){var grey3="#a9a9a9";tableColor2="#ffffff";tableCSS+='<style type="text/css">\n';tableCSS+='table.tftable {font-size:12px;color:#333333;width:100%;border-width: 1px;border-color: #a9a9a9;border-collapse: collapse;}\n';tableCSS+='table.tftable th {font-size:12px;background-color:#b8b8b8;border-width: 1px;padding: 8px;border-style: solid;border-color: #a9a9a9;text-align:left;}\n';tableCSS+='table.tftable tr {background-color:#ffffff;}\n';tableCSS+='table.tftable td {font-size:12px;border-width: 1px;padding: 8px;border-style: solid;border-color: #a9a9a9;}\n';tableCSS+='</style>\n\n';}else if(tableColor=="Orange"){var orange3="#e6983b";tableColor2="#ffffff";tableCSS+='<style type="text/css">\n';tableCSS+='table.tftable {font-size:12px;color:#333333;width:100%;border-width: 1px;border-color: #ebab3a;border-collapse: collapse;}\n';tableCSS+='table.tftable th {font-size:12px;background-color:#e6983b;border-width: 1px;padding: 8px;border-style: solid;border-color: #ebab3a;text-align:left;}\n';tableCSS+='table.tftable tr {background-color:#ffffff;}\n';tableCSS+='table.tftable td {font-size:12px;border-width: 1px;padding: 8px;border-style: solid;border-color: #ebab3a;}\n';tableCSS+='</style>\n\n';}else if(tableColor=="Brown"){var brown3="#ebab3a";tableColor2="#ffffff";tableCSS+='<style type="text/css">\n';tableCSS+='table.tftable {font-size:12px;color:#333333;width:100%;border-width: 1px;border-color: #bcaf91;border-collapse: collapse;}\n';tableCSS+='table.tftable th {font-size:12px;background-color:#ded0b0;border-width: 1px;padding: 8px;border-style: solid;border-color: #bcaf91;text-align:left;}\n';tableCSS+='table.tftable tr {background-color:#ffffff;}\n';tableCSS+='table.tftable td {font-size:12px;border-width: 1px;padding: 8px;border-style: solid;border-color: #bcaf91;}\n';tableCSS+='</style>\n\n';}else if(tableColor=="Black"){var black3="#ebab3a";tableColor2="#171515";tableCSS+='<style type="text/css">\n';tableCSS+='table.tftable {font-size:12px;color:#fbfbfb;width:100%;border-width: 1px;border-color: #686767;border-collapse: collapse;}\n';tableCSS+='table.tftable th {font-size:12px;background-color:#171515;border-width: 1px;padding: 8px;border-style: solid;border-color: #686767;text-align:left;}\n';tableCSS+='table.tftable tr {background-color:#171515;}\n';tableCSS+='table.tftable td {font-size:12px;border-width: 1px;padding: 8px;border-style: solid;border-color: #686767;}\n';tableCSS+='</style>\n\n';}else if(tableColor=="None"){}}else if(tableDesign=="alternatingXY"){tableCSS="<!-- alternatingXY -->\n";}else if(tableDesign=="minimalXY"){tableCSS="<!-- minimalXY -->\n";}else if(tableDesign=="noStyle"){tableCSS="";}
|
||||
tableHTML='<table id="tfhover" class="tftable" border="1">\n<tr>';var ii=0;var iii=0;var iiii=0;while(ii<sizeCols){iii=ii+1;tableHTML+='<th>Header '+iii+'</th>';ii++;}
|
||||
tableHTML+="</tr>\n";var i=0;while(i<sizeRows-1){tableHTML=tableHTML+"<tr>";var ii=0;while(ii<sizeCols){iii=i+1;iiii=ii+1;if(tableInfo=="yesInfo"){tableHTML=tableHTML+"<td>Row:"+iii+" Cell:"+iiii+"</td>";}else{tableHTML=tableHTML+"<td> </td>";}
|
||||
ii++;}
|
||||
tableHTML=tableHTML+"</tr>\n";i++;}
|
||||
tableHTML+="</table>\n\n";if(tableInfo=="yesInfo"){pageTableHTML='<table id="tfhover" class="tftable" border="1"><tbody><tr><th>Header 1</th><th>Header 2</th><th>Header 3</th><th>Header 4</th><th>Header 5</th></tr><tr><td>Row:1 Cell:1</td><td>Row:1 Cell:2</td><td>Row:1 Cell:3</td><td>Row:1 Cell:4</td><td>Row:1 Cell:5</td></tr><tr><td>Row:2 Cell:1</td><td>Row:2 Cell:2</td><td>Row:2 Cell:3</td><td>Row:2 Cell:4</td><td>Row:2 Cell:5</td></tr><tr><td>Row:3 Cell:1</td><td>Row:3 Cell:2</td><td>Row:3 Cell:3</td><td>Row:3 Cell:4</td><td>Row:3 Cell:5</td></tr><tr><td>Row:4 Cell:1</td><td>Row:4 Cell:2</td><td>Row:4 Cell:3</td><td>Row:4 Cell:4</td><td>Row:4 Cell:5</td></tr><tr><td>Row:5 Cell:1</td><td>Row:5 Cell:2</td><td>Row:5 Cell:3</td><td>Row:5 Cell:4</td><td>Row:5 Cell:5</td></tr><tr><td>Row:6 Cell:1</td><td>Row:6 Cell:2</td><td>Row:6 Cell:3</td><td>Row:6 Cell:4</td><td>Row:6 Cell:5</td></tr></tbody></table>';}else{pageTableHTML='<table id="tfhover" class="tftable" border="1"><tbody><tr><th> </th><th> </th><th> </th><th> </th><th> </th></tr><tr><td> </td><td> </td><td> </td><td> </td><td> </td></tr><tr><td> </td><td> </td><td> </td><td> </td><td> </td></tr><tr><td> </td><td> </td><td> </td><td> </td><td> </td></tr><tr><td> </td><td> </td><td> </td><td> </td><td> </td></tr><tr><td> </td><td> </td><td> </td><td> </td><td> </td></tr><tr><td> </td><td> </td><td> </td><td> </td><td> </td></tr></tbody></table>';}
|
||||
tableEND='<p><small>Created with the <a href="Net://www.pcjson.com/htmltable/" target="_blank">HTML Table Generator</a></small></p>';if(tableHighlight!="none"){if(tableColor!="None"){if(tableColor2=="#2f2f2f"){tfHighlightb="#171515";tableColor2b=tableColor2;}else{tfHighlightb="#ffffff";tableColor2b=tableColor2;}
|
||||
if(tableDesign=="minimal"){if(tableColor2=="#171515"){tfHighlightb="#565656";tableColor2b=tableColor2;}else{tfHighlightb="#f3f8aa";tableColor2b="#ffffff";}}}}
|
||||
if(tableHighlight=="none"){tableJS="";}else if(tableHighlight=="row"){tableJS="<!-- Row Highlight Javascript -->\n";tableJS+="<script type=\"text/javascript\">\n";tableJS+=" window.onload=function(){\n";tableJS+=" var tfrow = document.getElementById('tfhover').rows.length;\n";tableJS+=" var tbRow=[];\n";tableJS+=" for (var i=1;i<tfrow;i++) {\n";tableJS+=" tbRow[i]=document.getElementById('tfhover').rows[i];\n";tableJS+=" tbRow[i].onmouseover = function(){\n";tableJS+=" this.style.backgroundColor = '"+tfHighlightb+"';\n";tableJS+=" };\n";tableJS+=" tbRow[i].onmouseout = function() {\n";tableJS+=" this.style.backgroundColor = '"+tableColor2b+"';\n";tableJS+=" };\n";tableJS+=" }\n";tableJS+="};\n"
|
||||
tableJS+="</script>\n\n";}
|
||||
newTable=tableCSS+tableHTML;newTableCode=tableJS+tableCSS+tableHTML+tableEND;document.getElementById('newTable').innerHTML=newTable;document.getElementById('newCode').value=newTableCode;if(tableHighlight!="none"){if(tableColor!="None"){if(tableDesign=="minimal"){if(tableColor2=="#171515"){tfHighlight="#565656";}else{tfHighlight="#f3f8aa";tableColor2="#ffffff";}}else{if(tableColor2=="#2f2f2f"){tfHighlight="#171515";}else{tfHighlight="#ffffff";}}
|
||||
var tfrow=document.getElementById('tfhover').rows.length;var tbRow=[];for(var i=1;i<tfrow;i++){tbRow[i]=document.getElementById('tfhover').rows[i];tbRow[i].onmouseover=function(){this.style.backgroundColor=tfHighlight;};tbRow[i].onmouseout=function(){this.style.backgroundColor=tableColor2;};}}}}
|
||||
var el1=document.getElementById('sizeCols');el1.onkeyup=function(){sizeCols=document.getElementById('sizeCols').value;sizeCols=sizeCols.replace(/[^0-9]+/g,'').replace(/\s+/,'');document.getElementById("sizeCols").value=sizeCols;makeTableCode();};var el2=document.getElementById('sizeRows');el2.onkeyup=function(){sizeRows=document.getElementById("sizeRows").value;sizeRows=sizeRows.replace(/[^0-9]+/g,'').replace(/\s+/,'');document.getElementById("sizeRows").value=sizeRows;makeTableCode();};var el3=document.getElementById('tableColor');el3.onchange=function(){tableColor=document.getElementById('tableColor').value;tableDesign=document.getElementById('tableDesign').value;if(tableColor=="None"){document.getElementById("tableDesign").selectedIndex=2;}
|
||||
if(tableColor!="None"&&tableDesign=="noStyle"){document.getElementById("tableDesign").selectedIndex=0;}
|
||||
makeTableCode();};var el4=document.getElementById('tableDesign');el4.onchange=function(){tableColor=document.getElementById('tableColor').value;tableDesign=document.getElementById('tableDesign').value;if(tableDesign=="noStyle"){document.getElementById("tableColor").selectedIndex=6;}
|
||||
if(tableDesign!="noStyle"&&tableColor=="None"){document.getElementById("tableColor").selectedIndex=0;}
|
||||
makeTableCode();};var el5=document.getElementById('tableHighlight');el5.onchange=function(){makeTableCode()};var el6=document.getElementById('tableInfo');el6.onchange=function(){makeTableCode();};makeTableCode();});
|
||||
@@ -0,0 +1 @@
|
||||
var ALG_PLAIN = 0; var ALG_CRYPT = 1; var ALG_APMD5 = 2; var ALG_APSHA = 3; var AP_SHA1PW_ID = "{SHA}"; var AP_MD5PW_ID = "$apr1$"; var itoa64 = "./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; function ap_to64(v, n) { var s = ''; while (--n >= 0) { s += itoa64.charAt(v & 0x3f); v >>>= 6 } return s } function stringToArray(s) { var a = []; for (var i = 0; i < s.length; i++) a.push(s.charCodeAt(i)); return a } function htpasswd(a, b, c) { var d = ap_to64(Math.floor(Math.random() * 16777215), 4) + ap_to64(Math.floor(Math.random() * 16777215), 4); var e = 0; for (var i = 0; i < a.length; i++) if (a.charCodeAt(i) > 127) e++; if (e) alert("Apache doesn't like non-ascii characters in the user name."); var f = ''; switch (c) { case ALG_APSHA: f = AP_SHA1PW_ID + b64_sha1(b); break; case ALG_APMD5: var g = b; g += AP_MD5PW_ID; g += d; var h = str_md5(b + d + b); for (var j = b.length; j > 0; j -= 16) g += h.substr(0, (j > 16) ? 16 : j); for (i = b.length; i != 0; i >>= 1) if (i & 1) g += String.fromCharCode(0); else g += b.charAt(0); h = str_md5(g); var k; for (i = 0; i < 1000; i++) { k = ''; if (i & 1) k += b; else k += h.substr(0, 16); if (i % 3) k += d; if (i % 7) k += b; if (i & 1) k += h.substr(0, 16); else k += b; h = str_md5(k) } h = stringToArray(h); f = AP_MD5PW_ID + d + '$'; f += ap_to64((h[0] << 16) | (h[6] << 8) | h[12], 4); f += ap_to64((h[1] << 16) | (h[7] << 8) | h[13], 4); f += ap_to64((h[2] << 16) | (h[8] << 8) | h[14], 4); f += ap_to64((h[3] << 16) | (h[9] << 8) | h[15], 4); f += ap_to64((h[4] << 16) | (h[10] << 8) | h[5], 4); f += ap_to64(h[11], 2); break; case ALG_PLAIN: f = b; break; case ALG_CRYPT: default: f = Javacrypt.displayPassword(b, d); break } if (a.length + 1 + f.length > 255) alert('Your login and password are too long.'); else return a + ':' + f } function pwgen(a) { var b = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-@+_()[]{}=%*!§"; var c = ''; for (var i = 1; i <= a; i++) { c += b.substr(Math.floor(Math.random() * b.length), 1) } return c } function generation(f) { var a = pwgen(f.taille.options[f.taille.selectedIndex].text); f.pwd1.value = a; f.pwd2.value = htpasswd(f.user.value, a, f.alg.selectedIndex) } function gen() { document.getElementById('result').value = htpasswd(document.getElementById('user').value, document.getElementById('pwd1').value, +document.getElementById('alg').value) }
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
var hexcase = 0; var b64pad = "="; var chrsz = 8; function hex_sha1(s) { return binb2hex(core_sha1(str2binb(s), s.length * chrsz)) } function b64_sha1(s) { return binb2b64(core_sha1(str2binb(s), s.length * chrsz)) } function str_sha1(s) { return binb2str(core_sha1(str2binb(s), s.length * chrsz)) } function hex_hmac_sha1(a, b) { return binb2hex(core_hmac_sha1(a, b)) } function b64_hmac_sha1(a, b) { return binb2b64(core_hmac_sha1(a, b)) } function str_hmac_sha1(a, b) { return binb2str(core_hmac_sha1(a, b)) } function sha1_vm_test() { return hex_sha1("abc") == "a9993e364706816aba3e25717850c26c9cd0d89d" } function core_sha1(x, f) { x[f >> 5] |= 0x80 << (24 - f % 32); x[((f + 64 >> 9) << 4) + 15] = f; var w = Array(80); var a = 1732584193; var b = -271733879; var c = -1732584194; var d = 271733878; var e = -1009589776; for (var i = 0; i < x.length; i += 16) { var g = a; var h = b; var k = c; var l = d; var m = e; for (var j = 0; j < 80; j++) { if (j < 16) w[j] = x[i + j]; else w[j] = rol(w[j - 3] ^ w[j - 8] ^ w[j - 14] ^ w[j - 16], 1); var t = safe_add(safe_add(rol(a, 5), sha1_ft(j, b, c, d)), safe_add(safe_add(e, w[j]), sha1_kt(j))); e = d; d = c; c = rol(b, 30); b = a; a = t } a = safe_add(a, g); b = safe_add(b, h); c = safe_add(c, k); d = safe_add(d, l); e = safe_add(e, m) } return Array(a, b, c, d, e) } function sha1_ft(t, b, c, d) { if (t < 20) return (b & c) | ((~b) & d); if (t < 40) return b ^ c ^ d; if (t < 60) return (b & c) | (b & d) | (c & d); return b ^ c ^ d } function sha1_kt(t) { return (t < 20) ? 1518500249 : (t < 40) ? 1859775393 : (t < 60) ? -1894007588 : -899497514 } function core_hmac_sha1(a, b) { var c = str2binb(a); if (c.length > 16) c = core_sha1(c, a.length * chrsz); var d = Array(16), opad = Array(16); for (var i = 0; i < 16; i++) { d[i] = c[i] ^ 0x36363636; opad[i] = c[i] ^ 0x5C5C5C5C } var e = core_sha1(d.concat(str2binb(b)), 512 + b.length * chrsz); return core_sha1(opad.concat(e), 512 + 160) } function safe_add(x, y) { var a = (x & 0xFFFF) + (y & 0xFFFF); var b = (x >> 16) + (y >> 16) + (a >> 16); return (b << 16) | (a & 0xFFFF) } function rol(a, b) { return (a << b) | (a >>> (32 - b)) } function str2binb(a) { var b = Array(); var c = (1 << chrsz) - 1; for (var i = 0; i < a.length * chrsz; i += chrsz) b[i >> 5] |= (a.charCodeAt(i / chrsz) & c) << (24 - i % 32); return b } function binb2str(a) { var b = ""; var c = (1 << chrsz) - 1; for (var i = 0; i < a.length * 32; i += chrsz) b += String.fromCharCode((a[i >> 5] >>> (24 - i % 32)) & c); return b } function binb2hex(a) { var b = hexcase ? "0123456789ABCDEF" : "0123456789abcdef"; var c = ""; for (var i = 0; i < a.length * 4; i++) { c += b.charAt((a[i >> 2] >> ((3 - i % 4) * 8 + 4)) & 0xF) + b.charAt((a[i >> 2] >> ((3 - i % 4) * 8)) & 0xF) } return c } function binb2b64(a) { var b = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; var c = ""; for (var i = 0; i < a.length * 4; i += 3) { var d = (((a[i >> 2] >> 8 * (3 - i % 4)) & 0xFF) << 16) | (((a[i + 1 >> 2] >> 8 * (3 - (i + 1) % 4)) & 0xFF) << 8) | ((a[i + 2 >> 2] >> 8 * (3 - (i + 2) % 4)) & 0xFF); for (var j = 0; j < 4; j++) { if (i * 8 + j * 6 > a.length * 32) c += b64pad; else c += b.charAt((d >> 6 * (3 - j)) & 0x3F) } } return c }
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
__=["\x6f\x6e\x6c\x6f\x61\x64","\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\x74\x42\x79\x49\x64","\x64\x65\x6d\x6f\x5f\x69\x6e\x70\x75\x74","\x72\x65\x73\x75\x6c\x74","\x69\x6d\x67\x5f\x61\x72\x65\x61",'\x75\x6e\x64\x65\x66\x69\x6e\x65\x64',"\x23\x72\x65\x73\x75\x6c\x74","\x68\x74\x6d\x6c","\u62b1\u6b49\uff0c\u4f60\u7684\u6d4f\u89c8\u5668\u4e0d\u652f\u6301 \x46\x69\x6c\x65\x52\x65\x61\x64\x65\x72\uff0c\u8bf7\u4f7f\u7528\u6700\u65b0\u7684\u4e3b\u6d41\u6d4f\u89c8\u5668\u64cd\u4f5c\uff01","\x73\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65",'\x64\x69\x73\x61\x62\x6c\x65\x64',"\x61\x64\x64\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72",'\x63\x68\x61\x6e\x67\x65',"\x66\x69\x6c\x65\x73","\x74\x65\x73\x74","\x74\x79\x70\x65","\x63\x6f\x6c\x6f\x72","\x72\x65\x64","\u8bf7\u786e\u4fdd\u6587\u4ef6\u4e3a\u56fe\u50cf\u7c7b\u578b","\x72\x65\x61\x64\x41\x73\x44\x61\x74\x61\x55\x52\x4c","\x76\x61\x6c","\x23\x69\x6d\x67\x5f\x61\x72\x65\x61",'\x3c\x69\x6d\x67 \x73\x72\x63\x3d\x22','\x22 \x61\x6c\x74\x3d\x22\x70\x63\x6a\x73\x6f\x6e\x2e\x63\x6f\x6d\u56fe\u7247\x42\x61\x73\x65\x36\x34\u7f16\u7801\x22 \x73\x74\x79\x6c\x65\x3d\x22\x6d\x61\x72\x67\x69\x6e\x3a\x61\x75\x74\x6f\x3b\x6d\x61\x78\x2d\x77\x69\x64\x74\x68\x3a\x39\x39\x25\x3b \x6d\x61\x78\x2d\x68\x65\x69\x67\x68\x74\x3a\x31\x30\x30\x30\x70\x78\x3b\x22\x2f\x3e',"\x69\x6e\x64\x65\x78\x4f\x66","\x3c\x69\x6d\x67",'\x22 \x61\x6c\x74\x3d\x22\x70\x63\x6a\x73\x6f\x6e\x2e\x63\x6f\x6d\u56fe\u7247\x42\x61\x73\x65\x36\x34\u7f16\u7801\x22 \x73\x74\x79\x6c\x65\x3d\x22\x6d\x61\x78\x2d\x77\x69\x64\x74\x68\x3a\x39\x39\x25\x3b \x6d\x61\x78\x2d\x68\x65\x69\x67\x68\x74\x3a\x31\x30\x30\x30\x70\x78\x3b\x22 \x2f\x3e','','\u8bf7\u8f93\u5165\x42\x61\x73\x65\x36\x34\u7f16\u7801\x21',"\x62\x61\x73\x65\x36\x34",'\u8bf7\u8f93\u5165\u6b63\u786e\u7684\x42\x61\x73\x65\x36\x34\u56fe\u7247\u7f16\u7801\x21',"","\x73\x65\x6c\x65\x63\x74"];window[__[0]] = function () {var s1 = window["\x64\x6f\x63\x75\x6d\x65\x6e\x74"][__[1]](__[2]);var iEhm_Wab2 = window["\x64\x6f\x63\x75\x6d\x65\x6e\x74"][__[1]](__[3]);var U3 = window["\x64\x6f\x63\x75\x6d\x65\x6e\x74"][__[1]](__[4]);if (typeof (FileReader) === __[5]) {$(__[6])[__[7]](__[8]);s1[__[9]](__[10], __[10]);} else {s1[__[11]](__[12], readFile, false);}};function readFile() {var HdFtRd4 = this[__[13]][0];if (!/image\/\w+/[__[14]](HdFtRd4[__[15]])) {result[__[9]](__[16], __[17]);$(__[6])[__[7]](__[18]);return false;};var QKjaGzEwW5 = new FileReader();QKjaGzEwW5[__[19]](HdFtRd4);QKjaGzEwW5[__[0]] = function (__2) {$(__[6])[__[20]](this[__[3]]);$(__[21])[__[7]](__[22] + this[__[3]] + __[23]);}};function imgfun() {var FvLIJXGV6 = $(__[6])[__[20]]();if (FvLIJXGV6[__[24]](__[25]) < 0) {$(__[6])[__[20]](__[22] + FvLIJXGV6 + __[26]);$(__[21])[__[7]](__[27] + $(__[6])[__[20]]() + __[27]);}};function base642img(){var $PCqnyyI7 = $(__[6])[__[20]]();if ($PCqnyyI7==__[27]){pcjson_com_msg($(__[6]),__[28]);};if ($PCqnyyI7[__[24]](__[29]) < 0){pcjson_com_msg($(__[6]),__[30]);};if ($PCqnyyI7[__[24]](__[25]) < 0) {$(__[6])[__[20]](__[22] + $PCqnyyI7 + __[26]);$(__[21])[__[7]](__[27] + $(__[6])[__[20]]() + __[27]);}};function empty() {$(__[21])[__[7]](__[31]);$(__[6])[__[20]](__[31]);$(__[6])[__[32]]();}
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,78 @@
|
||||
String.prototype.format = function () {
|
||||
var args = arguments;
|
||||
return this.replace(/\{(\d+)\}/g,
|
||||
function (m, i) {
|
||||
return args[i];
|
||||
});
|
||||
}
|
||||
|
||||
String.prototype.trim = function () {
|
||||
return this.replace(/(^\s*)|(\s*$)/g, "");
|
||||
}
|
||||
|
||||
JSON2CSharp = {
|
||||
_allClass: [],
|
||||
_genClassCode: function (obj, name) {
|
||||
var clas = "public class {0}\r\n{\r\n".format(name || "Root");
|
||||
for (var n in obj) {
|
||||
var v = obj[n];
|
||||
n = n.trim();
|
||||
clas += " {0} public {1} {2} { get; set; }\r\n\r\n".format(this._genComment(v), this._genTypeByProp(n, v), n);
|
||||
}
|
||||
clas += "}\r\n\r\n";
|
||||
this._allClass.push(clas);
|
||||
return this._allClass.join("\r\n\r\n");
|
||||
},
|
||||
_genTypeByProp: function (name, val) {
|
||||
switch (Object.prototype.toString.apply(val)) {
|
||||
case "[object Number]":
|
||||
{
|
||||
return val.toString().indexOf(".") > -1 ? "double" : "int";
|
||||
}
|
||||
case "[object Date]":
|
||||
{
|
||||
return "DateTime";
|
||||
}
|
||||
case "[object Object]":
|
||||
{
|
||||
name = name.substring(0, 1).toUpperCase() + name.substring(1);
|
||||
this._genClassCode(val, name);
|
||||
return name;
|
||||
}
|
||||
case "[object Array]":
|
||||
{
|
||||
return "List <{0} >".format(this._genTypeByProp(name + "Item", val[0]));
|
||||
}
|
||||
default:
|
||||
{
|
||||
return "string";
|
||||
}
|
||||
}
|
||||
},
|
||||
_genComment: function (val) {
|
||||
var commm = typeof (val) == "string" && /.*[\u4e00-\u9fa5]+.*$/.test(val) ? val : "";
|
||||
return "/// <summary>\r\n /// " + commm + "\r\n /// </summary>\r\n";
|
||||
},
|
||||
convert: function (jsonObj) {
|
||||
this._allClass = [];
|
||||
return this._genClassCode(jsonObj);
|
||||
}
|
||||
}
|
||||
function startConvert() {
|
||||
try {
|
||||
$("#codeall").css("display", "none");
|
||||
var v = eval("(" + document.getElementById("jsonStr").value + ")");
|
||||
// document.getElementById("result").className = "prettyprint";
|
||||
var r = JSON2CSharp.convert(v).toString();
|
||||
hightout(r);
|
||||
document.getElementById("jsonStr").focus();
|
||||
} catch (e) {
|
||||
$("#codeall").css("display", "block");
|
||||
$("#errdiv").html("输入的JSON数据格式不正确:" + e.message);
|
||||
}
|
||||
}
|
||||
function Empty() {
|
||||
document.getElementById("jsonStr").value = "";
|
||||
$("#class").html("<br>");
|
||||
document.getElementById("jsonStr").select();
|
||||
}
|
||||
@@ -0,0 +1,60 @@
|
||||
$("#testcase").click(function () {
|
||||
$("#content").val('[\n\t{"id":"1","title":"pcjson","url":"www.pcjson.com"},\n\t{"id":"2","title":"pcjson","url":"www.pcjson.com"}\n]');
|
||||
});
|
||||
function c(t, o) {
|
||||
$("#ctype").val(t);
|
||||
$("#sels").text($(o).text());
|
||||
}
|
||||
var fgf = ",";
|
||||
function ctyperow() {
|
||||
if ($("#fgfstr").val() == "") {
|
||||
fgf = ",";
|
||||
}
|
||||
fgf = $("#fgfstr").val() || fgf;
|
||||
var instr = $("#content").val();
|
||||
var pcjson = JSON.parse(instr);
|
||||
if (pcjson.length < 1) {
|
||||
pcjson_com_msg($("#changebtn"), "数组小于一行数据");
|
||||
return;
|
||||
}
|
||||
var titles = new Array();
|
||||
for (var key in pcjson[0]) {
|
||||
titles.push(key);
|
||||
}
|
||||
var values = new Array();
|
||||
for (var i = 0, l = pcjson.length; i < l; i++) {
|
||||
var value = new Array();
|
||||
for (var key in pcjson[i]) {
|
||||
|
||||
value.push(pcjson[i][key]);
|
||||
}
|
||||
values.push(value);
|
||||
}
|
||||
|
||||
var html = '';
|
||||
html += titles.join(fgf) + "\n"
|
||||
for (var i = 0; i < values.length; i++) {
|
||||
html += values[i].join(fgf) + "\n";
|
||||
}
|
||||
hightout(html);
|
||||
}
|
||||
|
||||
$("#download").click(function () {
|
||||
var content = $('#result').text();
|
||||
if (content != "") {
|
||||
//content=decodeURIComponent(encodeURIComponent(content));
|
||||
var blob = new Blob([content], { type: "text/plain;charset=utf-8" });
|
||||
saveAs(blob, "result_pcjson.com.csv");
|
||||
}
|
||||
else {
|
||||
pcjson_com_msg($("#download"), "检测不到数据,请先输入数据");
|
||||
}
|
||||
});
|
||||
$("#changebtn").click(function () {
|
||||
ctyperow(true);
|
||||
});
|
||||
function Empty() {
|
||||
$("#content").val("");
|
||||
$("#result").html("");
|
||||
$("#content").select();
|
||||
}
|
||||
@@ -0,0 +1,408 @@
|
||||
/*
|
||||
JSON-to-Go
|
||||
by Matt Holt
|
||||
|
||||
https://github.com/mholt/json-to-go
|
||||
|
||||
A simple utility to translate JSON into a Go type definition.
|
||||
*/
|
||||
|
||||
function jsonToGo(json, typename, flatten = true)
|
||||
{
|
||||
let data;
|
||||
let scope;
|
||||
let go = "";
|
||||
let tabs = 0;
|
||||
|
||||
const seen = {};
|
||||
const stack = [];
|
||||
let accumulator = "";
|
||||
let innerTabs = 0;
|
||||
let parent = "";
|
||||
|
||||
try
|
||||
{
|
||||
data = JSON.parse(json.replace(/\.0/g, ".1")); // hack that forces floats to stay as floats
|
||||
scope = data;
|
||||
}
|
||||
catch (e)
|
||||
{
|
||||
return {
|
||||
go: "",
|
||||
error: e.message
|
||||
};
|
||||
}
|
||||
|
||||
typename = format(typename || "AutoGenerated");
|
||||
append(`type ${typename} `);
|
||||
|
||||
parseScope(scope);
|
||||
|
||||
return {
|
||||
go: flatten
|
||||
? go += accumulator
|
||||
: go
|
||||
};
|
||||
|
||||
|
||||
function parseScope(scope, depth = 0)
|
||||
{
|
||||
if (typeof scope === "object" && scope !== null)
|
||||
{
|
||||
if (Array.isArray(scope))
|
||||
{
|
||||
let sliceType;
|
||||
const scopeLength = scope.length;
|
||||
|
||||
for (let i = 0; i < scopeLength; i++)
|
||||
{
|
||||
const thisType = goType(scope[i]);
|
||||
if (!sliceType)
|
||||
sliceType = thisType;
|
||||
else if (sliceType != thisType)
|
||||
{
|
||||
sliceType = mostSpecificPossibleGoType(thisType, sliceType);
|
||||
if (sliceType == "interface{}")
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
const slice = flatten && ["struct", "slice"].includes(sliceType)
|
||||
? `[]${parent}`
|
||||
: `[]`;
|
||||
|
||||
if (flatten && depth >= 2)
|
||||
appender(slice);
|
||||
else
|
||||
append(slice)
|
||||
if (sliceType == "struct") {
|
||||
const allFields = {};
|
||||
|
||||
// for each field counts how many times appears
|
||||
for (let i = 0; i < scopeLength; i++)
|
||||
{
|
||||
const keys = Object.keys(scope[i])
|
||||
for (let k in keys)
|
||||
{
|
||||
let keyname = keys[k];
|
||||
if (!(keyname in allFields)) {
|
||||
allFields[keyname] = {
|
||||
value: scope[i][keyname],
|
||||
count: 0
|
||||
}
|
||||
}
|
||||
else {
|
||||
const existingValue = allFields[keyname].value;
|
||||
const currentValue = scope[i][keyname];
|
||||
|
||||
if (compareObjects(existingValue, currentValue)) {
|
||||
const comparisonResult = compareObjectKeys(
|
||||
Object.keys(currentValue),
|
||||
Object.keys(existingValue)
|
||||
)
|
||||
if (!comparisonResult) {
|
||||
keyname = `${keyname}_${uuidv4()}`;
|
||||
allFields[keyname] = {
|
||||
value: currentValue,
|
||||
count: 0
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
allFields[keyname].count++;
|
||||
}
|
||||
}
|
||||
|
||||
// create a common struct with all fields found in the current array
|
||||
// omitempty dict indicates if a field is optional
|
||||
const keys = Object.keys(allFields), struct = {}, omitempty = {};
|
||||
for (let k in keys)
|
||||
{
|
||||
const keyname = keys[k], elem = allFields[keyname];
|
||||
|
||||
struct[keyname] = elem.value;
|
||||
omitempty[keyname] = elem.count != scopeLength;
|
||||
}
|
||||
parseStruct(depth + 1, innerTabs, struct, omitempty); // finally parse the struct !!
|
||||
}
|
||||
else if (sliceType == "slice") {
|
||||
parseScope(scope[0], depth)
|
||||
}
|
||||
else {
|
||||
if (flatten && depth >= 2) {
|
||||
appender(sliceType || "interface{}");
|
||||
} else {
|
||||
append(sliceType || "interface{}");
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (flatten) {
|
||||
if (depth >= 2){
|
||||
appender(parent)
|
||||
}
|
||||
else {
|
||||
append(parent)
|
||||
}
|
||||
}
|
||||
parseStruct(depth + 1, innerTabs, scope);
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (flatten && depth >= 2){
|
||||
appender(goType(scope));
|
||||
}
|
||||
else {
|
||||
append(goType(scope));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function parseStruct(depth, innerTabs, scope, omitempty)
|
||||
{
|
||||
if (flatten) {
|
||||
stack.push(
|
||||
depth >= 2
|
||||
? "\n"
|
||||
: ""
|
||||
)
|
||||
}
|
||||
|
||||
if (flatten && depth >= 2)
|
||||
{
|
||||
const parentType = `type ${parent}`;
|
||||
const scopeKeys = formatScopeKeys(Object.keys(scope));
|
||||
|
||||
// this can only handle two duplicate items
|
||||
// future improvement will handle the case where there could
|
||||
// three or more duplicate keys with different values
|
||||
if (parent in seen && compareObjectKeys(scopeKeys, seen[parent])) {
|
||||
stack.pop();
|
||||
return
|
||||
}
|
||||
seen[parent] = scopeKeys;
|
||||
|
||||
appender(`${parentType} struct {\n`);
|
||||
++innerTabs;
|
||||
const keys = Object.keys(scope);
|
||||
for (let i in keys)
|
||||
{
|
||||
const keyname = getOriginalName(keys[i]);
|
||||
indenter(innerTabs)
|
||||
const typename = format(keyname)
|
||||
appender(typename+" ");
|
||||
parent = typename
|
||||
parseScope(scope[keys[i]], depth);
|
||||
appender(' `json:"'+keyname);
|
||||
if (omitempty && omitempty[keys[i]] === true)
|
||||
{
|
||||
appender(',omitempty');
|
||||
}
|
||||
appender('"`\n');
|
||||
}
|
||||
indenter(--innerTabs);
|
||||
appender("}");
|
||||
}
|
||||
else
|
||||
{
|
||||
append("struct {\n");
|
||||
++tabs;
|
||||
const keys = Object.keys(scope);
|
||||
for (let i in keys)
|
||||
{
|
||||
const keyname = getOriginalName(keys[i]);
|
||||
indent(tabs);
|
||||
const typename = format(keyname);
|
||||
append(typename+" ");
|
||||
parent = typename
|
||||
parseScope(scope[keys[i]], depth);
|
||||
append(' `json:"'+keyname);
|
||||
if (omitempty && omitempty[keys[i]] === true)
|
||||
{
|
||||
append(',omitempty');
|
||||
}
|
||||
append('"`\n');
|
||||
}
|
||||
indent(--tabs);
|
||||
append("}");
|
||||
}
|
||||
if (flatten)
|
||||
accumulator += stack.pop();
|
||||
}
|
||||
|
||||
function indent(tabs)
|
||||
{
|
||||
for (let i = 0; i < tabs; i++)
|
||||
go += '\t';
|
||||
}
|
||||
|
||||
function append(str)
|
||||
{
|
||||
go += str;
|
||||
}
|
||||
|
||||
function indenter(tabs)
|
||||
{
|
||||
for (let i = 0; i < tabs; i++)
|
||||
stack[stack.length - 1] += '\t';
|
||||
}
|
||||
|
||||
function appender(str)
|
||||
{
|
||||
stack[stack.length - 1] += str;
|
||||
}
|
||||
|
||||
// Sanitizes and formats a string to make an appropriate identifier in Go
|
||||
function format(str)
|
||||
{
|
||||
if (!str)
|
||||
return "";
|
||||
else if (str.match(/^\d+$/))
|
||||
str = "Num" + str;
|
||||
else if (str.charAt(0).match(/\d/))
|
||||
{
|
||||
const numbers = {'0': "Zero_", '1': "One_", '2': "Two_", '3': "Three_",
|
||||
'4': "Four_", '5': "Five_", '6': "Six_", '7': "Seven_",
|
||||
'8': "Eight_", '9': "Nine_"};
|
||||
str = numbers[str.charAt(0)] + str.substr(1);
|
||||
}
|
||||
return toProperCase(str).replace(/[^a-z0-9]/ig, "") || "NAMING_FAILED";
|
||||
}
|
||||
|
||||
// Determines the most appropriate Go type
|
||||
function goType(val)
|
||||
{
|
||||
if (val === null)
|
||||
return "interface{}";
|
||||
|
||||
switch (typeof val)
|
||||
{
|
||||
case "string":
|
||||
if (/\d{4}-\d\d-\d\dT\d\d:\d\d:\d\d(\.\d+)?(\+\d\d:\d\d|Z)/.test(val))
|
||||
return "time.Time";
|
||||
else
|
||||
return "string";
|
||||
case "number":
|
||||
if (val % 1 === 0)
|
||||
{
|
||||
if (val > -2147483648 && val < 2147483647)
|
||||
return "int";
|
||||
else
|
||||
return "int64";
|
||||
}
|
||||
else
|
||||
return "float64";
|
||||
case "boolean":
|
||||
return "bool";
|
||||
case "object":
|
||||
if (Array.isArray(val))
|
||||
return "slice";
|
||||
return "struct";
|
||||
default:
|
||||
return "interface{}";
|
||||
}
|
||||
}
|
||||
|
||||
// Given two types, returns the more specific of the two
|
||||
function mostSpecificPossibleGoType(typ1, typ2)
|
||||
{
|
||||
if (typ1.substr(0, 5) == "float"
|
||||
&& typ2.substr(0, 3) == "int")
|
||||
return typ1;
|
||||
else if (typ1.substr(0, 3) == "int"
|
||||
&& typ2.substr(0, 5) == "float")
|
||||
return typ2;
|
||||
else
|
||||
return "interface{}";
|
||||
}
|
||||
|
||||
// Proper cases a string according to Go conventions
|
||||
function toProperCase(str)
|
||||
{
|
||||
// https://github.com/golang/lint/blob/5614ed5bae6fb75893070bdc0996a68765fdd275/lint.go#L771-L810
|
||||
const commonInitialisms = [
|
||||
"ACL", "API", "ASCII", "CPU", "CSS", "DNS", "EOF", "GUID", "HTML", "HTTP",
|
||||
"HTTPS", "ID", "IP", "JSON", "LHS", "QPS", "RAM", "RHS", "RPC", "SLA",
|
||||
"SMTP", "SQL", "SSH", "TCP", "TLS", "TTL", "UDP", "UI", "UID", "UUID",
|
||||
"URI", "URL", "UTF8", "VM", "XML", "XMPP", "XSRF", "XSS"
|
||||
];
|
||||
|
||||
return str.replace(/(^|[^a-zA-Z])([a-z]+)/g, function(unused, sep, frag)
|
||||
{
|
||||
if (commonInitialisms.indexOf(frag.toUpperCase()) >= 0)
|
||||
return sep + frag.toUpperCase();
|
||||
else
|
||||
return sep + frag[0].toUpperCase() + frag.substr(1).toLowerCase();
|
||||
}).replace(/([A-Z])([a-z]+)/g, function(unused, sep, frag)
|
||||
{
|
||||
if (commonInitialisms.indexOf(sep + frag.toUpperCase()) >= 0)
|
||||
return (sep + frag).toUpperCase();
|
||||
else
|
||||
return sep + frag;
|
||||
});
|
||||
}
|
||||
|
||||
function uuidv4() {
|
||||
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
|
||||
var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8);
|
||||
return v.toString(16);
|
||||
});
|
||||
}
|
||||
|
||||
function getOriginalName(unique) {
|
||||
const reLiteralUUID = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i
|
||||
const uuidLength = 36;
|
||||
|
||||
if (unique.length >= uuidLength) {
|
||||
const tail = unique.substr(-uuidLength);
|
||||
if (reLiteralUUID.test(tail)) {
|
||||
return unique.slice(0, -1 * (uuidLength + 1))
|
||||
}
|
||||
}
|
||||
return unique
|
||||
}
|
||||
|
||||
function compareObjects(objectA, objectB) {
|
||||
const object = "[object Object]";
|
||||
return Object.prototype.toString.call(objectA) === object
|
||||
&& Object.prototype.toString.call(objectB) === object;
|
||||
}
|
||||
|
||||
function compareObjectKeys(itemAKeys, itemBKeys) {
|
||||
const lengthA = itemAKeys.length;
|
||||
const lengthB = itemBKeys.length;
|
||||
|
||||
// nothing to compare, probably identical
|
||||
if (lengthA == 0 && lengthB == 0)
|
||||
return true;
|
||||
|
||||
// duh
|
||||
if (lengthA != lengthB)
|
||||
return false;
|
||||
|
||||
for (let item of itemAKeys) {
|
||||
if (!itemBKeys.includes(item))
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
function formatScopeKeys(keys) {
|
||||
for (let i in keys) {
|
||||
keys[i] = format(keys[i]);
|
||||
}
|
||||
return keys
|
||||
}
|
||||
}
|
||||
|
||||
if (typeof module != 'undefined') {
|
||||
if (!module.parent) {
|
||||
process.stdin.on('data', function(buf) {
|
||||
const json = buf.toString('utf8')
|
||||
console.log(jsonToGo(json).go)
|
||||
})
|
||||
} else {
|
||||
module.exports = jsonToGo
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
function yamlFormat(id) {
|
||||
let $code = $('#' + id);
|
||||
|
||||
try {
|
||||
let yaml = YAML.parse($code.val());
|
||||
|
||||
let fyaml = YAML.stringify(yaml);
|
||||
hightout(JSON.stringify(yaml, null, " "));
|
||||
$('#format-message').removeClass('alert-danger').addClass('alert-success').html('Valid YAML').removeClass('d-none').addClass('d-block');
|
||||
} catch (e) {
|
||||
let message = htmlspecialchars(e.message);
|
||||
message = message.replace(/[\r\n]+/g, '<br>');
|
||||
$('#format-message').removeClass('alert-success').addClass('alert-danger').html(message).removeClass('d-none').addClass('d-block');
|
||||
}
|
||||
}
|
||||
function htmlspecialchars(str) {
|
||||
str = str.replace(/&/g, '&');
|
||||
str = str.replace(/</g, '<');
|
||||
str = str.replace(/>/g, '>');
|
||||
str = str.replace(/"/g, '"');
|
||||
str = str.replace(/'/g, ''');
|
||||
|
||||
return str;
|
||||
}
|
||||
|
||||
function json2yaml(id) {
|
||||
let $code = $('#' + id);
|
||||
|
||||
try {
|
||||
let json = JSON.parse($code.val());
|
||||
|
||||
let fjson = YAML.stringify(json);
|
||||
hightout(YAML.stringify(json));
|
||||
$('#format-message').removeClass('alert-danger').addClass('alert-success').html('Valid JSON').removeClass('d-none').addClass('d-block');
|
||||
} catch (e) {
|
||||
|
||||
let message = htmlspecialchars(e.message);
|
||||
message = message.replace(/[\r\n]+/g, '<br>');
|
||||
$('#format-message').removeClass('alert-success').addClass('alert-danger').html(message).removeClass('d-none').addClass('d-block');
|
||||
}
|
||||
}
|
||||
+14
File diff suppressed because one or more lines are too long
+1
File diff suppressed because one or more lines are too long
@@ -0,0 +1,109 @@
|
||||
function decToHex(str) {
|
||||
var res = [];
|
||||
for (var i = 0; i < str.length; i++)
|
||||
res[i] = ("00" + str.charCodeAt(i).toString(16)).slice(-4);
|
||||
return "\\u" + res.join("\\u");
|
||||
}
|
||||
function hexToDec(str) {
|
||||
str = str.replace(/\\/g, "%");
|
||||
return unescape(str);
|
||||
}
|
||||
morjs.modes.custom = {
|
||||
charSpacer: '',
|
||||
letterSpacer: ' ',
|
||||
longString: '-',
|
||||
shortString: '.',
|
||||
wordSpacer: ' '
|
||||
};
|
||||
var options = { mode: 'custom' };
|
||||
|
||||
var ss = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_@";
|
||||
function v10toX(n, m) { m = String(m).replace(/ /gi, ""); if (m == "") return ""; if (parseInt(m) != m) { /*M("输入的摩尔斯码不符合要求!");*/return false; } var t = ""; var a = ss.substr(0, n); while (m != 0) { var b = m % n; t = a.charAt(b) + t; m = (m - b) / n } return t }
|
||||
function vXto10(n, m) { m = String(m).replace(/ /gi, ""); if (m == "") return ""; var a = ss.substr(0, n); if (eval("m.replace(/[" + a + "]/gi,'')") != "") { /*M("输入的摩尔斯码不符合要求!");*/return false; } var t = 0, c = 1; for (var x = m.length - 1; x > -1; x--) { t += c * (a.indexOf(m.charAt(x))); c *= n } return t }
|
||||
function vXtoY(n, m, y) { a = vXto10(n * 1, m); if (a == "") return ""; a = v10toX(y, a); return a }
|
||||
function M(str) { alert(str) }
|
||||
function convert(hex_input, id_input, hex_output, id_output) { var input_v = document.getElementById(id_input).value; var outputEle = document.getElementById(id_output); var hex_in_v = document.getElementById(hex_input).value; var hex_out_v = document.getElementById(hex_output).value; outputEle.value = vXtoY(hex_in_v, input_v, hex_out_v) }
|
||||
function convert_c(hex_input_v, id_input, hex_output_v, id_output) { var input_v = document.getElementById(id_input).value; var outputEle = document.getElementById(id_output); outputEle.value = vXtoY(hex_input_v, input_v, hex_output_v) }
|
||||
|
||||
var morse_char_re = /[a-zA-Z0-9.:,;?=\'\/\!_\"()$&@]/;
|
||||
function encode_morse_zh() {
|
||||
var input = $('#content').val();
|
||||
if (input == "") {
|
||||
pcjson_com_msg($("#content"), "请输入要加密、解密的字符串");
|
||||
return false;
|
||||
}
|
||||
var matchs = input.match(/[\u0000-\uffff]/g);
|
||||
var out = "";
|
||||
if (matchs != null) {
|
||||
for (var i = 0; i < matchs.length; i++) {
|
||||
var match = matchs[i];
|
||||
if (match.trim() != '') {
|
||||
if (morse_char_re.test(match)) {
|
||||
//使用morse处理
|
||||
out = out + morjs.encode(match, options) + morjs.modes.custom.letterSpacer;
|
||||
}
|
||||
else {
|
||||
//中文morse处理
|
||||
var unicode = decToHex(match);
|
||||
if (unicode && unicode.substring(0, 2) == '\\u') {
|
||||
unicode = unicode.substring(2, unicode.length);
|
||||
unicode = vXtoY(16, unicode, 2);
|
||||
unicode = unicode.replace(/1/g, morjs.modes.custom.longString);
|
||||
unicode = unicode.replace(/0/g, morjs.modes.custom.shortString);
|
||||
out = out + unicode + morjs.modes.custom.letterSpacer;
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
}
|
||||
};
|
||||
}
|
||||
//去掉末尾的/
|
||||
if (out != null && out.length > 0 && out.substring(out.length - 1, out.length)) {
|
||||
out = out.substring(0, out.length - 1);
|
||||
}
|
||||
hightout(out);
|
||||
}
|
||||
|
||||
function decode_morse_zh() {
|
||||
var input = $('#content').val();
|
||||
if (input == "") {
|
||||
pcjson_com_msg($("#content"), "请输入要加密、解密的字符串");
|
||||
return false;
|
||||
}
|
||||
out = '';
|
||||
if (input != null) {
|
||||
input_array = input.split(morjs.modes.custom.letterSpacer);
|
||||
eval("var re_1 = /\\" + morjs.modes.custom.longString + "/g;");
|
||||
eval("var re_0 = /\\" + morjs.modes.custom.shortString + "/g;");
|
||||
for (var i = 0; i < input_array.length; i++) {
|
||||
input = input_array[i];
|
||||
if (input != null && input.length >= 1) {
|
||||
if (input.length <= 5) {
|
||||
//morse最长5位
|
||||
out = out + morjs.decode(input, options) + ' ';
|
||||
}
|
||||
else {
|
||||
//汉字
|
||||
input = input.replace(re_1, '1');
|
||||
input = input.replace(re_0, '0');
|
||||
input = vXtoY(2, input, 16);
|
||||
if (input === false || input === '') {
|
||||
out = "输入的摩尔斯码不符合要求!";
|
||||
}
|
||||
else {
|
||||
input = '\\u' + input;
|
||||
input = hexToDec(input);
|
||||
out = out + input + ' ';
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
hightout(out);
|
||||
}
|
||||
function empty() {
|
||||
$("#content").val("");
|
||||
$("#result").html("");
|
||||
$('#content').focus();
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
!function (a) { "use strict"; var b = "L", c = "S", d = a.morjs, e = function (a, b) { if (a) for (var c = a.length, d = 0; c > d; d++) b(a[d], d, a) }, f = function (a) { a = a.toLocaleUpperCase(); var b; for (var c in m) if (m.hasOwnProperty(c) && m[c] === a) { b = c; break } return b }, g = function (a) { return n[a] }, h = function (a, b) { a = a || {}; for (var c in b) "undefined" == typeof a[c] && (a[c] = b[c]); return a }, i = function (a) { return m[a.toLocaleUpperCase()] }, j = function (a, b, c, d, f, g) { var h = "string" == typeof g, i = new RegExp("(" + b + "|" + d + ")", "g"), j = ""; return e(a.match(i), function (a, e) { h && e > 0 && (j += g), a === b ? j += c : a === d && (j += f) }), j }, k = function (a, b, c, d) { if ("string" != typeof a) throw new TypeError("Invalid value type: " + typeof a); var f = "undefined" != typeof d, g = new RegExp(b + "|[\\n\\r]+", "g"), h = a.trim().split(g); return e(h, function (a, b) { h[b] = a = a.split(c), f && e(a, function (a, c) { h[b][c] = a.split(d).join("") }) }), h }, l = function (a, b) { if (!a) return a; for (var c = 0, d = ""; b > c; c++) d += a; return d }, m = { A: "SL", B: "LSSS", C: "LSLS", D: "LSS", E: "S", F: "SSLS", G: "LLS", H: "SSSS", I: "SS", J: "SLLL", K: "LSL", L: "SLSS", M: "LL", N: "LS", O: "LLL", P: "SLLS", Q: "LLSL", R: "SLS", S: "SSS", T: "L", U: "SSL", V: "SSSL", W: "SLL", X: "LSSL", Y: "LSLL", Z: "LLSS", 0: "LLLLL", 1: "SLLLL", 2: "SSLLL", 3: "SSSLL", 4: "SSSSL", 5: "SSSSS", 6: "LSSSS", 7: "LLSSS", 8: "LLLSS", 9: "LLLLS", ".": "SLSLSL", ",": "LLSSLL", "?": "SSLLSS", "'": "SLLLLS", "!": "LSLSLL", "/": "LSSLS", "(": "LSLLS", ")": "LSLLSL", "&": "SLSSS", ":": "LLLSSS", ";": "LSLSLS", "=": "LSSSL", "+": "SLSLS", "-": "LSSSSL", _: "SSLLSL", '"': "SLSSLS", $: "SSSLSSL", "@": "SLLSLS", "Ä": "SLSL", "Æ": "SLSL", "Ą": "SLSL", "À": "SLLSL", "Å": "SLLSL", "Ç": "LSLSS", "Ĉ": "LSLSS", "Ć": "LSLSS", "Š": "LLLL", "Ð": "SSLLS", "Ś": "SSSLSSS", "È": "SLSSL", "Ł": "SLSSL", "É": "SSLSS", "Đ": "SSLSS", "Ę": "SSLSS", "Ĝ": "LLSLS", "Ĥ": "LLLL", "Ĵ": "SLLLS", "Ź": "LLSSLS", "Ñ": "LLSLL", "Ń": "LLSLL", "Ö": "LLLS", "Ø": "LLLS", "Ó": "LLLS", "Ŝ": "SSSLS", "Þ": "SLLSS", "Ü": "SSLL", "Ŭ": "SSLL", "Ż": "LLSSL" }, n = { classic: { charSpacer: " ", letterSpacer: l(" ", 3), longString: "-", shortString: "·", wordSpacer: l(" ", 7) }, classicEntities: { charSpacer: " ", letterSpacer: l(" ", 3), longString: "-", shortString: "·", wordSpacer: l(" ", 7) }, compact: { charSpacer: "", letterSpacer: " ", longString: "-", shortString: "·", wordSpacer: l(" ", 3) }, compactEntities: { charSpacer: "", letterSpacer: " ", longString: "-", shortString: "·", wordSpacer: l(" ", 3) }, simple: { charSpacer: "", letterSpacer: " ", longString: "-", shortString: ".", wordSpacer: l(" ", 3)} }, o = { VERSION: "1.1.0", chars: m, defaults: { mode: "compact" }, modes: n, decode: function (a, d) { a = a || "", d = h(d, o.defaults); var i = g(d.mode), l = "", m = k(a, i.wordSpacer, i.letterSpacer, i.charSpacer); return m ? (e(m, function (a, d) { d > 0 && (l += " "), e(a, function (a) { var d, e = j(a, i.shortString, c, i.longString, b); e && (d = f(e), "string" == typeof d && (l += d)) }) }), l) : l }, encode: function (a, d) { a = a || "", d = h(d, o.defaults); var f = g(d.mode), l = "", m = k(a, "\\s+", ""); return m ? (e(m, function (a, d) { d > 0 && (l += f.wordSpacer), e(a, function (a, d) { d > 0 && (l += f.letterSpacer); var e = i(a); "string" == typeof e && (l += j(e, c, f.shortString, b, f.longString, f.charSpacer)) }) }), l) : l }, noConflict: function () { return a.morjs = d, this } }; "undefined" != typeof exports ? ("undefined" != typeof module && module.exports && (exports = module.exports = o), exports.morjs = o) : "function" == typeof define && define.amd ? define(function () { return o }) : a.morjs = o } (this);␍
|
||||
@@ -0,0 +1,30 @@
|
||||
function rand(max) {
|
||||
return Math.floor(Math.random() * max);
|
||||
};
|
||||
$("#generator").click(function(){
|
||||
var chars = "";
|
||||
if ($("#use_number").is(':checked')) chars += "0123456789";
|
||||
if ($("#use_lowercaseletters").is(':checked')) chars += "abcdefghijklmnopqrstuvwxyz";
|
||||
if ($("#use_uppercaseletters").is(':checked')) chars += "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
||||
if ($("#use_punctuation").is(':checked')) chars += "`~!@#$%^&*()-_=+[{]}\|;:'\",<.>/?";
|
||||
var passwords = [];
|
||||
var passwordUnique = $("#password_unique").is(':checked');
|
||||
var password_length = $("#password_length").val();
|
||||
password_length = password_length>99?99:password_length;
|
||||
var password_quantity = $("#password_quantity").val();
|
||||
password_quantity = password_quantity>500?500:password_quantity;
|
||||
for (var i = 0,l = password_quantity; i < l; i++) {
|
||||
var _chars = chars.split(""),
|
||||
password = "";
|
||||
for (var j = 0,
|
||||
k = password_length; j < k; j++) {
|
||||
if (_chars.length < 1) break;
|
||||
var index = rand(_chars.length);
|
||||
password += _chars[index];
|
||||
if (passwordUnique) _chars.splice(index, 1);
|
||||
};
|
||||
passwords.push(password);
|
||||
};
|
||||
$("#result").html(passwords.join("<br>\n"));
|
||||
});
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,30 @@
|
||||
!function(){var q=null;window.PR_SHOULD_USE_CONTINUATION=!0;
|
||||
(function(){function S(a){function d(e){var b=e.charCodeAt(0);if(b!==92)return b;var a=e.charAt(1);return(b=r[a])?b:"0"<=a&&a<="7"?parseInt(e.substring(1),8):a==="u"||a==="x"?parseInt(e.substring(2),16):e.charCodeAt(1)}function g(e){if(e<32)return(e<16?"\\x0":"\\x")+e.toString(16);e=String.fromCharCode(e);return e==="\\"||e==="-"||e==="]"||e==="^"?"\\"+e:e}function b(e){var b=e.substring(1,e.length-1).match(/\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\[0-3][0-7]{0,2}|\\[0-7]{1,2}|\\[\S\s]|[^\\]/g),e=[],a=
|
||||
b[0]==="^",c=["["];a&&c.push("^");for(var a=a?1:0,f=b.length;a<f;++a){var h=b[a];if(/\\[bdsw]/i.test(h))c.push(h);else{var h=d(h),l;a+2<f&&"-"===b[a+1]?(l=d(b[a+2]),a+=2):l=h;e.push([h,l]);l<65||h>122||(l<65||h>90||e.push([Math.max(65,h)|32,Math.min(l,90)|32]),l<97||h>122||e.push([Math.max(97,h)&-33,Math.min(l,122)&-33]))}}e.sort(function(e,a){return e[0]-a[0]||a[1]-e[1]});b=[];f=[];for(a=0;a<e.length;++a)h=e[a],h[0]<=f[1]+1?f[1]=Math.max(f[1],h[1]):b.push(f=h);for(a=0;a<b.length;++a)h=b[a],c.push(g(h[0])),
|
||||
h[1]>h[0]&&(h[1]+1>h[0]&&c.push("-"),c.push(g(h[1])));c.push("]");return c.join("")}function s(e){for(var a=e.source.match(/\[(?:[^\\\]]|\\[\S\s])*]|\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\\d+|\\[^\dux]|\(\?[!:=]|[()^]|[^()[\\^]+/g),c=a.length,d=[],f=0,h=0;f<c;++f){var l=a[f];l==="("?++h:"\\"===l.charAt(0)&&(l=+l.substring(1))&&(l<=h?d[l]=-1:a[f]=g(l))}for(f=1;f<d.length;++f)-1===d[f]&&(d[f]=++x);for(h=f=0;f<c;++f)l=a[f],l==="("?(++h,d[h]||(a[f]="(?:")):"\\"===l.charAt(0)&&(l=+l.substring(1))&&l<=h&&
|
||||
(a[f]="\\"+d[l]);for(f=0;f<c;++f)"^"===a[f]&&"^"!==a[f+1]&&(a[f]="");if(e.ignoreCase&&m)for(f=0;f<c;++f)l=a[f],e=l.charAt(0),l.length>=2&&e==="["?a[f]=b(l):e!=="\\"&&(a[f]=l.replace(/[A-Za-z]/g,function(a){a=a.charCodeAt(0);return"["+String.fromCharCode(a&-33,a|32)+"]"}));return a.join("")}for(var x=0,m=!1,j=!1,k=0,c=a.length;k<c;++k){var i=a[k];if(i.ignoreCase)j=!0;else if(/[a-z]/i.test(i.source.replace(/\\u[\da-f]{4}|\\x[\da-f]{2}|\\[^UXux]/gi,""))){m=!0;j=!1;break}}for(var r={b:8,t:9,n:10,v:11,
|
||||
f:12,r:13},n=[],k=0,c=a.length;k<c;++k){i=a[k];if(i.global||i.multiline)throw Error(""+i);n.push("(?:"+s(i)+")")}return RegExp(n.join("|"),j?"gi":"g")}function T(a,d){function g(a){var c=a.nodeType;if(c==1){if(!b.test(a.className)){for(c=a.firstChild;c;c=c.nextSibling)g(c);c=a.nodeName.toLowerCase();if("br"===c||"li"===c)s[j]="\n",m[j<<1]=x++,m[j++<<1|1]=a}}else if(c==3||c==4)c=a.nodeValue,c.length&&(c=d?c.replace(/\r\n?/g,"\n"):c.replace(/[\t\n\r ]+/g," "),s[j]=c,m[j<<1]=x,x+=c.length,m[j++<<1|1]=
|
||||
a)}var b=/(?:^|\s)nocode(?:\s|$)/,s=[],x=0,m=[],j=0;g(a);return{a:s.join("").replace(/\n$/,""),d:m}}function H(a,d,g,b){d&&(a={a:d,e:a},g(a),b.push.apply(b,a.g))}function U(a){for(var d=void 0,g=a.firstChild;g;g=g.nextSibling)var b=g.nodeType,d=b===1?d?a:g:b===3?V.test(g.nodeValue)?a:d:d;return d===a?void 0:d}function C(a,d){function g(a){for(var j=a.e,k=[j,"pln"],c=0,i=a.a.match(s)||[],r={},n=0,e=i.length;n<e;++n){var z=i[n],w=r[z],t=void 0,f;if(typeof w==="string")f=!1;else{var h=b[z.charAt(0)];
|
||||
if(h)t=z.match(h[1]),w=h[0];else{for(f=0;f<x;++f)if(h=d[f],t=z.match(h[1])){w=h[0];break}t||(w="pln")}if((f=w.length>=5&&"lang-"===w.substring(0,5))&&!(t&&typeof t[1]==="string"))f=!1,w="src";f||(r[z]=w)}h=c;c+=z.length;if(f){f=t[1];var l=z.indexOf(f),B=l+f.length;t[2]&&(B=z.length-t[2].length,l=B-f.length);w=w.substring(5);H(j+h,z.substring(0,l),g,k);H(j+h+l,f,I(w,f),k);H(j+h+B,z.substring(B),g,k)}else k.push(j+h,w)}a.g=k}var b={},s;(function(){for(var g=a.concat(d),j=[],k={},c=0,i=g.length;c<i;++c){var r=
|
||||
g[c],n=r[3];if(n)for(var e=n.length;--e>=0;)b[n.charAt(e)]=r;r=r[1];n=""+r;k.hasOwnProperty(n)||(j.push(r),k[n]=q)}j.push(/[\S\s]/);s=S(j)})();var x=d.length;return g}function v(a){var d=[],g=[];a.tripleQuotedStrings?d.push(["str",/^(?:'''(?:[^'\\]|\\[\S\s]|''?(?=[^']))*(?:'''|$)|"""(?:[^"\\]|\\[\S\s]|""?(?=[^"]))*(?:"""|$)|'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$))/,q,"'\""]):a.multiLineStrings?d.push(["str",/^(?:'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$)|`(?:[^\\`]|\\[\S\s])*(?:`|$))/,
|
||||
q,"'\"`"]):d.push(["str",/^(?:'(?:[^\n\r'\\]|\\.)*(?:'|$)|"(?:[^\n\r"\\]|\\.)*(?:"|$))/,q,"\"'"]);a.verbatimStrings&&g.push(["str",/^@"(?:[^"]|"")*(?:"|$)/,q]);var b=a.hashComments;b&&(a.cStyleComments?(b>1?d.push(["com",/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,q,"#"]):d.push(["com",/^#(?:(?:define|e(?:l|nd)if|else|error|ifn?def|include|line|pragma|undef|warning)\b|[^\n\r]*)/,q,"#"]),g.push(["str",/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h(?:h|pp|\+\+)?|[a-z]\w*)>/,q])):d.push(["com",
|
||||
/^#[^\n\r]*/,q,"#"]));a.cStyleComments&&(g.push(["com",/^\/\/[^\n\r]*/,q]),g.push(["com",/^\/\*[\S\s]*?(?:\*\/|$)/,q]));if(b=a.regexLiterals){var s=(b=b>1?"":"\n\r")?".":"[\\S\\s]";g.push(["lang-regex",RegExp("^(?:^^\\.?|[+-]|[!=]=?=?|\\#|%=?|&&?=?|\\(|\\*=?|[+\\-]=|->|\\/=?|::?|<<?=?|>>?>?=?|,|;|\\?|@|\\[|~|{|\\^\\^?=?|\\|\\|?=?|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*("+("/(?=[^/*"+b+"])(?:[^/\\x5B\\x5C"+b+"]|\\x5C"+s+"|\\x5B(?:[^\\x5C\\x5D"+b+"]|\\x5C"+
|
||||
s+")*(?:\\x5D|$))+/")+")")])}(b=a.types)&&g.push(["typ",b]);b=(""+a.keywords).replace(/^ | $/g,"");b.length&&g.push(["kwd",RegExp("^(?:"+b.replace(/[\s,]+/g,"|")+")\\b"),q]);d.push(["pln",/^\s+/,q," \r\n\t\u00a0"]);b="^.[^\\s\\w.$@'\"`/\\\\]*";a.regexLiterals&&(b+="(?!s*/)");g.push(["lit",/^@[$_a-z][\w$@]*/i,q],["typ",/^(?:[@_]?[A-Z]+[a-z][\w$@]*|\w+_t\b)/,q],["pln",/^[$_a-z][\w$@]*/i,q],["lit",/^(?:0x[\da-f]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+-]?\d+)?)[a-z]*/i,q,"0123456789"],["pln",/^\\[\S\s]?/,
|
||||
q],["pun",RegExp(b),q]);return C(d,g)}function J(a,d,g){function b(a){var c=a.nodeType;if(c==1&&!x.test(a.className))if("br"===a.nodeName)s(a),a.parentNode&&a.parentNode.removeChild(a);else for(a=a.firstChild;a;a=a.nextSibling)b(a);else if((c==3||c==4)&&g){var d=a.nodeValue,i=d.match(m);if(i)c=d.substring(0,i.index),a.nodeValue=c,(d=d.substring(i.index+i[0].length))&&a.parentNode.insertBefore(j.createTextNode(d),a.nextSibling),s(a),c||a.parentNode.removeChild(a)}}function s(a){function b(a,c){var d=
|
||||
c?a.cloneNode(!1):a,e=a.parentNode;if(e){var e=b(e,1),g=a.nextSibling;e.appendChild(d);for(var i=g;i;i=g)g=i.nextSibling,e.appendChild(i)}return d}for(;!a.nextSibling;)if(a=a.parentNode,!a)return;for(var a=b(a.nextSibling,0),d;(d=a.parentNode)&&d.nodeType===1;)a=d;c.push(a)}for(var x=/(?:^|\s)nocode(?:\s|$)/,m=/\r\n?|\n/,j=a.ownerDocument,k=j.createElement("li");a.firstChild;)k.appendChild(a.firstChild);for(var c=[k],i=0;i<c.length;++i)b(c[i]);d===(d|0)&&c[0].setAttribute("value",d);var r=j.createElement("ol");
|
||||
r.className="linenums";for(var d=Math.max(0,d-1|0)||0,i=0,n=c.length;i<n;++i)k=c[i],k.className="L"+(i+d)%10,k.firstChild||k.appendChild(j.createTextNode("\u00a0")),r.appendChild(k);a.appendChild(r)}function p(a,d){for(var g=d.length;--g>=0;){var b=d[g];F.hasOwnProperty(b)?D.console&&console.warn("cannot override language handler %s",b):F[b]=a}}function I(a,d){if(!a||!F.hasOwnProperty(a))a=/^\s*</.test(d)?"default-markup":"default-code";return F[a]}function K(a){var d=a.h;try{var g=T(a.c,a.i),b=g.a;
|
||||
a.a=b;a.d=g.d;a.e=0;I(d,b)(a);var s=/\bMSIE\s(\d+)/.exec(navigator.userAgent),s=s&&+s[1]<=8,d=/\n/g,x=a.a,m=x.length,g=0,j=a.d,k=j.length,b=0,c=a.g,i=c.length,r=0;c[i]=m;var n,e;for(e=n=0;e<i;)c[e]!==c[e+2]?(c[n++]=c[e++],c[n++]=c[e++]):e+=2;i=n;for(e=n=0;e<i;){for(var p=c[e],w=c[e+1],t=e+2;t+2<=i&&c[t+1]===w;)t+=2;c[n++]=p;c[n++]=w;e=t}c.length=n;var f=a.c,h;if(f)h=f.style.display,f.style.display="none";try{for(;b<k;){var l=j[b+2]||m,B=c[r+2]||m,t=Math.min(l,B),A=j[b+1],G;if(A.nodeType!==1&&(G=x.substring(g,
|
||||
t))){s&&(G=G.replace(d,"\r"));A.nodeValue=G;var L=A.ownerDocument,o=L.createElement("span");o.className=c[r+1];var v=A.parentNode;v.replaceChild(o,A);o.appendChild(A);g<l&&(j[b+1]=A=L.createTextNode(x.substring(t,l)),v.insertBefore(A,o.nextSibling))}g=t;g>=l&&(b+=2);g>=B&&(r+=2)}}finally{if(f)f.style.display=h}}catch(u){D.console&&console.log(u&&u.stack||u)}}var D=window,y=["break,continue,do,else,for,if,return,while"],E=[[y,"auto,case,char,const,default,double,enum,extern,float,goto,inline,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"],
|
||||
"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"],M=[E,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,delegate,dynamic_cast,explicit,export,friend,generic,late_check,mutable,namespace,nullptr,property,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"],N=[E,"abstract,assert,boolean,byte,extends,final,finally,implements,import,instanceof,interface,null,native,package,strictfp,super,synchronized,throws,transient"],
|
||||
O=[N,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,internal,into,is,let,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var,virtual,where"],E=[E,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"],P=[y,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"],
|
||||
Q=[y,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"],W=[y,"as,assert,const,copy,drop,enum,extern,fail,false,fn,impl,let,log,loop,match,mod,move,mut,priv,pub,pure,ref,self,static,struct,true,trait,type,unsafe,use"],y=[y,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"],R=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)\b/,
|
||||
V=/\S/,X=v({keywords:[M,O,E,"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END",P,Q,y],hashComments:!0,cStyleComments:!0,multiLineStrings:!0,regexLiterals:!0}),F={};p(X,["default-code"]);p(C([],[["pln",/^[^<?]+/],["dec",/^<!\w[^>]*(?:>|$)/],["com",/^<\!--[\S\s]*?(?:--\>|$)/],["lang-",/^<\?([\S\s]+?)(?:\?>|$)/],["lang-",/^<%([\S\s]+?)(?:%>|$)/],["pun",/^(?:<[%?]|[%?]>)/],["lang-",
|
||||
/^<xmp\b[^>]*>([\S\s]+?)<\/xmp\b[^>]*>/i],["lang-js",/^<script\b[^>]*>([\S\s]*?)(<\/script\b[^>]*>)/i],["lang-css",/^<style\b[^>]*>([\S\s]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),["default-markup","htm","html","mxml","xhtml","xml","xsl"]);p(C([["pln",/^\s+/,q," \t\r\n"],["atv",/^(?:"[^"]*"?|'[^']*'?)/,q,"\"'"]],[["tag",/^^<\/?[a-z](?:[\w-.:]*\w)?|\/?>$/i],["atn",/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^\s"'>]*(?:[^\s"'/>]|\/(?=\s)))/],["pun",/^[/<->]+/],
|
||||
["lang-js",/^on\w+\s*=\s*"([^"]+)"/i],["lang-js",/^on\w+\s*=\s*'([^']+)'/i],["lang-js",/^on\w+\s*=\s*([^\s"'>]+)/i],["lang-css",/^style\s*=\s*"([^"]+)"/i],["lang-css",/^style\s*=\s*'([^']+)'/i],["lang-css",/^style\s*=\s*([^\s"'>]+)/i]]),["in.tag"]);p(C([],[["atv",/^[\S\s]+/]]),["uq.val"]);p(v({keywords:M,hashComments:!0,cStyleComments:!0,types:R}),["c","cc","cpp","cxx","cyc","m"]);p(v({keywords:"null,true,false"}),["json"]);p(v({keywords:O,hashComments:!0,cStyleComments:!0,verbatimStrings:!0,types:R}),
|
||||
["cs"]);p(v({keywords:N,cStyleComments:!0}),["java"]);p(v({keywords:y,hashComments:!0,multiLineStrings:!0}),["bash","bsh","csh","sh"]);p(v({keywords:P,hashComments:!0,multiLineStrings:!0,tripleQuotedStrings:!0}),["cv","py","python"]);p(v({keywords:"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END",hashComments:!0,multiLineStrings:!0,regexLiterals:2}),["perl","pl","pm"]);p(v({keywords:Q,
|
||||
hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["rb","ruby"]);p(v({keywords:E,cStyleComments:!0,regexLiterals:!0}),["javascript","js"]);p(v({keywords:"all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,throw,true,try,unless,until,when,while,yes",hashComments:3,cStyleComments:!0,multilineStrings:!0,tripleQuotedStrings:!0,regexLiterals:!0}),["coffee"]);p(v({keywords:W,cStyleComments:!0,multilineStrings:!0}),["rc","rs","rust"]);
|
||||
p(C([],[["str",/^[\S\s]+/]]),["regex"]);var Y=D.PR={createSimpleLexer:C,registerLangHandler:p,sourceDecorator:v,PR_ATTRIB_NAME:"atn",PR_ATTRIB_VALUE:"atv",PR_COMMENT:"com",PR_DECLARATION:"dec",PR_KEYWORD:"kwd",PR_LITERAL:"lit",PR_NOCODE:"nocode",PR_PLAIN:"pln",PR_PUNCTUATION:"pun",PR_SOURCE:"src",PR_STRING:"str",PR_TAG:"tag",PR_TYPE:"typ",prettyPrintOne:D.prettyPrintOne=function(a,d,g){var b=document.createElement("div");b.innerHTML="<pre>"+a+"</pre>";b=b.firstChild;g&&J(b,g,!0);K({h:d,j:g,c:b,i:1});
|
||||
return b.innerHTML},prettyPrint:D.prettyPrint=function(a,d){function g(){for(var b=D.PR_SHOULD_USE_CONTINUATION?c.now()+250:Infinity;i<p.length&&c.now()<b;i++){for(var d=p[i],j=h,k=d;k=k.previousSibling;){var m=k.nodeType,o=(m===7||m===8)&&k.nodeValue;if(o?!/^\??prettify\b/.test(o):m!==3||/\S/.test(k.nodeValue))break;if(o){j={};o.replace(/\b(\w+)=([\w%+\-.:]+)/g,function(a,b,c){j[b]=c});break}}k=d.className;if((j!==h||e.test(k))&&!v.test(k)){m=!1;for(o=d.parentNode;o;o=o.parentNode)if(f.test(o.tagName)&&
|
||||
o.className&&e.test(o.className)){m=!0;break}if(!m){d.className+=" prettyprinted";m=j.lang;if(!m){var m=k.match(n),y;if(!m&&(y=U(d))&&t.test(y.tagName))m=y.className.match(n);m&&(m=m[1])}if(w.test(d.tagName))o=1;else var o=d.currentStyle,u=s.defaultView,o=(o=o?o.whiteSpace:u&&u.getComputedStyle?u.getComputedStyle(d,q).getPropertyValue("white-space"):0)&&"pre"===o.substring(0,3);u=j.linenums;if(!(u=u==="true"||+u))u=(u=k.match(/\blinenums\b(?::(\d+))?/))?u[1]&&u[1].length?+u[1]:!0:!1;u&&J(d,u,o);r=
|
||||
{h:m,c:d,j:u,i:o};K(r)}}}i<p.length?setTimeout(g,250):"function"===typeof a&&a()}for(var b=d||document.body,s=b.ownerDocument||document,b=[b.getElementsByTagName("pre"),b.getElementsByTagName("code"),b.getElementsByTagName("xmp")],p=[],m=0;m<b.length;++m)for(var j=0,k=b[m].length;j<k;++j)p.push(b[m][j]);var b=q,c=Date;c.now||(c={now:function(){return+new Date}});var i=0,r,n=/\blang(?:uage)?-([\w.]+)(?!\S)/,e=/\bprettyprint\b/,v=/\bprettyprinted\b/,w=/pre|xmp/i,t=/^code$/i,f=/^(?:pre|code|xmp)$/i,
|
||||
h={};g()}};typeof define==="function"&&define.amd&&define("google-code-prettify",[],function(){return Y})})();}()
|
||||
@@ -0,0 +1,40 @@
|
||||
function ToFull(txtstring) {
|
||||
var txtstring = $("#content").val();
|
||||
if (txtstring == '') {
|
||||
alert('请输入要转换的字符');
|
||||
return;
|
||||
}
|
||||
var tmp = "";
|
||||
for (var i = 0; i < txtstring.length; i++) {
|
||||
if (txtstring.charCodeAt(i) == 32) {
|
||||
tmp = tmp + String.fromCharCode(12288);
|
||||
}
|
||||
else if (txtstring.charCodeAt(i) < 127) {
|
||||
tmp = tmp + String.fromCharCode(txtstring.charCodeAt(i) + 65248);
|
||||
}
|
||||
else
|
||||
tmp = tmp + String.fromCharCode(txtstring.charCodeAt(i));
|
||||
}
|
||||
hightout("" + tmp + "");
|
||||
}
|
||||
function ToHalf(str) {
|
||||
var str = $("#content").val();
|
||||
if (str == '') {
|
||||
alert('请输入要转换的字符');
|
||||
return;
|
||||
}
|
||||
var tmp = "";
|
||||
for (var i = 0; i < str.length; i++) {
|
||||
if (str.charCodeAt(i) > 65280 && str.charCodeAt(i) < 65375) {
|
||||
tmp += String.fromCharCode(str.charCodeAt(i) - 65248);
|
||||
}
|
||||
else if (str.charCodeAt(i) == 12288) {
|
||||
tmp += String.fromCharCode(32);
|
||||
}
|
||||
else {
|
||||
tmp += String.fromCharCode(str.charCodeAt(i));
|
||||
}
|
||||
}
|
||||
hightout("" + tmp + "");
|
||||
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
function unique(ary) {
|
||||
var i = 0,
|
||||
gid = '_' + (+new Date) + Math.random(),
|
||||
objs = [],
|
||||
hash = {
|
||||
'string': {},
|
||||
'boolean': {},
|
||||
'number': {}
|
||||
}, p, l = ary.length,
|
||||
ret = [];
|
||||
for (; i < l; i++) {
|
||||
p = ary[i];
|
||||
if (p == null) continue;
|
||||
tp = typeof p;
|
||||
if (tp in hash) {
|
||||
if (!(p in hash[tp])) {
|
||||
hash[tp][p] = 1;
|
||||
ret.push(p);
|
||||
}
|
||||
} else {
|
||||
if (p[gid]) continue;
|
||||
p[gid] = 1;
|
||||
objs.push(p);
|
||||
ret.push(p);
|
||||
}
|
||||
}
|
||||
for (i = 0, l = objs.length; i < l; i++) {
|
||||
p = objs[i];
|
||||
p[gid] = undefined;
|
||||
delete p[gid];
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
function process() {
|
||||
list = document.getElementById('content');
|
||||
arr = list.value.split('\n');
|
||||
arr = unique(arr);
|
||||
var html = "";
|
||||
for (key in arr) {
|
||||
html += arr[key] + '\n';
|
||||
}
|
||||
hightout(html);
|
||||
}
|
||||
@@ -0,0 +1,96 @@
|
||||
/*
|
||||
CryptoJS v3.0.2
|
||||
code.google.com/p/crypto-js
|
||||
(c) 2009-2012 by Jeff Mott. All rights reserved.
|
||||
code.google.com/p/crypto-js/wiki/License
|
||||
*/
|
||||
var CryptoJS = CryptoJS || function (n, l) {
|
||||
var i = {}, j = i.lib = {}, k = j.Base = function () { function b() { } return { extend: function (p) { b.prototype = this; var a = new b; p && a.mixIn(p); a.$super = this; return a }, create: function () { var b = this.extend(); b.init.apply(b, arguments); return b }, init: function () { }, mixIn: function (b) { for (var a in b) b.hasOwnProperty(a) && (this[a] = b[a]); b.hasOwnProperty("toString") && (this.toString = b.toString) }, clone: function () { return this.$super.extend(this) } } } (), e = j.WordArray = k.extend({ init: function (b, a) {
|
||||
b =
|
||||
this.words = b || []; this.sigBytes = a != l ? a : 4 * b.length
|
||||
}, toString: function (b) { return (b || c).stringify(this) }, concat: function (b) { var a = this.words, c = b.words, g = this.sigBytes, b = b.sigBytes; this.clamp(); if (g % 4) for (var h = 0; h < b; h++) a[g + h >>> 2] |= (c[h >>> 2] >>> 24 - 8 * (h % 4) & 255) << 24 - 8 * ((g + h) % 4); else if (65535 < c.length) for (h = 0; h < b; h += 4) a[g + h >>> 2] = c[h >>> 2]; else a.push.apply(a, c); this.sigBytes += b; return this }, clamp: function () { var b = this.words, a = this.sigBytes; b[a >>> 2] &= 4294967295 << 32 - 8 * (a % 4); b.length = n.ceil(a / 4) }, clone: function () {
|
||||
var b =
|
||||
k.clone.call(this); b.words = this.words.slice(0); return b
|
||||
}, random: function (b) { for (var a = [], c = 0; c < b; c += 4) a.push(4294967296 * n.random() | 0); return e.create(a, b) }
|
||||
}), d = i.enc = {}, c = d.Hex = { stringify: function (b) { for (var a = b.words, b = b.sigBytes, c = [], g = 0; g < b; g++) { var h = a[g >>> 2] >>> 24 - 8 * (g % 4) & 255; c.push((h >>> 4).toString(16)); c.push((h & 15).toString(16)) } return c.join("") }, parse: function (b) { for (var a = b.length, c = [], g = 0; g < a; g += 2) c[g >>> 3] |= parseInt(b.substr(g, 2), 16) << 24 - 4 * (g % 8); return e.create(c, a / 2) } }, a = d.Latin1 = { stringify: function (b) {
|
||||
for (var a =
|
||||
b.words, b = b.sigBytes, c = [], g = 0; g < b; g++) c.push(String.fromCharCode(a[g >>> 2] >>> 24 - 8 * (g % 4) & 255)); return c.join("")
|
||||
}, parse: function (b) { for (var a = b.length, c = [], g = 0; g < a; g++) c[g >>> 2] |= (b.charCodeAt(g) & 255) << 24 - 8 * (g % 4); return e.create(c, a) }
|
||||
}, f = d.Utf8 = { stringify: function (b) { try { return decodeURIComponent(escape(a.stringify(b))) } catch (c) { throw Error("Malformed UTF-8 data"); } }, parse: function (b) { return a.parse(unescape(encodeURIComponent(b))) } }, o = j.BufferedBlockAlgorithm = k.extend({ reset: function () {
|
||||
this._data = e.create();
|
||||
this._nDataBytes = 0
|
||||
}, _append: function (b) { "string" == typeof b && (b = f.parse(b)); this._data.concat(b); this._nDataBytes += b.sigBytes }, _process: function (b) { var a = this._data, c = a.words, g = a.sigBytes, h = this.blockSize, m = g / (4 * h), m = b ? n.ceil(m) : n.max((m | 0) - this._minBufferSize, 0), b = m * h, g = n.min(4 * b, g); if (b) { for (var o = 0; o < b; o += h) this._doProcessBlock(c, o); o = c.splice(0, b); a.sigBytes -= g } return e.create(o, g) }, clone: function () { var b = k.clone.call(this); b._data = this._data.clone(); return b }, _minBufferSize: 0
|
||||
}); j.Hasher = o.extend({ init: function () { this.reset() },
|
||||
reset: function () { o.reset.call(this); this._doReset() }, update: function (b) { this._append(b); this._process(); return this }, finalize: function (b) { b && this._append(b); this._doFinalize(); return this._hash }, clone: function () { var b = o.clone.call(this); b._hash = this._hash.clone(); return b }, blockSize: 16, _createHelper: function (b) { return function (a, c) { return b.create(c).finalize(a) } }, _createHmacHelper: function (b) { return function (a, c) { return q.HMAC.create(b, c).finalize(a) } }
|
||||
}); var q = i.algo = {}; return i
|
||||
} (Math);
|
||||
(function () {
|
||||
var n = CryptoJS, l = n.lib.WordArray; n.enc.Base64 = { stringify: function (i) { var j = i.words, k = i.sigBytes, e = this._map; i.clamp(); for (var i = [], d = 0; d < k; d += 3) for (var c = (j[d >>> 2] >>> 24 - 8 * (d % 4) & 255) << 16 | (j[d + 1 >>> 2] >>> 24 - 8 * ((d + 1) % 4) & 255) << 8 | j[d + 2 >>> 2] >>> 24 - 8 * ((d + 2) % 4) & 255, a = 0; 4 > a && d + 0.75 * a < k; a++) i.push(e.charAt(c >>> 6 * (3 - a) & 63)); if (j = e.charAt(64)) for (; i.length % 4; ) i.push(j); return i.join("") }, parse: function (i) {
|
||||
var i = i.replace(/\s/g, ""), j = i.length, k = this._map, e = k.charAt(64); e && (e = i.indexOf(e), -1 != e && (j = e));
|
||||
for (var e = [], d = 0, c = 0; c < j; c++) if (c % 4) { var a = k.indexOf(i.charAt(c - 1)) << 2 * (c % 4), f = k.indexOf(i.charAt(c)) >>> 6 - 2 * (c % 4); e[d >>> 2] |= (a | f) << 24 - 8 * (d % 4); d++ } return l.create(e, d)
|
||||
}, _map: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="
|
||||
}
|
||||
})();
|
||||
(function (n) {
|
||||
function l(a, c, b, d, f, g, h) { a = a + (c & b | ~c & d) + f + h; return (a << g | a >>> 32 - g) + c } function i(a, c, b, d, f, g, h) { a = a + (c & d | b & ~d) + f + h; return (a << g | a >>> 32 - g) + c } function j(a, c, b, d, f, g, h) { a = a + (c ^ b ^ d) + f + h; return (a << g | a >>> 32 - g) + c } function k(a, c, b, d, f, g, h) { a = a + (b ^ (c | ~d)) + f + h; return (a << g | a >>> 32 - g) + c } var e = CryptoJS, d = e.lib, c = d.WordArray, d = d.Hasher, a = e.algo, f = []; (function () { for (var a = 0; 64 > a; a++) f[a] = 4294967296 * n.abs(n.sin(a + 1)) | 0 })(); a = a.MD5 = d.extend({ _doReset: function () {
|
||||
this._hash = c.create([1732584193, 4023233417,
|
||||
2562383102, 271733878])
|
||||
}, _doProcessBlock: function (a, c) {
|
||||
for (var b = 0; 16 > b; b++) { var d = c + b, e = a[d]; a[d] = (e << 8 | e >>> 24) & 16711935 | (e << 24 | e >>> 8) & 4278255360 } for (var d = this._hash.words, e = d[0], g = d[1], h = d[2], m = d[3], b = 0; 64 > b; b += 4) 16 > b ? (e = l(e, g, h, m, a[c + b], 7, f[b]), m = l(m, e, g, h, a[c + b + 1], 12, f[b + 1]), h = l(h, m, e, g, a[c + b + 2], 17, f[b + 2]), g = l(g, h, m, e, a[c + b + 3], 22, f[b + 3])) : 32 > b ? (e = i(e, g, h, m, a[c + (b + 1) % 16], 5, f[b]), m = i(m, e, g, h, a[c + (b + 6) % 16], 9, f[b + 1]), h = i(h, m, e, g, a[c + (b + 11) % 16], 14, f[b + 2]), g = i(g, h, m, e, a[c + b % 16], 20, f[b + 3])) : 48 > b ? (e =
|
||||
j(e, g, h, m, a[c + (3 * b + 5) % 16], 4, f[b]), m = j(m, e, g, h, a[c + (3 * b + 8) % 16], 11, f[b + 1]), h = j(h, m, e, g, a[c + (3 * b + 11) % 16], 16, f[b + 2]), g = j(g, h, m, e, a[c + (3 * b + 14) % 16], 23, f[b + 3])) : (e = k(e, g, h, m, a[c + 3 * b % 16], 6, f[b]), m = k(m, e, g, h, a[c + (3 * b + 7) % 16], 10, f[b + 1]), h = k(h, m, e, g, a[c + (3 * b + 14) % 16], 15, f[b + 2]), g = k(g, h, m, e, a[c + (3 * b + 5) % 16], 21, f[b + 3])); d[0] = d[0] + e | 0; d[1] = d[1] + g | 0; d[2] = d[2] + h | 0; d[3] = d[3] + m | 0
|
||||
}, _doFinalize: function () {
|
||||
var a = this._data, c = a.words, b = 8 * this._nDataBytes, d = 8 * a.sigBytes; c[d >>> 5] |= 128 << 24 - d % 32; c[(d + 64 >>> 9 << 4) + 14] = (b << 8 | b >>>
|
||||
24) & 16711935 | (b << 24 | b >>> 8) & 4278255360; a.sigBytes = 4 * (c.length + 1); this._process(); a = this._hash.words; for (c = 0; 4 > c; c++) b = a[c], a[c] = (b << 8 | b >>> 24) & 16711935 | (b << 24 | b >>> 8) & 4278255360
|
||||
}
|
||||
}); e.MD5 = d._createHelper(a); e.HmacMD5 = d._createHmacHelper(a)
|
||||
})(Math);
|
||||
(function () {
|
||||
var n = CryptoJS, l = n.lib, i = l.Base, j = l.WordArray, l = n.algo, k = l.EvpKDF = i.extend({ cfg: i.extend({ keySize: 4, hasher: l.MD5, iterations: 1 }), init: function (e) { this.cfg = this.cfg.extend(e) }, compute: function (e, d) { for (var c = this.cfg, a = c.hasher.create(), f = j.create(), i = f.words, k = c.keySize, c = c.iterations; i.length < k; ) { b && a.update(b); var b = a.update(e).finalize(d); a.reset(); for (var l = 1; l < c; l++) b = a.finalize(b), a.reset(); f.concat(b) } f.sigBytes = 4 * k; return f } }); n.EvpKDF = function (e, d, c) {
|
||||
return k.create(c).compute(e,
|
||||
d)
|
||||
}
|
||||
})();
|
||||
CryptoJS.lib.Cipher || function (n) {
|
||||
var l = CryptoJS, i = l.lib, j = i.Base, k = i.WordArray, e = i.BufferedBlockAlgorithm, d = l.enc.Base64, c = l.algo.EvpKDF, a = i.Cipher = e.extend({ cfg: j.extend(), createEncryptor: function (a, b) { return this.create(this._ENC_XFORM_MODE, a, b) }, createDecryptor: function (a, b) { return this.create(this._DEC_XFORM_MODE, a, b) }, init: function (a, b, c) { this.cfg = this.cfg.extend(c); this._xformMode = a; this._key = b; this.reset() }, reset: function () { e.reset.call(this); this._doReset() }, process: function (a) { this._append(a); return this._process() },
|
||||
finalize: function (a) { a && this._append(a); return this._doFinalize() }, keySize: 4, ivSize: 4, _ENC_XFORM_MODE: 1, _DEC_XFORM_MODE: 2, _createHelper: function () { return function (a) { return { encrypt: function (b, c, d) { return ("string" == typeof c ? r : p).encrypt(a, b, c, d) }, decrypt: function (b, c, d) { return ("string" == typeof c ? r : p).decrypt(a, b, c, d) } } } } ()
|
||||
}); i.StreamCipher = a.extend({ _doFinalize: function () { return this._process(!0) }, blockSize: 1 }); var f = l.mode = {}, o = i.BlockCipherMode = j.extend({ createEncryptor: function (a, b) {
|
||||
return this.Encryptor.create(a,
|
||||
b)
|
||||
}, createDecryptor: function (a, b) { return this.Decryptor.create(a, b) }, init: function (a, b) { this._cipher = a; this._iv = b }
|
||||
}), f = f.CBC = function () {
|
||||
function a(b, c, g) { var d = this._iv; d ? this._iv = n : d = this._prevBlock; for (var h = 0; h < g; h++) b[c + h] ^= d[h] } var b = o.extend(); b.Encryptor = b.extend({ processBlock: function (b, c) { var d = this._cipher, h = d.blockSize; a.call(this, b, c, h); d.encryptBlock(b, c); this._prevBlock = b.slice(c, c + h) } }); b.Decryptor = b.extend({ processBlock: function (b, c) {
|
||||
var d = this._cipher, h = d.blockSize, f = b.slice(c, c +
|
||||
h); d.decryptBlock(b, c); a.call(this, b, c, h); this._prevBlock = f
|
||||
}
|
||||
}); return b
|
||||
} (), q = (l.pad = {}).Pkcs7 = { pad: function (a, b) { for (var c = 4 * b, c = c - a.sigBytes % c, d = c << 24 | c << 16 | c << 8 | c, f = [], e = 0; e < c; e += 4) f.push(d); c = k.create(f, c); a.concat(c) }, unpad: function (a) { a.sigBytes -= a.words[a.sigBytes - 1 >>> 2] & 255 } }; i.BlockCipher = a.extend({ cfg: a.cfg.extend({ mode: f, padding: q }), reset: function () {
|
||||
a.reset.call(this); var b = this.cfg, c = b.iv, b = b.mode; if (this._xformMode == this._ENC_XFORM_MODE) var d = b.createEncryptor; else d = b.createDecryptor,
|
||||
this._minBufferSize = 1; this._mode = d.call(b, this, c && c.words)
|
||||
}, _doProcessBlock: function (a, b) { this._mode.processBlock(a, b) }, _doFinalize: function () { var a = this.cfg.padding; if (this._xformMode == this._ENC_XFORM_MODE) { a.pad(this._data, this.blockSize); var b = this._process(!0) } else b = this._process(!0), a.unpad(b); return b }, blockSize: 4
|
||||
}); var b = i.CipherParams = j.extend({ init: function (a) { this.mixIn(a) }, toString: function (a) { return (a || this.formatter).stringify(this) } }), f = (l.format = {}).OpenSSL = { stringify: function (a) {
|
||||
var b =
|
||||
a.ciphertext, a = a.salt, b = (a ? k.create([1398893684, 1701076831]).concat(a).concat(b) : b).toString(d); return b = b.replace(/(.{64})/g, "$1\n")
|
||||
}, parse: function (a) { var a = d.parse(a), c = a.words; if (1398893684 == c[0] && 1701076831 == c[1]) { var f = k.create(c.slice(2, 4)); c.splice(0, 4); a.sigBytes -= 16 } return b.create({ ciphertext: a, salt: f }) }
|
||||
}, p = i.SerializableCipher = j.extend({ cfg: j.extend({ format: f }), encrypt: function (a, c, d, f) {
|
||||
var f = this.cfg.extend(f), e = a.createEncryptor(d, f), c = e.finalize(c), e = e.cfg; return b.create({ ciphertext: c,
|
||||
key: d, iv: e.iv, algorithm: a, mode: e.mode, padding: e.padding, blockSize: a.blockSize, formatter: f.format
|
||||
})
|
||||
}, decrypt: function (a, b, c, d) { d = this.cfg.extend(d); b = this._parse(b, d.format); return a.createDecryptor(c, d).finalize(b.ciphertext) }, _parse: function (a, b) { return "string" == typeof a ? b.parse(a) : a }
|
||||
}), l = (l.kdf = {}).OpenSSL = { compute: function (a, d, f, e) { e || (e = k.random(8)); a = c.create({ keySize: d + f }).compute(a, e); f = k.create(a.words.slice(d), 4 * f); a.sigBytes = 4 * d; return b.create({ key: a, iv: f, salt: e }) } }, r = i.PasswordBasedCipher =
|
||||
p.extend({ cfg: p.cfg.extend({ kdf: l }), encrypt: function (a, b, c, d) { d = this.cfg.extend(d); c = d.kdf.compute(c, a.keySize, a.ivSize); d.iv = c.iv; a = p.encrypt.call(this, a, b, c.key, d); a.mixIn(c); return a }, decrypt: function (a, b, c, d) { d = this.cfg.extend(d); b = this._parse(b, d.format); c = d.kdf.compute(c, a.keySize, a.ivSize, b.salt); d.iv = c.iv; return p.decrypt.call(this, a, b, c.key, d) } })
|
||||
} ();
|
||||
(function () {
|
||||
function n() {
|
||||
var d = this._X, c = this._C; c[0] = c[0] + 1295307597 + this._b | 0; c[1] = c[1] + 3545052371 + (1295307597 > c[0] >>> 0 ? 1 : 0) | 0; c[2] = c[2] + 886263092 + (3545052371 > c[1] >>> 0 ? 1 : 0) | 0; c[3] = c[3] + 1295307597 + (886263092 > c[2] >>> 0 ? 1 : 0) | 0; c[4] = c[4] + 3545052371 + (1295307597 > c[3] >>> 0 ? 1 : 0) | 0; c[5] = c[5] + 886263092 + (3545052371 > c[4] >>> 0 ? 1 : 0) | 0; c[6] = c[6] + 1295307597 + (886263092 > c[5] >>> 0 ? 1 : 0) | 0; c[7] = c[7] + 3545052371 + (1295307597 > c[6] >>> 0 ? 1 : 0) | 0; this._b = 3545052371 > c[7] >>> 0 ? 1 : 0; for (var a = 0; 8 > a; a++) {
|
||||
var f = d[a] + c[a], e = f & 65535, i = f >>>
|
||||
16; k[a] = ((e * e >>> 17) + e * i >>> 15) + i * i ^ ((f & 4294901760) * f | 0) + ((f & 65535) * f | 0)
|
||||
} var c = k[0], a = k[1], f = k[2], e = k[3], i = k[4], b = k[5], j = k[6], l = k[7]; d[0] = c + (l << 16 | l >>> 16) + (j << 16 | j >>> 16) | 0; d[1] = a + (c << 8 | c >>> 24) + l | 0; d[2] = f + (a << 16 | a >>> 16) + (c << 16 | c >>> 16) | 0; d[3] = e + (f << 8 | f >>> 24) + a | 0; d[4] = i + (e << 16 | e >>> 16) + (f << 16 | f >>> 16) | 0; d[5] = b + (i << 8 | i >>> 24) + e | 0; d[6] = j + (b << 16 | b >>> 16) + (i << 16 | i >>> 16) | 0; d[7] = l + (j << 8 | j >>> 24) + b | 0
|
||||
} var l = CryptoJS, i = l.lib.StreamCipher, j = [], k = [], e = l.algo.Rabbit = i.extend({ _doReset: function () {
|
||||
for (var d = this._key.words,
|
||||
c = d[0], a = d[1], f = d[2], e = d[3], d = this._X = [c, e << 16 | f >>> 16, a, c << 16 | e >>> 16, f, a << 16 | c >>> 16, e, f << 16 | a >>> 16], c = this._C = [f << 16 | f >>> 16, c & 4294901760 | a & 65535, e << 16 | e >>> 16, a & 4294901760 | f & 65535, c << 16 | c >>> 16, f & 4294901760 | e & 65535, a << 16 | a >>> 16, e & 4294901760 | c & 65535], a = this._b = 0; 4 > a; a++) n.call(this); for (a = 0; 8 > a; a++) c[a] ^= d[a + 4 & 7]; if (d = this.cfg.iv) {
|
||||
a = d.words; d = a[0]; a = a[1]; d = (d << 8 | d >>> 24) & 16711935 | (d << 24 | d >>> 8) & 4278255360; a = (a << 8 | a >>> 24) & 16711935 | (a << 24 | a >>> 8) & 4278255360; f = d >>> 16 | a & 4294901760; e = a << 16 | d & 65535; c[0] ^= d; c[1] ^=
|
||||
f; c[2] ^= a; c[3] ^= e; c[4] ^= d; c[5] ^= f; c[6] ^= a; c[7] ^= e; for (a = 0; 4 > a; a++) n.call(this)
|
||||
}
|
||||
}, _doProcessBlock: function (d, c) { var a = this._X; n.call(this); j[0] = a[0] ^ a[5] >>> 16 ^ a[3] << 16; j[1] = a[2] ^ a[7] >>> 16 ^ a[5] << 16; j[2] = a[4] ^ a[1] >>> 16 ^ a[7] << 16; j[3] = a[6] ^ a[3] >>> 16 ^ a[1] << 16; for (a = 0; 4 > a; a++) { var e = j[a], e = (e << 8 | e >>> 24) & 16711935 | (e << 24 | e >>> 8) & 4278255360; d[c + a] ^= e } }, blockSize: 4, ivSize: 2
|
||||
}); l.Rabbit = i._createHelper(e)
|
||||
})();
|
||||
@@ -0,0 +1,135 @@
|
||||
$(document).ready(function() {
|
||||
$('#randomGenerate').click(function() {
|
||||
var test_1 = /^\d+$/.test($('#randomCount').val());
|
||||
var test_2 = /^\d+$/.test($('#randomMinimum').val());
|
||||
var test_3 = /^\d+$/.test($('#randomMaximum').val());
|
||||
if (parseInt($('#randomMinimum').val()) < 0) {
|
||||
$('#randomNumbers').html('最小值必须≥0');
|
||||
} else if (test_1 != true || test_2 != true || test_3 != true) {
|
||||
$('#randomNumbers').html('(必须)请输入:随机数个数,最大值,最小值');
|
||||
} else if (parseInt($('#randomCount').val()) < 1) {
|
||||
$('#randomNumbers').html('(必须)随机数个数 ≥ 1');
|
||||
} else if (parseInt($('#randomMaximum').val()) < 1) {
|
||||
$('#randomNumbers').html('(必须)最大值 ≥1 ');
|
||||
} else if (parseInt($('#randomMaximum').val()) <= parseInt($('#randomMinimum').val())) {
|
||||
$('#randomNumbers').html('(必须)最大值 > 最小值');
|
||||
} else if ($('#randomType').val() == 'unique' && parseInt($('#randomCount').val()) > (parseInt($('#randomMaximum').val()) + 1 - parseInt($('#randomMinimum').val()))) {
|
||||
$('#randomNumbers').html('(必须)随机数个数 ≤ (最大值 - 最小值)');
|
||||
} else {
|
||||
var mTwister = new MersenneTwister();
|
||||
var randomNumbers = new Array();
|
||||
for (var i = 0; i < parseInt($('#randomCount').val()); i++) {
|
||||
var number = (Math.round(mTwister.random() * (parseInt($('#randomMaximum').val()) - parseInt($('#randomMinimum').val()))) + parseInt($('#randomMinimum').val()));
|
||||
var found = false;
|
||||
for (var j = 0; j < randomNumbers.length; j++) {
|
||||
if (randomNumbers[j] == number) {
|
||||
found = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (found == true && $('#randomType').val() == 'unique') {
|
||||
i--;
|
||||
} else {
|
||||
randomNumbers[i] = number;
|
||||
}
|
||||
}
|
||||
$('#randomNumbers').html('');
|
||||
for (var i = 0; i < randomNumbers.length; i++) {
|
||||
$('#randomNumbers').html($('#randomNumbers').html() + (i == 0 ? '': ' ') + '<b>' + randomNumbers[i] + '</b>');
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
var MersenneTwister = function(seed) {
|
||||
if (seed == undefined) {
|
||||
seed = new Date().getTime();
|
||||
}
|
||||
this.N = 624;
|
||||
this.M = 397;
|
||||
this.MATRIX_A = 0x9908b0df;
|
||||
this.UPPER_MASK = 0x80000000;
|
||||
this.LOWER_MASK = 0x7fffffff;
|
||||
this.mt = new Array(this.N);
|
||||
this.mti = this.N + 1;
|
||||
this.init_genrand(seed);
|
||||
};
|
||||
MersenneTwister.prototype.init_genrand = function(s) {
|
||||
this.mt[0] = s >>> 0;
|
||||
for (this.mti = 1; this.mti < this.N; this.mti++) {
|
||||
var s = this.mt[this.mti - 1] ^ (this.mt[this.mti - 1] >>> 30);
|
||||
this.mt[this.mti] = (((((s & 0xffff0000) >>> 16) * 1812433253) << 16) + (s & 0x0000ffff) * 1812433253) + this.mti;
|
||||
this.mt[this.mti] >>>= 0;
|
||||
}
|
||||
};
|
||||
MersenneTwister.prototype.init_by_array = function(init_key, key_length) {
|
||||
var i, j, k;
|
||||
this.init_genrand(19650218);
|
||||
i = 1;
|
||||
j = 0;
|
||||
k = (this.N > key_length ? this.N: key_length);
|
||||
for (; k; k--) {
|
||||
var s = this.mt[i - 1] ^ (this.mt[i - 1] >>> 30);
|
||||
this.mt[i] = (this.mt[i] ^ (((((s & 0xffff0000) >>> 16) * 1664525) << 16) + ((s & 0x0000ffff) * 1664525))); + init_key[j] + j;
|
||||
this.mt[i] >>>= 0;
|
||||
i++;
|
||||
j++;
|
||||
if (i >= this.N) {
|
||||
this.mt[0] = this.mt[this.N - 1];
|
||||
i = 1;
|
||||
}
|
||||
if (j >= key_length) j = 0;
|
||||
}
|
||||
for (k = this.N - 1; k; k--) {
|
||||
var s = this.mt[i - 1] ^ (this.mt[i - 1] >>> 30);
|
||||
this.mt[i] = (this.mt[i] ^ (((((s & 0xffff0000) >>> 16) * 1566083941) << 16) + (s & 0x0000ffff) * 1566083941)) - i;
|
||||
this.mt[i] >>>= 0;
|
||||
i++;
|
||||
if (i >= this.N) {
|
||||
this.mt[0] = this.mt[this.N - 1];
|
||||
i = 1;
|
||||
}
|
||||
}
|
||||
this.mt[0] = 0x80000000;
|
||||
};
|
||||
MersenneTwister.prototype.genrand_int32 = function() {
|
||||
var y;
|
||||
var mag01 = new Array(0x0, this.MATRIX_A);
|
||||
if (this.mti >= this.N) {
|
||||
var kk;
|
||||
if (this.mti == this.N + 1) this.init_genrand(5489);
|
||||
for (kk = 0; kk < this.N - this.M; kk++) {
|
||||
y = (this.mt[kk] & this.UPPER_MASK) | (this.mt[kk + 1] & this.LOWER_MASK);
|
||||
this.mt[kk] = this.mt[kk + this.M] ^ (y >>> 1) ^ mag01[y & 0x1];
|
||||
}
|
||||
for (; kk < this.N - 1; kk++) {
|
||||
y = (this.mt[kk] & this.UPPER_MASK) | (this.mt[kk + 1] & this.LOWER_MASK);
|
||||
this.mt[kk] = this.mt[kk + (this.M - this.N)] ^ (y >>> 1) ^ mag01[y & 0x1];
|
||||
}
|
||||
y = (this.mt[this.N - 1] & this.UPPER_MASK) | (this.mt[0] & this.LOWER_MASK);
|
||||
this.mt[this.N - 1] = this.mt[this.M - 1] ^ (y >>> 1) ^ mag01[y & 0x1];
|
||||
this.mti = 0;
|
||||
}
|
||||
y = this.mt[this.mti++];
|
||||
y ^= (y >>> 11);
|
||||
y ^= (y << 7) & 0x9d2c5680;
|
||||
y ^= (y << 15) & 0xefc60000;
|
||||
y ^= (y >>> 18);
|
||||
return y >>> 0;
|
||||
};
|
||||
MersenneTwister.prototype.genrand_int31 = function() {
|
||||
return (this.genrand_int32() >>> 1);
|
||||
};
|
||||
MersenneTwister.prototype.genrand_real1 = function() {
|
||||
return this.genrand_int32() * (1.0 / 4294967295.0);
|
||||
};
|
||||
MersenneTwister.prototype.random = function() {
|
||||
return this.genrand_int32() * (1.0 / 4294967296.0);
|
||||
};
|
||||
MersenneTwister.prototype.genrand_real3 = function() {
|
||||
return (this.genrand_int32() + 0.5) * (1.0 / 4294967296.0);
|
||||
};
|
||||
MersenneTwister.prototype.genrand_res53 = function() {
|
||||
var a = this.genrand_int32() >>> 5,
|
||||
b = this.genrand_int32() >>> 6;
|
||||
return (a * 67108864.0 + b) * (1.0 / 9007199254740992.0);
|
||||
};
|
||||
@@ -0,0 +1,86 @@
|
||||
/*
|
||||
CryptoJS v3.0.2
|
||||
code.google.com/p/crypto-js
|
||||
(c) 2009-2012 by Jeff Mott. All rights reserved.
|
||||
code.google.com/p/crypto-js/wiki/License
|
||||
*/
|
||||
var CryptoJS = CryptoJS || function (p, j) {
|
||||
var h = {}, m = h.lib = {}, n = m.Base = function () { function a() { } return { extend: function (d) { a.prototype = this; var c = new a; d && c.mixIn(d); c.$super = this; return c }, create: function () { var a = this.extend(); a.init.apply(a, arguments); return a }, init: function () { }, mixIn: function (a) { for (var c in a) a.hasOwnProperty(c) && (this[c] = a[c]); a.hasOwnProperty("toString") && (this.toString = a.toString) }, clone: function () { return this.$super.extend(this) } } } (), b = m.WordArray = n.extend({ init: function (a, d) {
|
||||
a =
|
||||
this.words = a || []; this.sigBytes = d != j ? d : 4 * a.length
|
||||
}, toString: function (a) { return (a || q).stringify(this) }, concat: function (a) { var d = this.words, c = a.words, g = this.sigBytes, a = a.sigBytes; this.clamp(); if (g % 4) for (var f = 0; f < a; f++) d[g + f >>> 2] |= (c[f >>> 2] >>> 24 - 8 * (f % 4) & 255) << 24 - 8 * ((g + f) % 4); else if (65535 < c.length) for (f = 0; f < a; f += 4) d[g + f >>> 2] = c[f >>> 2]; else d.push.apply(d, c); this.sigBytes += a; return this }, clamp: function () { var a = this.words, d = this.sigBytes; a[d >>> 2] &= 4294967295 << 32 - 8 * (d % 4); a.length = p.ceil(d / 4) }, clone: function () {
|
||||
var a =
|
||||
n.clone.call(this); a.words = this.words.slice(0); return a
|
||||
}, random: function (a) { for (var d = [], c = 0; c < a; c += 4) d.push(4294967296 * p.random() | 0); return b.create(d, a) }
|
||||
}), i = h.enc = {}, q = i.Hex = { stringify: function (a) { for (var d = a.words, a = a.sigBytes, c = [], g = 0; g < a; g++) { var f = d[g >>> 2] >>> 24 - 8 * (g % 4) & 255; c.push((f >>> 4).toString(16)); c.push((f & 15).toString(16)) } return c.join("") }, parse: function (a) { for (var d = a.length, c = [], g = 0; g < d; g += 2) c[g >>> 3] |= parseInt(a.substr(g, 2), 16) << 24 - 4 * (g % 8); return b.create(c, d / 2) } }, k = i.Latin1 = { stringify: function (a) {
|
||||
for (var d =
|
||||
a.words, a = a.sigBytes, c = [], g = 0; g < a; g++) c.push(String.fromCharCode(d[g >>> 2] >>> 24 - 8 * (g % 4) & 255)); return c.join("")
|
||||
}, parse: function (a) { for (var d = a.length, c = [], g = 0; g < d; g++) c[g >>> 2] |= (a.charCodeAt(g) & 255) << 24 - 8 * (g % 4); return b.create(c, d) }
|
||||
}, l = i.Utf8 = { stringify: function (a) { try { return decodeURIComponent(escape(k.stringify(a))) } catch (d) { throw Error("Malformed UTF-8 data"); } }, parse: function (a) { return k.parse(unescape(encodeURIComponent(a))) } }, e = m.BufferedBlockAlgorithm = n.extend({ reset: function () {
|
||||
this._data = b.create();
|
||||
this._nDataBytes = 0
|
||||
}, _append: function (a) { "string" == typeof a && (a = l.parse(a)); this._data.concat(a); this._nDataBytes += a.sigBytes }, _process: function (a) { var d = this._data, c = d.words, g = d.sigBytes, f = this.blockSize, o = g / (4 * f), o = a ? p.ceil(o) : p.max((o | 0) - this._minBufferSize, 0), a = o * f, g = p.min(4 * a, g); if (a) { for (var e = 0; e < a; e += f) this._doProcessBlock(c, e); e = c.splice(0, a); d.sigBytes -= g } return b.create(e, g) }, clone: function () { var a = n.clone.call(this); a._data = this._data.clone(); return a }, _minBufferSize: 0
|
||||
}); m.Hasher = e.extend({ init: function () { this.reset() },
|
||||
reset: function () { e.reset.call(this); this._doReset() }, update: function (a) { this._append(a); this._process(); return this }, finalize: function (a) { a && this._append(a); this._doFinalize(); return this._hash }, clone: function () { var a = e.clone.call(this); a._hash = this._hash.clone(); return a }, blockSize: 16, _createHelper: function (a) { return function (d, c) { return a.create(c).finalize(d) } }, _createHmacHelper: function (a) { return function (d, c) { return r.HMAC.create(a, c).finalize(d) } }
|
||||
}); var r = h.algo = {}; return h
|
||||
} (Math);
|
||||
(function () {
|
||||
var p = CryptoJS, j = p.lib.WordArray; p.enc.Base64 = { stringify: function (h) { var m = h.words, j = h.sigBytes, b = this._map; h.clamp(); for (var h = [], i = 0; i < j; i += 3) for (var q = (m[i >>> 2] >>> 24 - 8 * (i % 4) & 255) << 16 | (m[i + 1 >>> 2] >>> 24 - 8 * ((i + 1) % 4) & 255) << 8 | m[i + 2 >>> 2] >>> 24 - 8 * ((i + 2) % 4) & 255, k = 0; 4 > k && i + 0.75 * k < j; k++) h.push(b.charAt(q >>> 6 * (3 - k) & 63)); if (m = b.charAt(64)) for (; h.length % 4; ) h.push(m); return h.join("") }, parse: function (h) {
|
||||
var h = h.replace(/\s/g, ""), m = h.length, n = this._map, b = n.charAt(64); b && (b = h.indexOf(b), -1 != b && (m = b));
|
||||
for (var b = [], i = 0, q = 0; q < m; q++) if (q % 4) { var k = n.indexOf(h.charAt(q - 1)) << 2 * (q % 4), l = n.indexOf(h.charAt(q)) >>> 6 - 2 * (q % 4); b[i >>> 2] |= (k | l) << 24 - 8 * (i % 4); i++ } return j.create(b, i)
|
||||
}, _map: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="
|
||||
}
|
||||
})();
|
||||
(function (p) {
|
||||
function j(e, b, a, d, c, g, f) { e = e + (b & a | ~b & d) + c + f; return (e << g | e >>> 32 - g) + b } function h(e, b, a, d, c, g, f) { e = e + (b & d | a & ~d) + c + f; return (e << g | e >>> 32 - g) + b } function m(e, b, a, d, c, g, f) { e = e + (b ^ a ^ d) + c + f; return (e << g | e >>> 32 - g) + b } function n(e, b, a, d, c, g, f) { e = e + (a ^ (b | ~d)) + c + f; return (e << g | e >>> 32 - g) + b } var b = CryptoJS, i = b.lib, q = i.WordArray, i = i.Hasher, k = b.algo, l = []; (function () { for (var e = 0; 64 > e; e++) l[e] = 4294967296 * p.abs(p.sin(e + 1)) | 0 })(); k = k.MD5 = i.extend({ _doReset: function () {
|
||||
this._hash = q.create([1732584193, 4023233417,
|
||||
2562383102, 271733878])
|
||||
}, _doProcessBlock: function (e, b) {
|
||||
for (var a = 0; 16 > a; a++) { var d = b + a, c = e[d]; e[d] = (c << 8 | c >>> 24) & 16711935 | (c << 24 | c >>> 8) & 4278255360 } for (var d = this._hash.words, c = d[0], g = d[1], f = d[2], o = d[3], a = 0; 64 > a; a += 4) 16 > a ? (c = j(c, g, f, o, e[b + a], 7, l[a]), o = j(o, c, g, f, e[b + a + 1], 12, l[a + 1]), f = j(f, o, c, g, e[b + a + 2], 17, l[a + 2]), g = j(g, f, o, c, e[b + a + 3], 22, l[a + 3])) : 32 > a ? (c = h(c, g, f, o, e[b + (a + 1) % 16], 5, l[a]), o = h(o, c, g, f, e[b + (a + 6) % 16], 9, l[a + 1]), f = h(f, o, c, g, e[b + (a + 11) % 16], 14, l[a + 2]), g = h(g, f, o, c, e[b + a % 16], 20, l[a + 3])) : 48 > a ? (c =
|
||||
m(c, g, f, o, e[b + (3 * a + 5) % 16], 4, l[a]), o = m(o, c, g, f, e[b + (3 * a + 8) % 16], 11, l[a + 1]), f = m(f, o, c, g, e[b + (3 * a + 11) % 16], 16, l[a + 2]), g = m(g, f, o, c, e[b + (3 * a + 14) % 16], 23, l[a + 3])) : (c = n(c, g, f, o, e[b + 3 * a % 16], 6, l[a]), o = n(o, c, g, f, e[b + (3 * a + 7) % 16], 10, l[a + 1]), f = n(f, o, c, g, e[b + (3 * a + 14) % 16], 15, l[a + 2]), g = n(g, f, o, c, e[b + (3 * a + 5) % 16], 21, l[a + 3])); d[0] = d[0] + c | 0; d[1] = d[1] + g | 0; d[2] = d[2] + f | 0; d[3] = d[3] + o | 0
|
||||
}, _doFinalize: function () {
|
||||
var b = this._data, i = b.words, a = 8 * this._nDataBytes, d = 8 * b.sigBytes; i[d >>> 5] |= 128 << 24 - d % 32; i[(d + 64 >>> 9 << 4) + 14] = (a << 8 | a >>>
|
||||
24) & 16711935 | (a << 24 | a >>> 8) & 4278255360; b.sigBytes = 4 * (i.length + 1); this._process(); b = this._hash.words; for (i = 0; 4 > i; i++) a = b[i], b[i] = (a << 8 | a >>> 24) & 16711935 | (a << 24 | a >>> 8) & 4278255360
|
||||
}
|
||||
}); b.MD5 = i._createHelper(k); b.HmacMD5 = i._createHmacHelper(k)
|
||||
})(Math);
|
||||
(function () {
|
||||
var p = CryptoJS, j = p.lib, h = j.Base, m = j.WordArray, j = p.algo, n = j.EvpKDF = h.extend({ cfg: h.extend({ keySize: 4, hasher: j.MD5, iterations: 1 }), init: function (b) { this.cfg = this.cfg.extend(b) }, compute: function (b, i) { for (var h = this.cfg, k = h.hasher.create(), l = m.create(), e = l.words, j = h.keySize, h = h.iterations; e.length < j; ) { a && k.update(a); var a = k.update(b).finalize(i); k.reset(); for (var d = 1; d < h; d++) a = k.finalize(a), k.reset(); l.concat(a) } l.sigBytes = 4 * j; return l } }); p.EvpKDF = function (b, i, h) {
|
||||
return n.create(h).compute(b,
|
||||
i)
|
||||
}
|
||||
})();
|
||||
CryptoJS.lib.Cipher || function (p) {
|
||||
var j = CryptoJS, h = j.lib, m = h.Base, n = h.WordArray, b = h.BufferedBlockAlgorithm, i = j.enc.Base64, q = j.algo.EvpKDF, k = h.Cipher = b.extend({ cfg: m.extend(), createEncryptor: function (g, a) { return this.create(this._ENC_XFORM_MODE, g, a) }, createDecryptor: function (g, a) { return this.create(this._DEC_XFORM_MODE, g, a) }, init: function (a, f, b) { this.cfg = this.cfg.extend(b); this._xformMode = a; this._key = f; this.reset() }, reset: function () { b.reset.call(this); this._doReset() }, process: function (a) { this._append(a); return this._process() },
|
||||
finalize: function (a) { a && this._append(a); return this._doFinalize() }, keySize: 4, ivSize: 4, _ENC_XFORM_MODE: 1, _DEC_XFORM_MODE: 2, _createHelper: function () { return function (a) { return { encrypt: function (f, b, e) { return ("string" == typeof b ? c : d).encrypt(a, f, b, e) }, decrypt: function (f, b, e) { return ("string" == typeof b ? c : d).decrypt(a, f, b, e) } } } } ()
|
||||
}); h.StreamCipher = k.extend({ _doFinalize: function () { return this._process(!0) }, blockSize: 1 }); var l = j.mode = {}, e = h.BlockCipherMode = m.extend({ createEncryptor: function (a, f) {
|
||||
return this.Encryptor.create(a,
|
||||
f)
|
||||
}, createDecryptor: function (a, f) { return this.Decryptor.create(a, f) }, init: function (a, f) { this._cipher = a; this._iv = f }
|
||||
}), l = l.CBC = function () {
|
||||
function a(g, f, b) { var d = this._iv; d ? this._iv = p : d = this._prevBlock; for (var c = 0; c < b; c++) g[f + c] ^= d[c] } var f = e.extend(); f.Encryptor = f.extend({ processBlock: function (f, b) { var d = this._cipher, c = d.blockSize; a.call(this, f, b, c); d.encryptBlock(f, b); this._prevBlock = f.slice(b, b + c) } }); f.Decryptor = f.extend({ processBlock: function (f, b) {
|
||||
var d = this._cipher, c = d.blockSize, e = f.slice(b, b +
|
||||
c); d.decryptBlock(f, b); a.call(this, f, b, c); this._prevBlock = e
|
||||
}
|
||||
}); return f
|
||||
} (), r = (j.pad = {}).Pkcs7 = { pad: function (a, f) { for (var b = 4 * f, b = b - a.sigBytes % b, d = b << 24 | b << 16 | b << 8 | b, c = [], e = 0; e < b; e += 4) c.push(d); b = n.create(c, b); a.concat(b) }, unpad: function (a) { a.sigBytes -= a.words[a.sigBytes - 1 >>> 2] & 255 } }; h.BlockCipher = k.extend({ cfg: k.cfg.extend({ mode: l, padding: r }), reset: function () {
|
||||
k.reset.call(this); var a = this.cfg, b = a.iv, a = a.mode; if (this._xformMode == this._ENC_XFORM_MODE) var d = a.createEncryptor; else d = a.createDecryptor,
|
||||
this._minBufferSize = 1; this._mode = d.call(a, this, b && b.words)
|
||||
}, _doProcessBlock: function (a, b) { this._mode.processBlock(a, b) }, _doFinalize: function () { var a = this.cfg.padding; if (this._xformMode == this._ENC_XFORM_MODE) { a.pad(this._data, this.blockSize); var b = this._process(!0) } else b = this._process(!0), a.unpad(b); return b }, blockSize: 4
|
||||
}); var a = h.CipherParams = m.extend({ init: function (a) { this.mixIn(a) }, toString: function (a) { return (a || this.formatter).stringify(this) } }), l = (j.format = {}).OpenSSL = { stringify: function (a) {
|
||||
var b =
|
||||
a.ciphertext, a = a.salt, b = (a ? n.create([1398893684, 1701076831]).concat(a).concat(b) : b).toString(i); return b = b.replace(/(.{64})/g, "$1\n")
|
||||
}, parse: function (b) { var b = i.parse(b), f = b.words; if (1398893684 == f[0] && 1701076831 == f[1]) { var d = n.create(f.slice(2, 4)); f.splice(0, 4); b.sigBytes -= 16 } return a.create({ ciphertext: b, salt: d }) }
|
||||
}, d = h.SerializableCipher = m.extend({ cfg: m.extend({ format: l }), encrypt: function (b, f, d, c) {
|
||||
var c = this.cfg.extend(c), e = b.createEncryptor(d, c), f = e.finalize(f), e = e.cfg; return a.create({ ciphertext: f,
|
||||
key: d, iv: e.iv, algorithm: b, mode: e.mode, padding: e.padding, blockSize: b.blockSize, formatter: c.format
|
||||
})
|
||||
}, decrypt: function (a, b, d, c) { c = this.cfg.extend(c); b = this._parse(b, c.format); return a.createDecryptor(d, c).finalize(b.ciphertext) }, _parse: function (a, b) { return "string" == typeof a ? b.parse(a) : a }
|
||||
}), j = (j.kdf = {}).OpenSSL = { compute: function (b, d, c, e) { e || (e = n.random(8)); b = q.create({ keySize: d + c }).compute(b, e); c = n.create(b.words.slice(d), 4 * c); b.sigBytes = 4 * d; return a.create({ key: b, iv: c, salt: e }) } }, c = h.PasswordBasedCipher =
|
||||
d.extend({ cfg: d.cfg.extend({ kdf: j }), encrypt: function (a, b, c, e) { e = this.cfg.extend(e); c = e.kdf.compute(c, a.keySize, a.ivSize); e.iv = c.iv; a = d.encrypt.call(this, a, b, c.key, e); a.mixIn(c); return a }, decrypt: function (a, b, c, e) { e = this.cfg.extend(e); b = this._parse(b, e.format); c = e.kdf.compute(c, a.keySize, a.ivSize, b.salt); e.iv = c.iv; return d.decrypt.call(this, a, b, c.key, e) } })
|
||||
} ();
|
||||
(function () {
|
||||
function p() { for (var b = this._S, i = this._i, h = this._j, k = 0, l = 0; 4 > l; l++) { var i = (i + 1) % 256, h = (h + b[i]) % 256, e = b[i]; b[i] = b[h]; b[h] = e; k |= b[(b[i] + b[h]) % 256] << 24 - 8 * l } this._i = i; this._j = h; return k } var j = CryptoJS, h = j.lib.StreamCipher, m = j.algo, n = m.RC4 = h.extend({ _doReset: function () { for (var b = this._key, h = b.words, b = b.sigBytes, j = this._S = [], k = 0; 256 > k; k++) j[k] = k; for (var l = k = 0; 256 > k; k++) { var e = k % b, l = (l + j[k] + (h[e >>> 2] >>> 24 - 8 * (e % 4) & 255)) % 256, e = j[k]; j[k] = j[l]; j[l] = e } this._i = this._j = 0 }, _doProcessBlock: function (b,
|
||||
h) { b[h] ^= p.call(this) }, keySize: 8, ivSize: 0
|
||||
}); j.RC4 = h._createHelper(n); m = m.RC4Drop = n.extend({ cfg: n.cfg.extend({ drop: 192 }), _doReset: function () { n._doReset.call(this); for (var b = this.cfg.drop; 0 < b; b--) p.call(this) } }); j.RC4Drop = h._createHelper(m)
|
||||
})();
|
||||
@@ -0,0 +1,68 @@
|
||||
function setVisible(idElement, visible) {
|
||||
var obj = document.getElementById(idElement);
|
||||
obj.style.visibility = visible ? "visible" : "hidden";
|
||||
}
|
||||
function isValidFields() {
|
||||
var textSource = document.getElementById("textSource");
|
||||
if (null == textSource.value || textSource.value.length < 1) {
|
||||
textSource.focus();
|
||||
pcjson_com_msg($("#textSource"), "请输入待匹配文本");
|
||||
return false;
|
||||
}
|
||||
var textPattern = document.getElementById("textPattern");
|
||||
if (null == textPattern.value || textPattern.value.length < 1) {
|
||||
textPattern.focus();
|
||||
pcjson_com_msg($("#textPattern"), "请输入正则表达式");
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
function buildRegex() {
|
||||
var op = "";
|
||||
if (document.getElementById("optionGlobal").checked) op = "g";
|
||||
if (document.getElementById("optionIgnoreCase").checked) op = op + "i";
|
||||
return new RegExp(document.getElementById("textPattern").value, op);
|
||||
}
|
||||
function onMatch() {
|
||||
if (!isValidFields())
|
||||
return false;
|
||||
document.getElementById("textMatchResult").value = "";
|
||||
var regex = buildRegex();
|
||||
var result = document.getElementById("textSource").value.match(regex);
|
||||
if (null == result || 0 == result.length) {
|
||||
document.getElementById("textMatchResult").value = "(没有匹配)";
|
||||
return false;
|
||||
}
|
||||
if (document.getElementById("optionGlobal").checked) {
|
||||
var strResult = "共找到 " + result.length + " 处匹配:\r\n";
|
||||
for (var i = 0; i < result.length; ++i) strResult = strResult + result[i] + "\r\n";
|
||||
document.getElementById("textMatchResult").value = strResult;
|
||||
}
|
||||
else {
|
||||
document.getElementById("textMatchResult").value = "匹配位置:" + regex.lastIndex + "\r\n匹配结果:" + result[0];
|
||||
}
|
||||
return true;
|
||||
}
|
||||
function onReplace() {
|
||||
var str = document.getElementById("textSource").value;
|
||||
var regex = buildRegex();
|
||||
document.getElementById("textReplaceResult").value = str.replace(regex, document.getElementById("textReplace").value);
|
||||
}
|
||||
function reset() {
|
||||
$("#textSource").val("");
|
||||
$("#textPattern").val("");
|
||||
$("#textMatchResult").val("");
|
||||
$("#textReplace").val("");
|
||||
$("#textReplaceResult").val("");
|
||||
}
|
||||
$("#regCommon a").click(function () {
|
||||
$("#textPattern").val($(this).attr("t"));
|
||||
onMatch();
|
||||
});
|
||||
function Empty() {
|
||||
$("#textSource").val("");
|
||||
$("#textMatchResult").val("");
|
||||
$("#textReplace").val("");
|
||||
$("#textReplaceResult").val("");
|
||||
$("#textSource").select();
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
$("#regCommon a").click(function () {
|
||||
$("#searchText").val($(this).attr("t"));
|
||||
});
|
||||
function GetCode() {
|
||||
var sllanguagelist = $("#sllanguagelist").val();
|
||||
var searchText = $("#searchText").val();
|
||||
if (searchText != "") {
|
||||
if (sllanguagelist == 'go' || sllanguagelist == 'java') {
|
||||
searchText = searchText.replace(/\\/gi, "\\");
|
||||
}
|
||||
if (sllanguagelist != "") {
|
||||
var resultstr = "";
|
||||
switch (sllanguagelist) {
|
||||
case 'javascript': resultstr = "var pattern = /" + searchText + "/;\nstr = '';\nconsole.log(pattern.test(str));"; break;
|
||||
case 'php': resultstr = "$str = '';\n$isMatched = preg_match('/" + searchText + "/', $str, $matches);\nvar_dump($isMatched, $matches);"; break;
|
||||
case 'go': resultstr = "package main\n\nimport (\n\t\"fmt\"\n\t\"regexp\"\n)\n\nfunc main() {\n\tstr := \"\"\n\tmatched, err := regexp.MatchString(\"" + searchText + "\", str)\n\tfmt.Println(matched, err)\n}"; break;
|
||||
case 'java': resultstr = "import java.util.regex.Matcher;\nimport java.util.regex.Pattern;\n\npublic class RegexMatches {\n\t\n\tpublic static void main(String args[]) {\n\t\tString str = \"\";\n\t\tString pattern = \"" + searchText + "\";\n\n\t\tPattern r = Pattern.compile(pattern);\n\t\tMatcher m = r.matcher(str);\n\t\tSystem.out.println(m.matches());\n\t}\n\n}"; break;
|
||||
case 'rb': resultstr = "pattern = /" + searchText + "/\nstr = ''\np pattern.match(str)"; break;
|
||||
case 'python': resultstr = "import re\npattern = re.compile(ur'" + searchText + "')\nstr = u''\nprint(pattern.search(str))"; break;
|
||||
case 'csharp': resultstr = "str = \"\";\nRegex r = new Regex(\"/" + searchText + "/\");\nif (!r.IsMatch(str))\n{\n\treturn \"此次验证不通过\";\n}\n//需要添加此引用:using System.Text.RegularExpressions;"; break;
|
||||
}
|
||||
hightout(resultstr);
|
||||
}
|
||||
else {
|
||||
pcjson_com_msg($("#sllanguagelist"), "请选择生成语言");
|
||||
}
|
||||
}
|
||||
else {
|
||||
pcjson_com_msg($("#searchText"), "请先输入正则表达式");
|
||||
}
|
||||
}
|
||||
function Empty() {
|
||||
$("#searchText").val("");
|
||||
$("#result").html("");
|
||||
$("#searchText").select();
|
||||
$("pre").hide();
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
var run = false;
|
||||
var timer;
|
||||
var startButton;
|
||||
var endButton;
|
||||
|
||||
$(document).ready(function () {
|
||||
startButton = $('#startButton');
|
||||
endButton = $('#endButton');
|
||||
});
|
||||
|
||||
function refresh() {
|
||||
|
||||
if (run) {
|
||||
var url = $('#url').val();
|
||||
var frame = $('#frame');
|
||||
frame.attr('src', '?url=' + encodeURIComponent(url));
|
||||
var times = $('#times');
|
||||
times.val(parseInt(times.val()) + 1);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
function startRefresh() {
|
||||
run = true;
|
||||
try {
|
||||
startButton.hide();
|
||||
endButton.show();
|
||||
var frequency = parseInt($('#frequency').val());
|
||||
refresh();
|
||||
timer = setInterval("refresh()", frequency * 1000);
|
||||
} catch (Exception) {
|
||||
startButton.show();
|
||||
endButton.hide();
|
||||
showmsg('设置错误');
|
||||
}
|
||||
}
|
||||
|
||||
function endRefresh() {
|
||||
run = false;
|
||||
clearInterval(timer);
|
||||
startButton.show();
|
||||
endButton.hide();
|
||||
}
|
||||
function showmsg(msg) {
|
||||
$('#errdiv').show();
|
||||
$('#errdiv').text(msg);
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
$(function () {
|
||||
$("#btnToRem").click(function () {
|
||||
var text = $("#content").val();
|
||||
var rem = $("#txtRemIntalize").val();
|
||||
if (text == "") {
|
||||
pcjson_com_msg($("#content"),"请填写要转换的CSS");
|
||||
}
|
||||
else if (rem == "") {
|
||||
pcjson_com_msg($("#content"),"请填写1rem等于多少px值");
|
||||
}else if (rem <= 0) {
|
||||
pcjson_com_msg($("#content"),"请填写正确的px值");
|
||||
}
|
||||
else {
|
||||
text = cssChanger['format']($("#content").val());
|
||||
var arr = text.split("\n");
|
||||
var sb = '';
|
||||
for (var i = 0; i < arr.length; i++) {
|
||||
var line = arr[i];
|
||||
sb += line.replace(/\d+px/g, function (px) {
|
||||
if ($("#chkIgnoreBorder").is(":checked")) {
|
||||
if (!/border:/ig.test(line)) {
|
||||
return (parseInt(px) / parseInt(rem)) + "rem";
|
||||
}else {
|
||||
return px;
|
||||
}
|
||||
}else {
|
||||
return (parseInt(px) / parseInt(rem)) + "rem";
|
||||
}
|
||||
}) + "\n";
|
||||
}
|
||||
var source = $("#content").val();
|
||||
var sourceArr = source.split("\n");
|
||||
var len = sourceArr.length;
|
||||
if (len > 1) {
|
||||
sb = cssChanger['format'](sb);
|
||||
}else {
|
||||
sb = cssChanger['pack'](sb);
|
||||
}
|
||||
hightout(sb);
|
||||
}
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,134 @@
|
||||
String.prototype.startWith = function (str) {
|
||||
var reg = new RegExp("^" + str);
|
||||
return reg.test(this);
|
||||
}
|
||||
|
||||
String.prototype.trim = function () {
|
||||
return this.replace(/(^\s*)|(\s*$)/g, "");
|
||||
}
|
||||
|
||||
$(function () {
|
||||
$("#hexInp").keyup(function () {
|
||||
var hex = $(this).val().trim();
|
||||
if (hex.startWith('#')) {
|
||||
hex = hex.substr(1, hex.length);
|
||||
}
|
||||
if (hex.length == 3) {
|
||||
var arr = hex.split('');
|
||||
_a1 = arr[0];
|
||||
_a2 = arr[1];
|
||||
_a3 = arr[2];
|
||||
hex = _a1 + _a1 + _a2 + _a2 + _a3 + _a3;
|
||||
}
|
||||
//alert(hex);
|
||||
var rgb = HexToRGB(hex);
|
||||
if (appendRgb.checked) {
|
||||
rgb = "rgb(" + rgb + ")";
|
||||
}
|
||||
$("#outRgb").val(rgb);
|
||||
});
|
||||
|
||||
$("#appendRgb").click(function () {
|
||||
var oldOutRgb = $("#outRgb").val().trim();
|
||||
if (oldOutRgb != "") {
|
||||
|
||||
if ($(this).is(":checked")) {
|
||||
|
||||
oldOutRgb = "rgb(" + oldOutRgb + ")";
|
||||
} else {
|
||||
oldOutRgb = oldOutRgb.replace("rgb(", "").replace(")", "");
|
||||
}
|
||||
$("#outRgb").val(oldOutRgb);
|
||||
}
|
||||
});
|
||||
|
||||
$("#rgbInp").keyup(function () {
|
||||
var rgb = $(this).val();
|
||||
rgb = rgb.toUpperCase();
|
||||
if (rgb.startsWith("RGB")) {
|
||||
rgb = rgb.replace("RGB(", "").replace(")", "");
|
||||
}
|
||||
var rgb1 = "";
|
||||
if (rgb.indexOf(",") != -1) {
|
||||
rgb1 = rgb.split(",");
|
||||
} else if (rgb.indexOf(" ") != -1) {
|
||||
rgb1 = rgb.split(" ");
|
||||
}
|
||||
$("#outHex").val("#" + RGBToHex(rgb1));
|
||||
});
|
||||
})
|
||||
function GiveRGB(Hex) {
|
||||
if (Hex == "A")
|
||||
Value = 10;
|
||||
else
|
||||
if (Hex == "B")
|
||||
Value = 11;
|
||||
else
|
||||
if (Hex == "C")
|
||||
Value = 12;
|
||||
else
|
||||
if (Hex == "D")
|
||||
Value = 13;
|
||||
else
|
||||
if (Hex == "E")
|
||||
Value = 14;
|
||||
else
|
||||
if (Hex == "F")
|
||||
Value = 15;
|
||||
else
|
||||
Value = eval(Hex)
|
||||
return Value;
|
||||
}
|
||||
function GiveHex(RGB) {
|
||||
if (RGB == 10)
|
||||
Value = "A";
|
||||
else
|
||||
if (RGB == 11)
|
||||
Value = "B";
|
||||
else
|
||||
if (RGB == 12)
|
||||
Value = "C";
|
||||
else
|
||||
if (RGB == 13)
|
||||
Value = "D";
|
||||
else
|
||||
if (RGB == 14)
|
||||
Value = "E";
|
||||
else
|
||||
if (RGB == 15)
|
||||
Value = "F";
|
||||
else
|
||||
Value = "" + RGB;
|
||||
return Value;
|
||||
}
|
||||
function HexToRGB(Input) {
|
||||
Input = Input.toUpperCase();
|
||||
|
||||
a = GiveRGB(Input.substring(0, 1));
|
||||
b = GiveRGB(Input.substring(1, 2));
|
||||
c = GiveRGB(Input.substring(2, 3));
|
||||
d = GiveRGB(Input.substring(3, 4));
|
||||
e = GiveRGB(Input.substring(4, 5));
|
||||
f = GiveRGB(Input.substring(5, 6));
|
||||
|
||||
x = (a * 16) + b;
|
||||
y = (c * 16) + d;
|
||||
z = (e * 16) + f;
|
||||
return x + "," + y + "," + z;
|
||||
}
|
||||
function RGBToHex(rgb1) {
|
||||
Red = rgb1[0];
|
||||
Green = rgb1[1];
|
||||
Blue = rgb1[2];
|
||||
|
||||
a = GiveHex(Math.floor(Red / 16));
|
||||
b = GiveHex(Red % 16);
|
||||
c = GiveHex(Math.floor(Green / 16));
|
||||
d = GiveHex(Green % 16);
|
||||
e = GiveHex(Math.floor(Blue / 16));
|
||||
f = GiveHex(Blue % 16);
|
||||
|
||||
z = a + b + c + d + e + f;
|
||||
|
||||
return z;
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
/*
|
||||
CryptoJS v3.0.2
|
||||
code.google.com/p/crypto-js
|
||||
(c) 2009-2012 by Jeff Mott. All rights reserved.
|
||||
code.google.com/p/crypto-js/wiki/License
|
||||
*/
|
||||
var CryptoJS=CryptoJS||function(i,m){var p={},h=p.lib={},n=h.Base=function(){function a(){}return{extend:function(b){a.prototype=this;var c=new a;b&&c.mixIn(b);c.$super=this;return c},create:function(){var a=this.extend();a.init.apply(a,arguments);return a},init:function(){},mixIn:function(a){for(var c in a)a.hasOwnProperty(c)&&(this[c]=a[c]);a.hasOwnProperty("toString")&&(this.toString=a.toString)},clone:function(){return this.$super.extend(this)}}}(),o=h.WordArray=n.extend({init:function(a,b){a=
|
||||
this.words=a||[];this.sigBytes=b!=m?b:4*a.length},toString:function(a){return(a||e).stringify(this)},concat:function(a){var b=this.words,c=a.words,d=this.sigBytes,a=a.sigBytes;this.clamp();if(d%4)for(var f=0;f<a;f++)b[d+f>>>2]|=(c[f>>>2]>>>24-8*(f%4)&255)<<24-8*((d+f)%4);else if(65535<c.length)for(f=0;f<a;f+=4)b[d+f>>>2]=c[f>>>2];else b.push.apply(b,c);this.sigBytes+=a;return this},clamp:function(){var a=this.words,b=this.sigBytes;a[b>>>2]&=4294967295<<32-8*(b%4);a.length=i.ceil(b/4)},clone:function(){var a=
|
||||
n.clone.call(this);a.words=this.words.slice(0);return a},random:function(a){for(var b=[],c=0;c<a;c+=4)b.push(4294967296*i.random()|0);return o.create(b,a)}}),q=p.enc={},e=q.Hex={stringify:function(a){for(var b=a.words,a=a.sigBytes,c=[],d=0;d<a;d++){var f=b[d>>>2]>>>24-8*(d%4)&255;c.push((f>>>4).toString(16));c.push((f&15).toString(16))}return c.join("")},parse:function(a){for(var b=a.length,c=[],d=0;d<b;d+=2)c[d>>>3]|=parseInt(a.substr(d,2),16)<<24-4*(d%8);return o.create(c,b/2)}},g=q.Latin1={stringify:function(a){for(var b=
|
||||
a.words,a=a.sigBytes,c=[],d=0;d<a;d++)c.push(String.fromCharCode(b[d>>>2]>>>24-8*(d%4)&255));return c.join("")},parse:function(a){for(var b=a.length,c=[],d=0;d<b;d++)c[d>>>2]|=(a.charCodeAt(d)&255)<<24-8*(d%4);return o.create(c,b)}},j=q.Utf8={stringify:function(a){try{return decodeURIComponent(escape(g.stringify(a)))}catch(b){throw Error("Malformed UTF-8 data");}},parse:function(a){return g.parse(unescape(encodeURIComponent(a)))}},k=h.BufferedBlockAlgorithm=n.extend({reset:function(){this._data=o.create();
|
||||
this._nDataBytes=0},_append:function(a){"string"==typeof a&&(a=j.parse(a));this._data.concat(a);this._nDataBytes+=a.sigBytes},_process:function(a){var b=this._data,c=b.words,d=b.sigBytes,f=this.blockSize,e=d/(4*f),e=a?i.ceil(e):i.max((e|0)-this._minBufferSize,0),a=e*f,d=i.min(4*a,d);if(a){for(var g=0;g<a;g+=f)this._doProcessBlock(c,g);g=c.splice(0,a);b.sigBytes-=d}return o.create(g,d)},clone:function(){var a=n.clone.call(this);a._data=this._data.clone();return a},_minBufferSize:0});h.Hasher=k.extend({init:function(){this.reset()},
|
||||
reset:function(){k.reset.call(this);this._doReset()},update:function(a){this._append(a);this._process();return this},finalize:function(a){a&&this._append(a);this._doFinalize();return this._hash},clone:function(){var a=k.clone.call(this);a._hash=this._hash.clone();return a},blockSize:16,_createHelper:function(a){return function(b,c){return a.create(c).finalize(b)}},_createHmacHelper:function(a){return function(b,c){return l.HMAC.create(a,c).finalize(b)}}});var l=p.algo={};return p}(Math);
|
||||
(function(){var i=CryptoJS,m=i.lib,p=m.WordArray,m=m.Hasher,h=[],n=i.algo.SHA1=m.extend({_doReset:function(){this._hash=p.create([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(o,i){for(var e=this._hash.words,g=e[0],j=e[1],k=e[2],l=e[3],a=e[4],b=0;80>b;b++){if(16>b)h[b]=o[i+b]|0;else{var c=h[b-3]^h[b-8]^h[b-14]^h[b-16];h[b]=c<<1|c>>>31}c=(g<<5|g>>>27)+a+h[b];c=20>b?c+((j&k|~j&l)+1518500249):40>b?c+((j^k^l)+1859775393):60>b?c+((j&k|j&l|k&l)-1894007588):c+((j^k^l)-
|
||||
899497514);a=l;l=k;k=j<<30|j>>>2;j=g;g=c}e[0]=e[0]+g|0;e[1]=e[1]+j|0;e[2]=e[2]+k|0;e[3]=e[3]+l|0;e[4]=e[4]+a|0},_doFinalize:function(){var i=this._data,h=i.words,e=8*this._nDataBytes,g=8*i.sigBytes;h[g>>>5]|=128<<24-g%32;h[(g+64>>>9<<4)+15]=e;i.sigBytes=4*h.length;this._process()}});i.SHA1=m._createHelper(n);i.HmacSHA1=m._createHmacHelper(n)})();
|
||||
@@ -0,0 +1,15 @@
|
||||
/*
|
||||
CryptoJS v3.0.2
|
||||
code.google.com/p/crypto-js
|
||||
(c) 2009-2012 by Jeff Mott. All rights reserved.
|
||||
code.google.com/p/crypto-js/wiki/License
|
||||
*/
|
||||
var CryptoJS=CryptoJS||function(i,p){var f={},q=f.lib={},j=q.Base=function(){function a(){}return{extend:function(h){a.prototype=this;var d=new a;h&&d.mixIn(h);d.$super=this;return d},create:function(){var a=this.extend();a.init.apply(a,arguments);return a},init:function(){},mixIn:function(a){for(var d in a)a.hasOwnProperty(d)&&(this[d]=a[d]);a.hasOwnProperty("toString")&&(this.toString=a.toString)},clone:function(){return this.$super.extend(this)}}}(),k=q.WordArray=j.extend({init:function(a,h){a=
|
||||
this.words=a||[];this.sigBytes=h!=p?h:4*a.length},toString:function(a){return(a||m).stringify(this)},concat:function(a){var h=this.words,d=a.words,c=this.sigBytes,a=a.sigBytes;this.clamp();if(c%4)for(var b=0;b<a;b++)h[c+b>>>2]|=(d[b>>>2]>>>24-8*(b%4)&255)<<24-8*((c+b)%4);else if(65535<d.length)for(b=0;b<a;b+=4)h[c+b>>>2]=d[b>>>2];else h.push.apply(h,d);this.sigBytes+=a;return this},clamp:function(){var a=this.words,b=this.sigBytes;a[b>>>2]&=4294967295<<32-8*(b%4);a.length=i.ceil(b/4)},clone:function(){var a=
|
||||
j.clone.call(this);a.words=this.words.slice(0);return a},random:function(a){for(var b=[],d=0;d<a;d+=4)b.push(4294967296*i.random()|0);return k.create(b,a)}}),r=f.enc={},m=r.Hex={stringify:function(a){for(var b=a.words,a=a.sigBytes,d=[],c=0;c<a;c++){var e=b[c>>>2]>>>24-8*(c%4)&255;d.push((e>>>4).toString(16));d.push((e&15).toString(16))}return d.join("")},parse:function(a){for(var b=a.length,d=[],c=0;c<b;c+=2)d[c>>>3]|=parseInt(a.substr(c,2),16)<<24-4*(c%8);return k.create(d,b/2)}},s=r.Latin1={stringify:function(a){for(var b=
|
||||
a.words,a=a.sigBytes,d=[],c=0;c<a;c++)d.push(String.fromCharCode(b[c>>>2]>>>24-8*(c%4)&255));return d.join("")},parse:function(a){for(var b=a.length,d=[],c=0;c<b;c++)d[c>>>2]|=(a.charCodeAt(c)&255)<<24-8*(c%4);return k.create(d,b)}},g=r.Utf8={stringify:function(a){try{return decodeURIComponent(escape(s.stringify(a)))}catch(b){throw Error("Malformed UTF-8 data");}},parse:function(a){return s.parse(unescape(encodeURIComponent(a)))}},b=q.BufferedBlockAlgorithm=j.extend({reset:function(){this._data=k.create();
|
||||
this._nDataBytes=0},_append:function(a){"string"==typeof a&&(a=g.parse(a));this._data.concat(a);this._nDataBytes+=a.sigBytes},_process:function(a){var b=this._data,d=b.words,c=b.sigBytes,e=this.blockSize,f=c/(4*e),f=a?i.ceil(f):i.max((f|0)-this._minBufferSize,0),a=f*e,c=i.min(4*a,c);if(a){for(var g=0;g<a;g+=e)this._doProcessBlock(d,g);g=d.splice(0,a);b.sigBytes-=c}return k.create(g,c)},clone:function(){var a=j.clone.call(this);a._data=this._data.clone();return a},_minBufferSize:0});q.Hasher=b.extend({init:function(){this.reset()},
|
||||
reset:function(){b.reset.call(this);this._doReset()},update:function(a){this._append(a);this._process();return this},finalize:function(a){a&&this._append(a);this._doFinalize();return this._hash},clone:function(){var a=b.clone.call(this);a._hash=this._hash.clone();return a},blockSize:16,_createHelper:function(a){return function(b,d){return a.create(d).finalize(b)}},_createHmacHelper:function(a){return function(b,d){return e.HMAC.create(a,d).finalize(b)}}});var e=f.algo={};return f}(Math);
|
||||
(function(i){var p=CryptoJS,f=p.lib,q=f.WordArray,f=f.Hasher,j=p.algo,k=[],r=[];(function(){function f(a){for(var b=i.sqrt(a),d=2;d<=b;d++)if(!(a%d))return!1;return!0}function g(a){return 4294967296*(a-(a|0))|0}for(var b=2,e=0;64>e;)f(b)&&(8>e&&(k[e]=g(i.pow(b,0.5))),r[e]=g(i.pow(b,1/3)),e++),b++})();var m=[],j=j.SHA256=f.extend({_doReset:function(){this._hash=q.create(k.slice(0))},_doProcessBlock:function(f,g){for(var b=this._hash.words,e=b[0],a=b[1],h=b[2],d=b[3],c=b[4],i=b[5],j=b[6],k=b[7],l=0;64>
|
||||
l;l++){if(16>l)m[l]=f[g+l]|0;else{var n=m[l-15],o=m[l-2];m[l]=((n<<25|n>>>7)^(n<<14|n>>>18)^n>>>3)+m[l-7]+((o<<15|o>>>17)^(o<<13|o>>>19)^o>>>10)+m[l-16]}n=k+((c<<26|c>>>6)^(c<<21|c>>>11)^(c<<7|c>>>25))+(c&i^~c&j)+r[l]+m[l];o=((e<<30|e>>>2)^(e<<19|e>>>13)^(e<<10|e>>>22))+(e&a^e&h^a&h);k=j;j=i;i=c;c=d+n|0;d=h;h=a;a=e;e=n+o|0}b[0]=b[0]+e|0;b[1]=b[1]+a|0;b[2]=b[2]+h|0;b[3]=b[3]+d|0;b[4]=b[4]+c|0;b[5]=b[5]+i|0;b[6]=b[6]+j|0;b[7]=b[7]+k|0},_doFinalize:function(){var f=this._data,g=f.words,b=8*this._nDataBytes,
|
||||
e=8*f.sigBytes;g[e>>>5]|=128<<24-e%32;g[(e+64>>>9<<4)+15]=b;f.sigBytes=4*g.length;this._process()}});p.SHA256=f._createHelper(j);p.HmacSHA256=f._createHmacHelper(j)})(Math);
|
||||
@@ -0,0 +1,23 @@
|
||||
/*
|
||||
CryptoJS v3.0.2
|
||||
code.google.com/p/crypto-js
|
||||
(c) 2009-2012 by Jeff Mott. All rights reserved.
|
||||
code.google.com/p/crypto-js/wiki/License
|
||||
*/
|
||||
var CryptoJS=CryptoJS||function(a,g){var m={},e=m.lib={},q=e.Base=function(){function a(){}return{extend:function(b){a.prototype=this;var d=new a;b&&d.mixIn(b);d.$super=this;return d},create:function(){var a=this.extend();a.init.apply(a,arguments);return a},init:function(){},mixIn:function(a){for(var k in a)a.hasOwnProperty(k)&&(this[k]=a[k]);a.hasOwnProperty("toString")&&(this.toString=a.toString)},clone:function(){return this.$super.extend(this)}}}(),r=e.WordArray=q.extend({init:function(a,b){a=
|
||||
this.words=a||[];this.sigBytes=b!=g?b:4*a.length},toString:function(a){return(a||n).stringify(this)},concat:function(a){var b=this.words,d=a.words,c=this.sigBytes,a=a.sigBytes;this.clamp();if(c%4)for(var i=0;i<a;i++)b[c+i>>>2]|=(d[i>>>2]>>>24-8*(i%4)&255)<<24-8*((c+i)%4);else if(65535<d.length)for(i=0;i<a;i+=4)b[c+i>>>2]=d[i>>>2];else b.push.apply(b,d);this.sigBytes+=a;return this},clamp:function(){var k=this.words,b=this.sigBytes;k[b>>>2]&=4294967295<<32-8*(b%4);k.length=a.ceil(b/4)},clone:function(){var a=
|
||||
q.clone.call(this);a.words=this.words.slice(0);return a},random:function(k){for(var b=[],d=0;d<k;d+=4)b.push(4294967296*a.random()|0);return r.create(b,k)}}),y=m.enc={},n=y.Hex={stringify:function(a){for(var b=a.words,a=a.sigBytes,d=[],c=0;c<a;c++){var i=b[c>>>2]>>>24-8*(c%4)&255;d.push((i>>>4).toString(16));d.push((i&15).toString(16))}return d.join("")},parse:function(a){for(var b=a.length,d=[],c=0;c<b;c+=2)d[c>>>3]|=parseInt(a.substr(c,2),16)<<24-4*(c%8);return r.create(d,b/2)}},l=y.Latin1={stringify:function(a){for(var b=
|
||||
a.words,a=a.sigBytes,d=[],c=0;c<a;c++)d.push(String.fromCharCode(b[c>>>2]>>>24-8*(c%4)&255));return d.join("")},parse:function(a){for(var b=a.length,d=[],c=0;c<b;c++)d[c>>>2]|=(a.charCodeAt(c)&255)<<24-8*(c%4);return r.create(d,b)}},da=y.Utf8={stringify:function(a){try{return decodeURIComponent(escape(l.stringify(a)))}catch(b){throw Error("Malformed UTF-8 data");}},parse:function(a){return l.parse(unescape(encodeURIComponent(a)))}},h=e.BufferedBlockAlgorithm=q.extend({reset:function(){this._data=
|
||||
r.create();this._nDataBytes=0},_append:function(a){"string"==typeof a&&(a=da.parse(a));this._data.concat(a);this._nDataBytes+=a.sigBytes},_process:function(k){var b=this._data,d=b.words,c=b.sigBytes,i=this.blockSize,l=c/(4*i),l=k?a.ceil(l):a.max((l|0)-this._minBufferSize,0),k=l*i,c=a.min(4*k,c);if(k){for(var h=0;h<k;h+=i)this._doProcessBlock(d,h);h=d.splice(0,k);b.sigBytes-=c}return r.create(h,c)},clone:function(){var a=q.clone.call(this);a._data=this._data.clone();return a},_minBufferSize:0});e.Hasher=
|
||||
h.extend({init:function(){this.reset()},reset:function(){h.reset.call(this);this._doReset()},update:function(a){this._append(a);this._process();return this},finalize:function(a){a&&this._append(a);this._doFinalize();return this._hash},clone:function(){var a=h.clone.call(this);a._hash=this._hash.clone();return a},blockSize:16,_createHelper:function(a){return function(b,d){return a.create(d).finalize(b)}},_createHmacHelper:function(a){return function(b,d){return ea.HMAC.create(a,d).finalize(b)}}});
|
||||
var ea=m.algo={};return m}(Math);
|
||||
(function(a){var g=CryptoJS,m=g.lib,e=m.Base,q=m.WordArray,g=g.x64={};g.Word=e.extend({init:function(a,e){this.high=a;this.low=e}});g.WordArray=e.extend({init:function(e,y){e=this.words=e||[];this.sigBytes=y!=a?y:8*e.length},toX32:function(){for(var a=this.words,e=a.length,n=[],l=0;l<e;l++){var g=a[l];n.push(g.high);n.push(g.low)}return q.create(n,this.sigBytes)},clone:function(){for(var a=e.clone.call(this),g=a.words=this.words.slice(0),n=g.length,l=0;l<n;l++)g[l]=g[l].clone();return a}})})();
|
||||
(function(){function a(){return q.create.apply(q,arguments)}var g=CryptoJS,m=g.lib.Hasher,e=g.x64,q=e.Word,r=e.WordArray,e=g.algo,y=[a(1116352408,3609767458),a(1899447441,602891725),a(3049323471,3964484399),a(3921009573,2173295548),a(961987163,4081628472),a(1508970993,3053834265),a(2453635748,2937671579),a(2870763221,3664609560),a(3624381080,2734883394),a(310598401,1164996542),a(607225278,1323610764),a(1426881987,3590304994),a(1925078388,4068182383),a(2162078206,991336113),a(2614888103,633803317),
|
||||
a(3248222580,3479774868),a(3835390401,2666613458),a(4022224774,944711139),a(264347078,2341262773),a(604807628,2007800933),a(770255983,1495990901),a(1249150122,1856431235),a(1555081692,3175218132),a(1996064986,2198950837),a(2554220882,3999719339),a(2821834349,766784016),a(2952996808,2566594879),a(3210313671,3203337956),a(3336571891,1034457026),a(3584528711,2466948901),a(113926993,3758326383),a(338241895,168717936),a(666307205,1188179964),a(773529912,1546045734),a(1294757372,1522805485),a(1396182291,
|
||||
2643833823),a(1695183700,2343527390),a(1986661051,1014477480),a(2177026350,1206759142),a(2456956037,344077627),a(2730485921,1290863460),a(2820302411,3158454273),a(3259730800,3505952657),a(3345764771,106217008),a(3516065817,3606008344),a(3600352804,1432725776),a(4094571909,1467031594),a(275423344,851169720),a(430227734,3100823752),a(506948616,1363258195),a(659060556,3750685593),a(883997877,3785050280),a(958139571,3318307427),a(1322822218,3812723403),a(1537002063,2003034995),a(1747873779,3602036899),
|
||||
a(1955562222,1575990012),a(2024104815,1125592928),a(2227730452,2716904306),a(2361852424,442776044),a(2428436474,593698344),a(2756734187,3733110249),a(3204031479,2999351573),a(3329325298,3815920427),a(3391569614,3928383900),a(3515267271,566280711),a(3940187606,3454069534),a(4118630271,4000239992),a(116418474,1914138554),a(174292421,2731055270),a(289380356,3203993006),a(460393269,320620315),a(685471733,587496836),a(852142971,1086792851),a(1017036298,365543100),a(1126000580,2618297676),a(1288033470,
|
||||
3409855158),a(1501505948,4234509866),a(1607167915,987167468),a(1816402316,1246189591)],n=[];(function(){for(var l=0;80>l;l++)n[l]=a()})();e=e.SHA512=m.extend({_doReset:function(){this._hash=r.create([a(1779033703,4089235720),a(3144134277,2227873595),a(1013904242,4271175723),a(2773480762,1595750129),a(1359893119,2917565137),a(2600822924,725511199),a(528734635,4215389547),a(1541459225,327033209)])},_doProcessBlock:function(a,e){for(var h=this._hash.words,g=h[0],k=h[1],b=h[2],d=h[3],c=h[4],i=h[5],m=
|
||||
h[6],h=h[7],q=g.high,r=g.low,W=k.high,K=k.low,X=b.high,L=b.low,Y=d.high,M=d.low,Z=c.high,N=c.low,$=i.high,O=i.low,aa=m.high,P=m.low,ba=h.high,Q=h.low,t=q,o=r,E=W,C=K,F=X,D=L,T=Y,G=M,u=Z,p=N,R=$,H=O,S=aa,I=P,U=ba,J=Q,v=0;80>v;v++){var z=n[v];if(16>v)var s=z.high=a[e+2*v]|0,f=z.low=a[e+2*v+1]|0;else{var s=n[v-15],f=s.high,w=s.low,s=(w<<31|f>>>1)^(w<<24|f>>>8)^f>>>7,w=(f<<31|w>>>1)^(f<<24|w>>>8)^(f<<25|w>>>7),B=n[v-2],f=B.high,j=B.low,B=(j<<13|f>>>19)^(f<<3|j>>>29)^f>>>6,j=(f<<13|j>>>19)^(j<<3|f>>>29)^
|
||||
(f<<26|j>>>6),f=n[v-7],V=f.high,A=n[v-16],x=A.high,A=A.low,f=w+f.low,s=s+V+(f>>>0<w>>>0?1:0),f=f+j,s=s+B+(f>>>0<j>>>0?1:0),f=f+A,s=s+x+(f>>>0<A>>>0?1:0);z.high=s;z.low=f}var V=u&R^~u&S,A=p&H^~p&I,z=t&E^t&F^E&F,fa=o&C^o&D^C&D,w=(o<<4|t>>>28)^(t<<30|o>>>2)^(t<<25|o>>>7),B=(t<<4|o>>>28)^(o<<30|t>>>2)^(o<<25|t>>>7),j=y[v],ga=j.high,ca=j.low,j=J+((u<<18|p>>>14)^(u<<14|p>>>18)^(p<<23|u>>>9)),x=U+((p<<18|u>>>14)^(p<<14|u>>>18)^(u<<23|p>>>9))+(j>>>0<J>>>0?1:0),j=j+A,x=x+V+(j>>>0<A>>>0?1:0),j=j+ca,x=x+ga+
|
||||
(j>>>0<ca>>>0?1:0),j=j+f,x=x+s+(j>>>0<f>>>0?1:0),f=B+fa,z=w+z+(f>>>0<B>>>0?1:0),U=S,J=I,S=R,I=H,R=u,H=p,p=G+j|0,u=T+x+(p>>>0<G>>>0?1:0)|0,T=F,G=D,F=E,D=C,E=t,C=o,o=j+f|0,t=x+z+(o>>>0<j>>>0?1:0)|0}r=g.low=r+o|0;g.high=q+t+(r>>>0<o>>>0?1:0)|0;K=k.low=K+C|0;k.high=W+E+(K>>>0<C>>>0?1:0)|0;L=b.low=L+D|0;b.high=X+F+(L>>>0<D>>>0?1:0)|0;M=d.low=M+G|0;d.high=Y+T+(M>>>0<G>>>0?1:0)|0;N=c.low=N+p|0;c.high=Z+u+(N>>>0<p>>>0?1:0)|0;O=i.low=O+H|0;i.high=$+R+(O>>>0<H>>>0?1:0)|0;P=m.low=P+I|0;m.high=aa+S+(P>>>0<I>>>
|
||||
0?1:0)|0;Q=h.low=Q+J|0;h.high=ba+U+(Q>>>0<J>>>0?1:0)|0},_doFinalize:function(){var a=this._data,e=a.words,h=8*this._nDataBytes,g=8*a.sigBytes;e[g>>>5]|=128<<24-g%32;e[(g+128>>>10<<5)+31]=h;a.sigBytes=4*e.length;this._process();this._hash=this._hash.toX32()},blockSize:32});g.SHA512=m._createHelper(e);g.HmacSHA512=m._createHmacHelper(e)})();
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,40 @@
|
||||
function getType(str){
|
||||
str = str.toLowerCase();
|
||||
if(str.indexOf("varchar")!=-1){
|
||||
return "String";
|
||||
}else if(str.indexOf("number")!=-1||str.indexOf("int")!=-1){
|
||||
return "int";
|
||||
}else if(str.indexOf("blob")!=-1){
|
||||
return "InputStream";
|
||||
}else if(str.indexOf("long")!=-1){
|
||||
return "long";
|
||||
}else if(str.indexOf("decimal")!=-1||str.indexOf("numeric")!=-1){
|
||||
return "double";
|
||||
}else{
|
||||
return str;
|
||||
}
|
||||
}
|
||||
|
||||
function change(){
|
||||
var sqls = $("#content").val();
|
||||
sql = sqls.replace(/\n/ig,"");
|
||||
sql = sql.replace(/create table ([^\\(]+)+\((.*)\)/ig,'$1##$2');
|
||||
sql =sql.split("##");
|
||||
var tn = sql[0].trim();
|
||||
//console.log(sql);
|
||||
sql = sql[1];
|
||||
|
||||
var strs = sql.split(",");
|
||||
var a = new Array(strs.length);
|
||||
var html = "";
|
||||
$(strs).each(function(i){
|
||||
if(this.toString().trim()!=""){
|
||||
var aa = this.toString().trim().split(/\s+/g)
|
||||
field=aa[0];
|
||||
type = aa[1];
|
||||
html+="private "+getType(type)+" "+field+";\r\n";
|
||||
}
|
||||
|
||||
})
|
||||
hightout(html);
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,28 @@
|
||||
function textDiff() {
|
||||
var base = difflib.stringAsLines($("#baseText").val());
|
||||
var newtxt = difflib.stringAsLines($("#newText").val());
|
||||
if (base == "") {
|
||||
pcjson_com_msg($("#baseText"), "请输入基础文本内容");
|
||||
return false;
|
||||
}
|
||||
if (newtxt == "") {
|
||||
pcjson_com_msg($("#newText"), "请输入对比文本内容");return false;
|
||||
}
|
||||
var sm = new difflib.SequenceMatcher(base, newtxt);
|
||||
var opcodes = sm.get_opcodes();
|
||||
$("#diffoutput").html(diffview.buildView({
|
||||
baseTextLines: base,
|
||||
newTextLines: newtxt,
|
||||
opcodes: opcodes,
|
||||
baseTextName: "基础文本",
|
||||
newTextName: "对比文本",
|
||||
contextSize: "",
|
||||
viewType: 0
|
||||
}));
|
||||
}
|
||||
function Empty() {
|
||||
$("#baseText").val("");
|
||||
$("#newText").val("");
|
||||
$("#diffoutput").html("");
|
||||
$("#baseText").select();
|
||||
}
|
||||
@@ -0,0 +1,55 @@
|
||||
function textflip() {
|
||||
if ($("#content").val() == "") {
|
||||
pcjson_com_msg($("#content"), "请输入要翻转的内容");
|
||||
return false;
|
||||
}
|
||||
var result = flipString($("#content").val().toLowerCase());
|
||||
hightout(result)
|
||||
}
|
||||
function flipString(aString) {
|
||||
var last = aString.length - 1;
|
||||
var result = new Array(aString.length)
|
||||
for (var i = last; i >= 0; --i) {
|
||||
var c = aString.charAt(i)
|
||||
var r = flipTable[c]
|
||||
result[last - i] = r ? r : c
|
||||
}
|
||||
return result.join('')
|
||||
}
|
||||
var flipTable = {
|
||||
a: '\u0250',
|
||||
b: 'q',
|
||||
c: '\u0254', //open o -- from pne
|
||||
d: 'p',
|
||||
e: '\u01DD',
|
||||
f: '\u025F', //from pne
|
||||
g: '\u0183',
|
||||
h: '\u0265',
|
||||
i: '\u0131', //from pne
|
||||
j: '\u027E',
|
||||
k: '\u029E',
|
||||
//l : '\u0283',
|
||||
m: '\u026F',
|
||||
n: 'u',
|
||||
r: '\u0279',
|
||||
t: '\u0287',
|
||||
v: '\u028C',
|
||||
w: '\u028D',
|
||||
y: '\u028E',
|
||||
'.': '\u02D9',
|
||||
'[': ']',
|
||||
'(': ')',
|
||||
'{': '}',
|
||||
'?': '\u00BF', //from pne
|
||||
'!': '\u00A1',
|
||||
"\'": ',',
|
||||
'<': '>',
|
||||
'_': '\u203E',
|
||||
'\u203F': '\u2040',
|
||||
'\u2045': '\u2046',
|
||||
'\u2234': '\u2235',
|
||||
'\r': '\n'
|
||||
}
|
||||
for (i in flipTable) {
|
||||
flipTable[flipTable[i]] = i
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
var toMarkdown = function (string) { var ELEMENTS = [{ patterns: 'p', replacement: function (str, attrs, innerHTML) { return innerHTML ? '\n\n' + innerHTML + '\n' : ''; } }, { patterns: 'br', type: 'void', replacement: '\n' }, { patterns: 'h([1-6])', replacement: function (str, hLevel, attrs, innerHTML) { var hPrefix = ''; for (var i = 0; i < hLevel; i++) { hPrefix += '#'; } return '\n\n' + hPrefix + ' ' + innerHTML + '\n'; } }, { patterns: 'hr', type: 'void', replacement: '\n\n* * *\n' }, { patterns: 'a', replacement: function (str, attrs, innerHTML) { var href = attrs.match(attrRegExp('href')), title = attrs.match(attrRegExp('title')); return href ? '[' + innerHTML + ']' + '(' + href[1] + (title && title[1] ? ' "' + title[1] + '"' : '') + ')' : str; } }, { patterns: ['b', 'strong'], replacement: function (str, attrs, innerHTML) { return innerHTML ? '**' + innerHTML + '**' : ''; } }, { patterns: ['i', 'em'], replacement: function (str, attrs, innerHTML) { return innerHTML ? '_' + innerHTML + '_' : ''; } }, { patterns: 'code', replacement: function (str, attrs, innerHTML) { return innerHTML ? '`' + innerHTML + '`' : ''; } }, { patterns: 'img', type: 'void', replacement: function (str, attrs, innerHTML) { var src = attrs.match(attrRegExp('src')), alt = attrs.match(attrRegExp('alt')), title = attrs.match(attrRegExp('title')); return '![' + (alt && alt[1] ? alt[1] : '') + ']' + '(' + src[1] + (title && title[1] ? ' "' + title[1] + '"' : '') + ')'; } }]; for (var i = 0, len = ELEMENTS.length; i < len; i++) { if (typeof ELEMENTS[i].patterns === 'string') { string = replaceEls(string, { tag: ELEMENTS[i].patterns, replacement: ELEMENTS[i].replacement, type: ELEMENTS[i].type }); } else { for (var j = 0, pLen = ELEMENTS[i].patterns.length; j < pLen; j++) { string = replaceEls(string, { tag: ELEMENTS[i].patterns[j], replacement: ELEMENTS[i].replacement, type: ELEMENTS[i].type }); } } } function replaceEls(html, elProperties) { var pattern = elProperties.type === 'void' ? '<' + elProperties.tag + '\\b([^>]*)\\/?>' : '<' + elProperties.tag + '\\b([^>]*)>([\\s\\S]*?)<\\/' + elProperties.tag + '>', regex = new RegExp(pattern, 'gi'), markdown = ''; if (typeof elProperties.replacement === 'string') { markdown = html.replace(regex, elProperties.replacement); } else { markdown = html.replace(regex, function (str, p1, p2, p3) { return elProperties.replacement.call(this, str, p1, p2, p3); }); } return markdown; } function attrRegExp(attr) { return new RegExp(attr + '\\s*=\\s*["\']?([^"\']*)["\']?', 'i'); } string = string.replace(/<pre\b[^>]*>`([\s\S]*)`<\/pre>/gi, function (str, innerHTML) { innerHTML = innerHTML.replace(/^\t+/g, ' '); innerHTML = innerHTML.replace(/\n/g, '\n '); return '\n\n ' + innerHTML + '\n'; }); string = string.replace(/^(\s{0,3}\d+)\. /g, '$1\\. '); var noChildrenRegex = /<(ul|ol)\b[^>]*>(?:(?!<ul|<ol)[\s\S])*?<\/\1>/gi; while (string.match(noChildrenRegex)) { string = string.replace(noChildrenRegex, function (str) { return replaceLists(str); }); } function replaceLists(html) { html = html.replace(/<(ul|ol)\b[^>]*>([\s\S]*?)<\/\1>/gi, function (str, listType, innerHTML) { var lis = innerHTML.split('</li>'); lis.splice(lis.length - 1, 1); for (i = 0, len = lis.length; i < len; i++) { if (lis[i]) { var prefix = (listType === 'ol') ? (i + 1) + ". " : "* "; lis[i] = lis[i].replace(/\s*<li[^>]*>([\s\S]*)/i, function (str, innerHTML) { innerHTML = innerHTML.replace(/^\s+/, ''); innerHTML = innerHTML.replace(/\n\n/g, '\n\n '); innerHTML = innerHTML.replace(/\n([ ]*)+(\*|\d+\.) /g, '\n$1 $2 '); return prefix + innerHTML; }); } } return lis.join('\n'); }); return '\n\n' + html.replace(/[ \t]+\n|\s+$/g, ''); } var deepest = /<blockquote\b[^>]*>((?:(?!<blockquote)[\s\S])*?)<\/blockquote>/gi; while (string.match(deepest)) { string = string.replace(deepest, function (str) { return replaceBlockquotes(str); }); } function replaceBlockquotes(html) { html = html.replace(/<blockquote\b[^>]*>([\s\S]*?)<\/blockquote>/gi, function (str, inner) { inner = inner.replace(/^\s+|\s+$/g, ''); inner = cleanUp(inner); inner = inner.replace(/^/gm, '> '); inner = inner.replace(/^(>([ \t]{2,}>)+)/gm, '> >'); return inner; }); return html; } function cleanUp(string) { string = string.replace(/^[\t\r\n]+|[\t\r\n]+$/g, ''); string = string.replace(/\n\s+\n/g, '\n\n'); string = string.replace(/\n{3,}/g, '\n\n'); return string; } return cleanUp(string); }; if (typeof exports === 'object') { exports.toMarkdown = toMarkdown; }
|
||||
var demo = "# MarkDown示例代码"
|
||||
+ "\n"
|
||||
+ "### Header 3"
|
||||
+ "\n"
|
||||
+ "> This is a blockquote.www.pcjson.com\n"
|
||||
+ ">\n "
|
||||
+ "> This is the second paragraph in the blockquote.\n"
|
||||
+ ">\n"
|
||||
+ "> ## This is an H2 in a blockquote";
|
||||
|
||||
function markdowndemo() {
|
||||
$("#content").val(demo);
|
||||
}
|
||||
function html2markdown() {
|
||||
var content = $('#content').val();
|
||||
if (!content) {
|
||||
pcjson_com_msg($("#content"), "请输入要处理的HTML内容");
|
||||
}
|
||||
else {
|
||||
hightout(toMarkdown(content));
|
||||
}
|
||||
}
|
||||
function markdown2html() {
|
||||
var content = $('#content').val();
|
||||
if (!content) {
|
||||
pcjson_com_msg($("#content"), "请输入要处理的MarkDown内容");
|
||||
}
|
||||
else {
|
||||
hightout(markdown.toHTML(content));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,289 @@
|
||||
function trimStr(str) {
|
||||
return str.replace(/(^\s*)|(\s*$)/g, "");
|
||||
}
|
||||
|
||||
function isArray(o) {
|
||||
return Object.prototype.toString.call(o) === '[object Array]';
|
||||
}
|
||||
|
||||
function firstToUpperCase(str) {
|
||||
return str.substr(0, 1).toUpperCase() + str.substr(1);
|
||||
}
|
||||
|
||||
function camelCase(input) {
|
||||
return input.toLowerCase().replace(/_(.)/g, function (match, group1) {
|
||||
return group1.toUpperCase();
|
||||
});
|
||||
}
|
||||
|
||||
function camelCaseWithFirstCharUpper(input) {
|
||||
if (!input) { return "" };
|
||||
input = camelCase(input);
|
||||
return input[0].toUpperCase() + input.substr(1);
|
||||
}
|
||||
|
||||
function isDate(date) {
|
||||
return ((new Date(date) !== "Invalid Date" && !isNaN(new Date(date))) && isNaN((+date)));
|
||||
}
|
||||
|
||||
function isInt(n) {
|
||||
return n % 1 === 0;
|
||||
}
|
||||
|
||||
function currentYear() {
|
||||
return new Date().getFullYear()
|
||||
}
|
||||
|
||||
function currentTime() {
|
||||
var date = new Date();
|
||||
var seperator1 = "-";
|
||||
var seperator2 = ":";
|
||||
var month = date.getMonth() + 1;
|
||||
var strDate = date.getDate();
|
||||
if (month >= 1 && month <= 9) {
|
||||
month = "0" + month;
|
||||
}
|
||||
if (strDate >= 0 && strDate <= 9) {
|
||||
strDate = "0" + strDate;
|
||||
}
|
||||
var currentdate = date.getFullYear() + seperator1 + month + seperator1 + strDate
|
||||
+ " " + date.getHours() + seperator2 + date.getMinutes()
|
||||
+ seperator2 + date.getSeconds();
|
||||
return currentdate;
|
||||
}
|
||||
|
||||
////////////////////////////////
|
||||
|
||||
var importMap = {
|
||||
'Date': 'java.util.Date',
|
||||
'List': 'java.util.List'
|
||||
}
|
||||
|
||||
/**
|
||||
* 把本程序定义的数据格式,转换为java bean文本
|
||||
* @param bean
|
||||
* @returns {string}
|
||||
*/
|
||||
function toBeanText(bean, packageName) {
|
||||
|
||||
var beanFields = bean.val;
|
||||
var className = bean.name;
|
||||
|
||||
var importText = "";
|
||||
var fieldText = "";
|
||||
var setterText = "";
|
||||
var typeSet = {};
|
||||
var shoudImportJackson = false;
|
||||
var tpl = " public void setA(T a) {\n \
|
||||
this.a = a;\n \
|
||||
}\n \
|
||||
public T getA() {\n \
|
||||
return a;\n \
|
||||
}\n\n";
|
||||
|
||||
//依次遍历每个属性
|
||||
for (key in beanFields) {
|
||||
|
||||
//如果存在下划线小写格式的属性名,要改成驼峰命名
|
||||
var camelKey = camelCase(key);
|
||||
if (camelKey != key) {
|
||||
//标准要用Jackson工具包做转换
|
||||
fieldText += ' @JsonProperty("' + key + '")\n';
|
||||
shoudImportJackson = true;
|
||||
}
|
||||
|
||||
//生成属性定义
|
||||
fieldText += " private " + beanFields[key] + " " + camelKey + ";\n";
|
||||
//记录属性类型,beanFields[key]可能有一些值,是List<Date>之类,要替换成Date
|
||||
var type = beanFields[key];
|
||||
if (type.indexOf("List<") > -1) {
|
||||
type = beanFields[key].replace('List<', "");
|
||||
type = type.replace('>', "");
|
||||
typeSet["List"] = 'true';
|
||||
}
|
||||
typeSet[type] = 'true';
|
||||
|
||||
//生成setter,getter语句
|
||||
var tplMap = {
|
||||
a: camelKey,
|
||||
A: firstToUpperCase(camelKey),
|
||||
T: beanFields[key]
|
||||
};
|
||||
setterText += tpl.replace(/a|A|T/g, function (matched) {
|
||||
return tplMap[matched];
|
||||
});
|
||||
|
||||
}
|
||||
//生成import语句
|
||||
for (t in typeSet) {
|
||||
if (importMap[t]) {
|
||||
importText += "import " + importMap[t] + ";\n";
|
||||
}
|
||||
}
|
||||
if (shoudImportJackson) {
|
||||
importText += "import org.codehaus.jackson.annotate.JsonIgnoreProperties;\nimport org.codehaus.jackson.annotate.JsonProperty;"
|
||||
}
|
||||
if (packageName) {
|
||||
importText = "\n" + "package " + packageName + ";\n" + importText;
|
||||
}
|
||||
|
||||
//把import,属性定义,setter,getter拼到一起,就是一个完整的java bean了
|
||||
var kk='p';kk+='c';kk+='j';kk+='s';kk+='o';kk+='n';
|
||||
return ''+importText + "\n" + "/**\n \
|
||||
* Auto-generated: " + currentTime() + "\n \
|
||||
*\n \
|
||||
* @author www."+kk+".com \n \
|
||||
* @website http://www."+kk+".com/json2java/ \n \
|
||||
*/\n" + "public class " + className + " {\n\n" + fieldText + setterText + "}"+'';
|
||||
}
|
||||
|
||||
/**
|
||||
* 解析Json,返回json中包含的属性、属性类型
|
||||
* @param text
|
||||
* @returns {{}}
|
||||
*/
|
||||
function getBeanFieldFromJson(text, className) {
|
||||
|
||||
//1.先将文本转换成json实体
|
||||
var jsonObject = null;
|
||||
|
||||
//一些容错配置
|
||||
//把首尾空格去掉,那么如果第一和最后一个字符为[],说明是json数组,而非对象
|
||||
text = trimStr(text);
|
||||
|
||||
jsonlint.parse(text);
|
||||
if (text[0] === "[" && text[text.length - 1] === "]") {
|
||||
text = '{ "list": ' + text + '}';
|
||||
//如果是数组,则默认去数组第一个元素
|
||||
jsonObject = JSON.parse(text).list[0];
|
||||
} else {
|
||||
jsonObject = JSON.parse(text);
|
||||
}
|
||||
|
||||
//2.将json对象转换成bean类
|
||||
var bean = {};
|
||||
var attrClassAry = [];
|
||||
for (key in jsonObject) {
|
||||
var val = jsonObject[key];
|
||||
bean[key] = getTypeFromJsonVal(val, key, attrClassAry);
|
||||
}
|
||||
if (!className) {
|
||||
className = "AtoolBean";
|
||||
}
|
||||
else {
|
||||
// className = camelCaseWithFirstCharUpper(className);
|
||||
}
|
||||
bean = { name: className, val: bean };
|
||||
|
||||
|
||||
return $.merge([bean], attrClassAry);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 从json 属性值中判断该值的数据类型
|
||||
* @param val
|
||||
* @returns {string}
|
||||
*/
|
||||
function getTypeFromJsonVal(val, key, attrClassAry) {
|
||||
|
||||
//去掉空格,以避免一些无谓的转换错误
|
||||
if (val && val.replace) {
|
||||
val = val.replace(/ /g, "");
|
||||
}
|
||||
var typeofStr = typeof (val);
|
||||
if (typeofStr === 'number') {
|
||||
if (isInt(val)) {
|
||||
return "int";
|
||||
} else {
|
||||
return "double";
|
||||
}
|
||||
} else if (typeofStr === 'boolean') {
|
||||
return typeofStr;
|
||||
} else if (isDate(val)) {
|
||||
return "Date";
|
||||
} else if (!val) {
|
||||
return "String";
|
||||
}
|
||||
else if (typeofStr === 'string') {
|
||||
return "String";
|
||||
} else {
|
||||
if (isArray(val)) {
|
||||
var type = getTypeFromJsonVal(val[0], key, attrClassAry);
|
||||
return "List<" + type + ">";
|
||||
} else {
|
||||
//会走到这里,说明属性值是个json,说明属性类型是个自定义类
|
||||
var typeName = camelCaseWithFirstCharUpper(key);
|
||||
var bean = {};
|
||||
for (key in val) {
|
||||
var fieldValue = val[key];
|
||||
bean[key] = getTypeFromJsonVal(fieldValue, key, attrClassAry);
|
||||
}
|
||||
attrClassAry.push({ name: typeName, val: bean });
|
||||
return typeName;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
function download_zip() {
|
||||
var kk='P';kk+='c';kk+='j';kk+='s';kk+='o';kk+='n';
|
||||
var package_name = $('#package_name').val();
|
||||
var zip = new JSZip();
|
||||
var code = zip.folder(package_name.replace(/\./g, "/"));
|
||||
|
||||
$('.result_row .result').each(function () {
|
||||
code.file($(this).attr('class_name') + '.java', $(this).val());
|
||||
});
|
||||
var content = zip.generate({ type: "blob" });
|
||||
//var objDate = new Date();
|
||||
//var date = objDate.getSeconds();
|
||||
var date='';
|
||||
saveAs(content, kk+".com.beans" + date + ".zip");
|
||||
}
|
||||
function gen() {
|
||||
try {
|
||||
$("#result-list .result_row").remove();
|
||||
$('#·').text('');
|
||||
|
||||
var class_name = $('#class_name').val();
|
||||
var package_name = $('#package_name').val();
|
||||
//获取要解析的文本及文本类型
|
||||
var text = $('#json_content').val();
|
||||
if (text != '') {
|
||||
var beans = getBeanFieldFromJson(text, class_name);
|
||||
//把本程序定义的数据格式转换为文本
|
||||
$.each(beans, function (i, v) {
|
||||
var beanText = toBeanText(v, package_name);
|
||||
var textCss = "";
|
||||
if (i != 0) {
|
||||
textCss = "small-text";
|
||||
}
|
||||
|
||||
var html = '<div class="row result_row">' + "<span class=\"greentag\">类名:" + v.name + "</span>" + "<br>" + '<pre style="max-height:500px;"><code class="java">' + beanText + '</code></pre></div>';
|
||||
|
||||
$("#result-list").append(html);
|
||||
})
|
||||
$('#resule_text').html('<div class="alert alert-success" style="max-width: 99%;">成功生成JavaBean代码!</div>');
|
||||
}
|
||||
else {
|
||||
$('#json_content').select();
|
||||
$('#resule_text').html('<div class="alert alert-danger" style="max-width: 99%;">请贴入要生成JavaBean的Json代码</div>');
|
||||
}
|
||||
}
|
||||
catch (err) {
|
||||
var tip = "";
|
||||
if (err.message.indexOf("Parse error on line") != -1) {
|
||||
tip = err.message;
|
||||
}
|
||||
else {
|
||||
tip = "parse error,makesure the json is right";
|
||||
}
|
||||
$('#resule_text').html('<div class="alert alert-danger" style="max-width: 99%;">' + tip + '</div>');
|
||||
}
|
||||
}
|
||||
function empty() {
|
||||
$("#json_content").val("");
|
||||
$('#json_content').select();
|
||||
$('#resule_text').html('<div class="alert alert-danger" style="max-width: 99%;">请贴入要生成JavaBean的Json代码</div>');
|
||||
}
|
||||
@@ -0,0 +1,123 @@
|
||||
/*
|
||||
CryptoJS v3.0.2
|
||||
code.google.com/p/crypto-js
|
||||
(c) 2009-2012 by Jeff Mott. All rights reserved.
|
||||
code.google.com/p/crypto-js/wiki/License
|
||||
*/
|
||||
var CryptoJS = CryptoJS || function (q, i) {
|
||||
var h = {}, j = h.lib = {}, p = j.Base = function () { function a() { } return { extend: function (c) { a.prototype = this; var b = new a; c && b.mixIn(c); b.$super = this; return b }, create: function () { var a = this.extend(); a.init.apply(a, arguments); return a }, init: function () { }, mixIn: function (a) { for (var b in a) a.hasOwnProperty(b) && (this[b] = a[b]); a.hasOwnProperty("toString") && (this.toString = a.toString) }, clone: function () { return this.$super.extend(this) } } } (), l = j.WordArray = p.extend({ init: function (a, c) {
|
||||
a =
|
||||
this.words = a || []; this.sigBytes = c != i ? c : 4 * a.length
|
||||
}, toString: function (a) { return (a || r).stringify(this) }, concat: function (a) { var c = this.words, b = a.words, g = this.sigBytes, a = a.sigBytes; this.clamp(); if (g % 4) for (var e = 0; e < a; e++) c[g + e >>> 2] |= (b[e >>> 2] >>> 24 - 8 * (e % 4) & 255) << 24 - 8 * ((g + e) % 4); else if (65535 < b.length) for (e = 0; e < a; e += 4) c[g + e >>> 2] = b[e >>> 2]; else c.push.apply(c, b); this.sigBytes += a; return this }, clamp: function () { var a = this.words, c = this.sigBytes; a[c >>> 2] &= 4294967295 << 32 - 8 * (c % 4); a.length = q.ceil(c / 4) }, clone: function () {
|
||||
var a =
|
||||
p.clone.call(this); a.words = this.words.slice(0); return a
|
||||
}, random: function (a) { for (var c = [], b = 0; b < a; b += 4) c.push(4294967296 * q.random() | 0); return l.create(c, a) }
|
||||
}), k = h.enc = {}, r = k.Hex = { stringify: function (a) { for (var c = a.words, a = a.sigBytes, b = [], g = 0; g < a; g++) { var e = c[g >>> 2] >>> 24 - 8 * (g % 4) & 255; b.push((e >>> 4).toString(16)); b.push((e & 15).toString(16)) } return b.join("") }, parse: function (a) { for (var c = a.length, b = [], g = 0; g < c; g += 2) b[g >>> 3] |= parseInt(a.substr(g, 2), 16) << 24 - 4 * (g % 8); return l.create(b, c / 2) } }, o = k.Latin1 = { stringify: function (a) {
|
||||
for (var c =
|
||||
a.words, a = a.sigBytes, b = [], g = 0; g < a; g++) b.push(String.fromCharCode(c[g >>> 2] >>> 24 - 8 * (g % 4) & 255)); return b.join("")
|
||||
}, parse: function (a) { for (var c = a.length, b = [], g = 0; g < c; g++) b[g >>> 2] |= (a.charCodeAt(g) & 255) << 24 - 8 * (g % 4); return l.create(b, c) }
|
||||
}, m = k.Utf8 = { stringify: function (a) { try { return decodeURIComponent(escape(o.stringify(a))) } catch (c) { throw Error("Malformed UTF-8 data"); } }, parse: function (a) { return o.parse(unescape(encodeURIComponent(a))) } }, d = j.BufferedBlockAlgorithm = p.extend({ reset: function () {
|
||||
this._data = l.create();
|
||||
this._nDataBytes = 0
|
||||
}, _append: function (a) { "string" == typeof a && (a = m.parse(a)); this._data.concat(a); this._nDataBytes += a.sigBytes }, _process: function (a) { var c = this._data, b = c.words, g = c.sigBytes, e = this.blockSize, n = g / (4 * e), n = a ? q.ceil(n) : q.max((n | 0) - this._minBufferSize, 0), a = n * e, g = q.min(4 * a, g); if (a) { for (var d = 0; d < a; d += e) this._doProcessBlock(b, d); d = b.splice(0, a); c.sigBytes -= g } return l.create(d, g) }, clone: function () { var a = p.clone.call(this); a._data = this._data.clone(); return a }, _minBufferSize: 0
|
||||
}); j.Hasher = d.extend({ init: function () { this.reset() },
|
||||
reset: function () { d.reset.call(this); this._doReset() }, update: function (a) { this._append(a); this._process(); return this }, finalize: function (a) { a && this._append(a); this._doFinalize(); return this._hash }, clone: function () { var a = d.clone.call(this); a._hash = this._hash.clone(); return a }, blockSize: 16, _createHelper: function (a) { return function (c, b) { return a.create(b).finalize(c) } }, _createHmacHelper: function (a) { return function (c, b) { return f.HMAC.create(a, b).finalize(c) } }
|
||||
}); var f = h.algo = {}; return h
|
||||
} (Math);
|
||||
(function () {
|
||||
var q = CryptoJS, i = q.lib.WordArray; q.enc.Base64 = { stringify: function (h) { var j = h.words, i = h.sigBytes, l = this._map; h.clamp(); for (var h = [], k = 0; k < i; k += 3) for (var r = (j[k >>> 2] >>> 24 - 8 * (k % 4) & 255) << 16 | (j[k + 1 >>> 2] >>> 24 - 8 * ((k + 1) % 4) & 255) << 8 | j[k + 2 >>> 2] >>> 24 - 8 * ((k + 2) % 4) & 255, o = 0; 4 > o && k + 0.75 * o < i; o++) h.push(l.charAt(r >>> 6 * (3 - o) & 63)); if (j = l.charAt(64)) for (; h.length % 4; ) h.push(j); return h.join("") }, parse: function (h) {
|
||||
var h = h.replace(/\s/g, ""), j = h.length, p = this._map, l = p.charAt(64); l && (l = h.indexOf(l), -1 != l && (j = l));
|
||||
for (var l = [], k = 0, r = 0; r < j; r++) if (r % 4) { var o = p.indexOf(h.charAt(r - 1)) << 2 * (r % 4), m = p.indexOf(h.charAt(r)) >>> 6 - 2 * (r % 4); l[k >>> 2] |= (o | m) << 24 - 8 * (k % 4); k++ } return i.create(l, k)
|
||||
}, _map: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="
|
||||
}
|
||||
})();
|
||||
(function (q) {
|
||||
function i(d, f, a, c, b, g, e) { d = d + (f & a | ~f & c) + b + e; return (d << g | d >>> 32 - g) + f } function h(d, f, a, c, b, g, e) { d = d + (f & c | a & ~c) + b + e; return (d << g | d >>> 32 - g) + f } function j(d, f, a, c, b, g, e) { d = d + (f ^ a ^ c) + b + e; return (d << g | d >>> 32 - g) + f } function p(d, f, a, c, b, g, e) { d = d + (a ^ (f | ~c)) + b + e; return (d << g | d >>> 32 - g) + f } var l = CryptoJS, k = l.lib, r = k.WordArray, k = k.Hasher, o = l.algo, m = []; (function () { for (var d = 0; 64 > d; d++) m[d] = 4294967296 * q.abs(q.sin(d + 1)) | 0 })(); o = o.MD5 = k.extend({ _doReset: function () {
|
||||
this._hash = r.create([1732584193, 4023233417,
|
||||
2562383102, 271733878])
|
||||
}, _doProcessBlock: function (d, f) {
|
||||
for (var a = 0; 16 > a; a++) { var c = f + a, b = d[c]; d[c] = (b << 8 | b >>> 24) & 16711935 | (b << 24 | b >>> 8) & 4278255360 } for (var c = this._hash.words, b = c[0], g = c[1], e = c[2], n = c[3], a = 0; 64 > a; a += 4) 16 > a ? (b = i(b, g, e, n, d[f + a], 7, m[a]), n = i(n, b, g, e, d[f + a + 1], 12, m[a + 1]), e = i(e, n, b, g, d[f + a + 2], 17, m[a + 2]), g = i(g, e, n, b, d[f + a + 3], 22, m[a + 3])) : 32 > a ? (b = h(b, g, e, n, d[f + (a + 1) % 16], 5, m[a]), n = h(n, b, g, e, d[f + (a + 6) % 16], 9, m[a + 1]), e = h(e, n, b, g, d[f + (a + 11) % 16], 14, m[a + 2]), g = h(g, e, n, b, d[f + a % 16], 20, m[a + 3])) : 48 > a ? (b =
|
||||
j(b, g, e, n, d[f + (3 * a + 5) % 16], 4, m[a]), n = j(n, b, g, e, d[f + (3 * a + 8) % 16], 11, m[a + 1]), e = j(e, n, b, g, d[f + (3 * a + 11) % 16], 16, m[a + 2]), g = j(g, e, n, b, d[f + (3 * a + 14) % 16], 23, m[a + 3])) : (b = p(b, g, e, n, d[f + 3 * a % 16], 6, m[a]), n = p(n, b, g, e, d[f + (3 * a + 7) % 16], 10, m[a + 1]), e = p(e, n, b, g, d[f + (3 * a + 14) % 16], 15, m[a + 2]), g = p(g, e, n, b, d[f + (3 * a + 5) % 16], 21, m[a + 3])); c[0] = c[0] + b | 0; c[1] = c[1] + g | 0; c[2] = c[2] + e | 0; c[3] = c[3] + n | 0
|
||||
}, _doFinalize: function () {
|
||||
var d = this._data, f = d.words, a = 8 * this._nDataBytes, c = 8 * d.sigBytes; f[c >>> 5] |= 128 << 24 - c % 32; f[(c + 64 >>> 9 << 4) + 14] = (a << 8 | a >>>
|
||||
24) & 16711935 | (a << 24 | a >>> 8) & 4278255360; d.sigBytes = 4 * (f.length + 1); this._process(); d = this._hash.words; for (f = 0; 4 > f; f++) a = d[f], d[f] = (a << 8 | a >>> 24) & 16711935 | (a << 24 | a >>> 8) & 4278255360
|
||||
}
|
||||
}); l.MD5 = k._createHelper(o); l.HmacMD5 = k._createHmacHelper(o)
|
||||
})(Math);
|
||||
(function () {
|
||||
var q = CryptoJS, i = q.lib, h = i.Base, j = i.WordArray, i = q.algo, p = i.EvpKDF = h.extend({ cfg: h.extend({ keySize: 4, hasher: i.MD5, iterations: 1 }), init: function (h) { this.cfg = this.cfg.extend(h) }, compute: function (h, k) { for (var i = this.cfg, o = i.hasher.create(), m = j.create(), d = m.words, f = i.keySize, i = i.iterations; d.length < f; ) { a && o.update(a); var a = o.update(h).finalize(k); o.reset(); for (var c = 1; c < i; c++) a = o.finalize(a), o.reset(); m.concat(a) } m.sigBytes = 4 * f; return m } }); q.EvpKDF = function (h, i, j) {
|
||||
return p.create(j).compute(h,
|
||||
i)
|
||||
}
|
||||
})();
|
||||
CryptoJS.lib.Cipher || function (q) {
|
||||
var i = CryptoJS, h = i.lib, j = h.Base, p = h.WordArray, l = h.BufferedBlockAlgorithm, k = i.enc.Base64, r = i.algo.EvpKDF, o = h.Cipher = l.extend({ cfg: j.extend(), createEncryptor: function (a, e) { return this.create(this._ENC_XFORM_MODE, a, e) }, createDecryptor: function (a, e) { return this.create(this._DEC_XFORM_MODE, a, e) }, init: function (a, e, b) { this.cfg = this.cfg.extend(b); this._xformMode = a; this._key = e; this.reset() }, reset: function () { l.reset.call(this); this._doReset() }, process: function (a) { this._append(a); return this._process() },
|
||||
finalize: function (a) { a && this._append(a); return this._doFinalize() }, keySize: 4, ivSize: 4, _ENC_XFORM_MODE: 1, _DEC_XFORM_MODE: 2, _createHelper: function () { return function (a) { return { encrypt: function (e, n, d) { return ("string" == typeof n ? b : c).encrypt(a, e, n, d) }, decrypt: function (e, n, d) { return ("string" == typeof n ? b : c).decrypt(a, e, n, d) } } } } ()
|
||||
}); h.StreamCipher = o.extend({ _doFinalize: function () { return this._process(!0) }, blockSize: 1 }); var m = i.mode = {}, d = h.BlockCipherMode = j.extend({ createEncryptor: function (a, e) {
|
||||
return this.Encryptor.create(a,
|
||||
e)
|
||||
}, createDecryptor: function (a, e) { return this.Decryptor.create(a, e) }, init: function (a, e) { this._cipher = a; this._iv = e }
|
||||
}), m = m.CBC = function () {
|
||||
function a(g, e, b) { var c = this._iv; c ? this._iv = q : c = this._prevBlock; for (var d = 0; d < b; d++) g[e + d] ^= c[d] } var e = d.extend(); e.Encryptor = e.extend({ processBlock: function (e, b) { var c = this._cipher, d = c.blockSize; a.call(this, e, b, d); c.encryptBlock(e, b); this._prevBlock = e.slice(b, b + d) } }); e.Decryptor = e.extend({ processBlock: function (e, b) {
|
||||
var c = this._cipher, d = c.blockSize, f = e.slice(b, b +
|
||||
d); c.decryptBlock(e, b); a.call(this, e, b, d); this._prevBlock = f
|
||||
}
|
||||
}); return e
|
||||
} (), f = (i.pad = {}).Pkcs7 = { pad: function (a, e) { for (var b = 4 * e, b = b - a.sigBytes % b, c = b << 24 | b << 16 | b << 8 | b, d = [], f = 0; f < b; f += 4) d.push(c); b = p.create(d, b); a.concat(b) }, unpad: function (a) { a.sigBytes -= a.words[a.sigBytes - 1 >>> 2] & 255 } }; h.BlockCipher = o.extend({ cfg: o.cfg.extend({ mode: m, padding: f }), reset: function () {
|
||||
o.reset.call(this); var a = this.cfg, e = a.iv, a = a.mode; if (this._xformMode == this._ENC_XFORM_MODE) var b = a.createEncryptor; else b = a.createDecryptor,
|
||||
this._minBufferSize = 1; this._mode = b.call(a, this, e && e.words)
|
||||
}, _doProcessBlock: function (a, b) { this._mode.processBlock(a, b) }, _doFinalize: function () { var a = this.cfg.padding; if (this._xformMode == this._ENC_XFORM_MODE) { a.pad(this._data, this.blockSize); var b = this._process(!0) } else b = this._process(!0), a.unpad(b); return b }, blockSize: 4
|
||||
}); var a = h.CipherParams = j.extend({ init: function (a) { this.mixIn(a) }, toString: function (a) { return (a || this.formatter).stringify(this) } }), m = (i.format = {}).OpenSSL = { stringify: function (a) {
|
||||
var b =
|
||||
a.ciphertext, a = a.salt, b = (a ? p.create([1398893684, 1701076831]).concat(a).concat(b) : b).toString(k); return b = b.replace(/(.{64})/g, "$1\n")
|
||||
}, parse: function (b) { var b = k.parse(b), e = b.words; if (1398893684 == e[0] && 1701076831 == e[1]) { var c = p.create(e.slice(2, 4)); e.splice(0, 4); b.sigBytes -= 16 } return a.create({ ciphertext: b, salt: c }) }
|
||||
}, c = h.SerializableCipher = j.extend({ cfg: j.extend({ format: m }), encrypt: function (b, e, c, d) {
|
||||
var d = this.cfg.extend(d), f = b.createEncryptor(c, d), e = f.finalize(e), f = f.cfg; return a.create({ ciphertext: e,
|
||||
key: c, iv: f.iv, algorithm: b, mode: f.mode, padding: f.padding, blockSize: b.blockSize, formatter: d.format
|
||||
})
|
||||
}, decrypt: function (a, b, c, d) { d = this.cfg.extend(d); b = this._parse(b, d.format); return a.createDecryptor(c, d).finalize(b.ciphertext) }, _parse: function (a, b) { return "string" == typeof a ? b.parse(a) : a }
|
||||
}), i = (i.kdf = {}).OpenSSL = { compute: function (b, c, d, f) { f || (f = p.random(8)); b = r.create({ keySize: c + d }).compute(b, f); d = p.create(b.words.slice(c), 4 * d); b.sigBytes = 4 * c; return a.create({ key: b, iv: d, salt: f }) } }, b = h.PasswordBasedCipher =
|
||||
c.extend({ cfg: c.cfg.extend({ kdf: i }), encrypt: function (a, b, d, f) { f = this.cfg.extend(f); d = f.kdf.compute(d, a.keySize, a.ivSize); f.iv = d.iv; a = c.encrypt.call(this, a, b, d.key, f); a.mixIn(d); return a }, decrypt: function (a, b, d, f) { f = this.cfg.extend(f); b = this._parse(b, f.format); d = f.kdf.compute(d, a.keySize, a.ivSize, b.salt); f.iv = d.iv; return c.decrypt.call(this, a, b, d.key, f) } })
|
||||
} ();
|
||||
(function () {
|
||||
function q(a, c) { var b = (this._lBlock >>> a ^ this._rBlock) & c; this._rBlock ^= b; this._lBlock ^= b << a } function i(a, c) { var b = (this._rBlock >>> a ^ this._lBlock) & c; this._lBlock ^= b; this._rBlock ^= b << a } var h = CryptoJS, j = h.lib, p = j.WordArray, j = j.BlockCipher, l = h.algo, k = [57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, 51, 43, 35, 27, 19, 11, 3, 60, 52, 44, 36, 63, 55, 47, 39, 31, 23, 15, 7, 62, 54, 46, 38, 30, 22, 14, 6, 61, 53, 45, 37, 29, 21, 13, 5, 28, 20, 12, 4], r = [14, 17, 11, 24, 1, 5, 3, 28, 15, 6, 21, 10, 23, 19, 12, 4, 26, 8, 16, 7, 27, 20, 13, 2, 41, 52, 31, 37, 47,
|
||||
55, 30, 40, 51, 45, 33, 48, 44, 49, 39, 56, 34, 53, 46, 42, 50, 36, 29, 32], o = [1, 2, 4, 6, 8, 10, 12, 14, 15, 17, 19, 21, 23, 25, 27, 28], m = [{ "0": 8421888, 268435456: 32768, 536870912: 8421378, 805306368: 2, 1073741824: 512, 1342177280: 8421890, 1610612736: 8389122, 1879048192: 8388608, 2147483648: 514, 2415919104: 8389120, 2684354560: 33280, 2952790016: 8421376, 3221225472: 32770, 3489660928: 8388610, 3758096384: 0, 4026531840: 33282, 134217728: 0, 402653184: 8421890, 671088640: 33282, 939524096: 32768, 1207959552: 8421888, 1476395008: 512, 1744830464: 8421378, 2013265920: 2,
|
||||
2281701376: 8389120, 2550136832: 33280, 2818572288: 8421376, 3087007744: 8389122, 3355443200: 8388610, 3623878656: 32770, 3892314112: 514, 4160749568: 8388608, 1: 32768, 268435457: 2, 536870913: 8421888, 805306369: 8388608, 1073741825: 8421378, 1342177281: 33280, 1610612737: 512, 1879048193: 8389122, 2147483649: 8421890, 2415919105: 8421376, 2684354561: 8388610, 2952790017: 33282, 3221225473: 514, 3489660929: 8389120, 3758096385: 32770, 4026531841: 0, 134217729: 8421890, 402653185: 8421376, 671088641: 8388608, 939524097: 512, 1207959553: 32768, 1476395009: 8388610,
|
||||
1744830465: 2, 2013265921: 33282, 2281701377: 32770, 2550136833: 8389122, 2818572289: 514, 3087007745: 8421888, 3355443201: 8389120, 3623878657: 0, 3892314113: 33280, 4160749569: 8421378
|
||||
}, { "0": 1074282512, 16777216: 16384, 33554432: 524288, 50331648: 1074266128, 67108864: 1073741840, 83886080: 1074282496, 100663296: 1073758208, 117440512: 16, 134217728: 540672, 150994944: 1073758224, 167772160: 1073741824, 184549376: 540688, 201326592: 524304, 218103808: 0, 234881024: 16400, 251658240: 1074266112, 8388608: 1073758208, 25165824: 540688, 41943040: 16, 58720256: 1073758224,
|
||||
75497472: 1074282512, 92274688: 1073741824, 109051904: 524288, 125829120: 1074266128, 142606336: 524304, 159383552: 0, 176160768: 16384, 192937984: 1074266112, 209715200: 1073741840, 226492416: 540672, 243269632: 1074282496, 260046848: 16400, 268435456: 0, 285212672: 1074266128, 301989888: 1073758224, 318767104: 1074282496, 335544320: 1074266112, 352321536: 16, 369098752: 540688, 385875968: 16384, 402653184: 16400, 419430400: 524288, 436207616: 524304, 452984832: 1073741840, 469762048: 540672, 486539264: 1073758208, 503316480: 1073741824, 520093696: 1074282512,
|
||||
276824064: 540688, 293601280: 524288, 310378496: 1074266112, 327155712: 16384, 343932928: 1073758208, 360710144: 1074282512, 377487360: 16, 394264576: 1073741824, 411041792: 1074282496, 427819008: 1073741840, 444596224: 1073758224, 461373440: 524304, 478150656: 0, 494927872: 16400, 511705088: 1074266128, 528482304: 540672
|
||||
}, { "0": 260, 1048576: 0, 2097152: 67109120, 3145728: 65796, 4194304: 65540, 5242880: 67108868, 6291456: 67174660, 7340032: 67174400, 8388608: 67108864, 9437184: 67174656, 10485760: 65792, 11534336: 67174404, 12582912: 67109124, 13631488: 65536,
|
||||
14680064: 4, 15728640: 256, 524288: 67174656, 1572864: 67174404, 2621440: 0, 3670016: 67109120, 4718592: 67108868, 5767168: 65536, 6815744: 65540, 7864320: 260, 8912896: 4, 9961472: 256, 11010048: 67174400, 12058624: 65796, 13107200: 65792, 14155776: 67109124, 15204352: 67174660, 16252928: 67108864, 16777216: 67174656, 17825792: 65540, 18874368: 65536, 19922944: 67109120, 20971520: 256, 22020096: 67174660, 23068672: 67108868, 24117248: 0, 25165824: 67109124, 26214400: 67108864, 27262976: 4, 28311552: 65792, 29360128: 67174400, 30408704: 260, 31457280: 65796, 32505856: 67174404,
|
||||
17301504: 67108864, 18350080: 260, 19398656: 67174656, 20447232: 0, 21495808: 65540, 22544384: 67109120, 23592960: 256, 24641536: 67174404, 25690112: 65536, 26738688: 67174660, 27787264: 65796, 28835840: 67108868, 29884416: 67109124, 30932992: 67174400, 31981568: 4, 33030144: 65792
|
||||
}, { "0": 2151682048, 65536: 2147487808, 131072: 4198464, 196608: 2151677952, 262144: 0, 327680: 4198400, 393216: 2147483712, 458752: 4194368, 524288: 2147483648, 589824: 4194304, 655360: 64, 720896: 2147487744, 786432: 2151678016, 851968: 4160, 917504: 4096, 983040: 2151682112, 32768: 2147487808,
|
||||
98304: 64, 163840: 2151678016, 229376: 2147487744, 294912: 4198400, 360448: 2151682112, 425984: 0, 491520: 2151677952, 557056: 4096, 622592: 2151682048, 688128: 4194304, 753664: 4160, 819200: 2147483648, 884736: 4194368, 950272: 4198464, 1015808: 2147483712, 1048576: 4194368, 1114112: 4198400, 1179648: 2147483712, 1245184: 0, 1310720: 4160, 1376256: 2151678016, 1441792: 2151682048, 1507328: 2147487808, 1572864: 2151682112, 1638400: 2147483648, 1703936: 2151677952, 1769472: 4198464, 1835008: 2147487744, 1900544: 4194304, 1966080: 64, 2031616: 4096, 1081344: 2151677952,
|
||||
1146880: 2151682112, 1212416: 0, 1277952: 4198400, 1343488: 4194368, 1409024: 2147483648, 1474560: 2147487808, 1540096: 64, 1605632: 2147483712, 1671168: 4096, 1736704: 2147487744, 1802240: 2151678016, 1867776: 4160, 1933312: 2151682048, 1998848: 4194304, 2064384: 4198464
|
||||
}, { "0": 128, 4096: 17039360, 8192: 262144, 12288: 536870912, 16384: 537133184, 20480: 16777344, 24576: 553648256, 28672: 262272, 32768: 16777216, 36864: 537133056, 40960: 536871040, 45056: 553910400, 49152: 553910272, 53248: 0, 57344: 17039488, 61440: 553648128, 2048: 17039488, 6144: 553648256,
|
||||
10240: 128, 14336: 17039360, 18432: 262144, 22528: 537133184, 26624: 553910272, 30720: 536870912, 34816: 537133056, 38912: 0, 43008: 553910400, 47104: 16777344, 51200: 536871040, 55296: 553648128, 59392: 16777216, 63488: 262272, 65536: 262144, 69632: 128, 73728: 536870912, 77824: 553648256, 81920: 16777344, 86016: 553910272, 90112: 537133184, 94208: 16777216, 98304: 553910400, 102400: 553648128, 106496: 17039360, 110592: 537133056, 114688: 262272, 118784: 536871040, 122880: 0, 126976: 17039488, 67584: 553648256, 71680: 16777216, 75776: 17039360, 79872: 537133184,
|
||||
83968: 536870912, 88064: 17039488, 92160: 128, 96256: 553910272, 100352: 262272, 104448: 553910400, 108544: 0, 112640: 553648128, 116736: 16777344, 120832: 262144, 124928: 537133056, 129024: 536871040
|
||||
}, { "0": 268435464, 256: 8192, 512: 270532608, 768: 270540808, 1024: 268443648, 1280: 2097152, 1536: 2097160, 1792: 268435456, 2048: 0, 2304: 268443656, 2560: 2105344, 2816: 8, 3072: 270532616, 3328: 2105352, 3584: 8200, 3840: 270540800, 128: 270532608, 384: 270540808, 640: 8, 896: 2097152, 1152: 2105352, 1408: 268435464, 1664: 268443648, 1920: 8200, 2176: 2097160, 2432: 8192,
|
||||
2688: 268443656, 2944: 270532616, 3200: 0, 3456: 270540800, 3712: 2105344, 3968: 268435456, 4096: 268443648, 4352: 270532616, 4608: 270540808, 4864: 8200, 5120: 2097152, 5376: 268435456, 5632: 268435464, 5888: 2105344, 6144: 2105352, 6400: 0, 6656: 8, 6912: 270532608, 7168: 8192, 7424: 268443656, 7680: 270540800, 7936: 2097160, 4224: 8, 4480: 2105344, 4736: 2097152, 4992: 268435464, 5248: 268443648, 5504: 8200, 5760: 270540808, 6016: 270532608, 6272: 270540800, 6528: 270532616, 6784: 8192, 7040: 2105352, 7296: 2097160, 7552: 0, 7808: 268435456, 8064: 268443656
|
||||
}, { "0": 1048576,
|
||||
16: 33555457, 32: 1024, 48: 1049601, 64: 34604033, 80: 0, 96: 1, 112: 34603009, 128: 33555456, 144: 1048577, 160: 33554433, 176: 34604032, 192: 34603008, 208: 1025, 224: 1049600, 240: 33554432, 8: 34603009, 24: 0, 40: 33555457, 56: 34604032, 72: 1048576, 88: 33554433, 104: 33554432, 120: 1025, 136: 1049601, 152: 33555456, 168: 34603008, 184: 1048577, 200: 1024, 216: 34604033, 232: 1, 248: 1049600, 256: 33554432, 272: 1048576, 288: 33555457, 304: 34603009, 320: 1048577, 336: 33555456, 352: 34604032, 368: 1049601, 384: 1025, 400: 34604033, 416: 1049600, 432: 1, 448: 0, 464: 34603008, 480: 33554433,
|
||||
496: 1024, 264: 1049600, 280: 33555457, 296: 34603009, 312: 1, 328: 33554432, 344: 1048576, 360: 1025, 376: 34604032, 392: 33554433, 408: 34603008, 424: 0, 440: 34604033, 456: 1049601, 472: 1024, 488: 33555456, 504: 1048577
|
||||
}, { "0": 134219808, 1: 131072, 2: 134217728, 3: 32, 4: 131104, 5: 134350880, 6: 134350848, 7: 2048, 8: 134348800, 9: 134219776, 10: 133120, 11: 134348832, 12: 2080, 13: 0, 14: 134217760, 15: 133152, 2147483648: 2048, 2147483649: 134350880, 2147483650: 134219808, 2147483651: 134217728, 2147483652: 134348800, 2147483653: 133120, 2147483654: 133152, 2147483655: 32,
|
||||
2147483656: 134217760, 2147483657: 2080, 2147483658: 131104, 2147483659: 134350848, 2147483660: 0, 2147483661: 134348832, 2147483662: 134219776, 2147483663: 131072, 16: 133152, 17: 134350848, 18: 32, 19: 2048, 20: 134219776, 21: 134217760, 22: 134348832, 23: 131072, 24: 0, 25: 131104, 26: 134348800, 27: 134219808, 28: 134350880, 29: 133120, 30: 2080, 31: 134217728, 2147483664: 131072, 2147483665: 2048, 2147483666: 134348832, 2147483667: 133152, 2147483668: 32, 2147483669: 134348800, 2147483670: 134217728, 2147483671: 134219808, 2147483672: 134350880, 2147483673: 134217760,
|
||||
2147483674: 134219776, 2147483675: 0, 2147483676: 133120, 2147483677: 2080, 2147483678: 131104, 2147483679: 134350848
|
||||
}], d = [4160749569, 528482304, 33030144, 2064384, 129024, 8064, 504, 2147483679], f = l.DES = j.extend({ _doReset: function () {
|
||||
for (var a = this._key.words, c = [], b = 0; 56 > b; b++) { var d = k[b] - 1; c[b] = a[d >>> 5] >>> 31 - d % 32 & 1 } a = this._subKeys = []; for (d = 0; 16 > d; d++) {
|
||||
for (var e = a[d] = [], f = o[d], b = 0; 24 > b; b++) e[b / 6 | 0] |= c[(r[b] - 1 + f) % 28] << 31 - b % 6, e[4 + (b / 6 | 0)] |= c[28 + (r[b + 24] - 1 + f) % 28] << 31 - b % 6; e[0] = e[0] << 1 | e[0] >>> 31; for (b = 1; 7 > b; b++) e[b] >>>=
|
||||
4 * (b - 1) + 3; e[7] = e[7] << 5 | e[7] >>> 27
|
||||
} c = this._invSubKeys = []; for (b = 0; 16 > b; b++) c[b] = a[15 - b]
|
||||
}, encryptBlock: function (a, c) { this._doCryptBlock(a, c, this._subKeys) }, decryptBlock: function (a, c) { this._doCryptBlock(a, c, this._invSubKeys) }, _doCryptBlock: function (a, c, b) {
|
||||
this._lBlock = a[c]; this._rBlock = a[c + 1]; q.call(this, 4, 252645135); q.call(this, 16, 65535); i.call(this, 2, 858993459); i.call(this, 8, 16711935); q.call(this, 1, 1431655765); for (var f = 0; 16 > f; f++) {
|
||||
for (var e = b[f], h = this._lBlock, j = this._rBlock, k = 0, l = 0; 8 > l; l++) k |= m[l][((j ^
|
||||
e[l]) & d[l]) >>> 0]; this._lBlock = j; this._rBlock = h ^ k
|
||||
} b = this._lBlock; this._lBlock = this._rBlock; this._rBlock = b; q.call(this, 1, 1431655765); i.call(this, 8, 16711935); i.call(this, 2, 858993459); q.call(this, 16, 65535); q.call(this, 4, 252645135); a[c] = this._lBlock; a[c + 1] = this._rBlock
|
||||
}, keySize: 2, ivSize: 2, blockSize: 2
|
||||
}); h.DES = j._createHelper(f); l = l.TripleDES = j.extend({ _doReset: function () {
|
||||
var a = this._key.words; this._des1 = f.createEncryptor(p.create(a.slice(0, 2))); this._des2 = f.createEncryptor(p.create(a.slice(2, 4))); this._des3 =
|
||||
f.createEncryptor(p.create(a.slice(4, 6)))
|
||||
}, encryptBlock: function (a, c) { this._des1.encryptBlock(a, c); this._des2.decryptBlock(a, c); this._des3.encryptBlock(a, c) }, decryptBlock: function (a, c) { this._des3.decryptBlock(a, c); this._des2.encryptBlock(a, c); this._des1.decryptBlock(a, c) }, keySize: 6, ivSize: 2, blockSize: 2
|
||||
}); h.TripleDES = j._createHelper(l)
|
||||
})();
|
||||
@@ -0,0 +1,83 @@
|
||||
function Empty() {
|
||||
document.getElementById("content").value = "";
|
||||
$('zhongwen').innerText = "0";
|
||||
$('zbiaodian').innerText = "0";
|
||||
$('zhongwenbiaodian').innerText = "0";
|
||||
$('yingwen').innerText = "0";
|
||||
$('shuzi').innerText = "0";
|
||||
document.getElementById("numwords").innerHTML = "0";
|
||||
document.getElementById("content").select();
|
||||
}
|
||||
|
||||
function $(id) { return document.getElementById(id); }
|
||||
var EventUtil = function () { };
|
||||
EventUtil.addEventHandler = function (obj, EventType, Handler) {
|
||||
//如果是FF
|
||||
if (obj.addEventListener) {
|
||||
obj.addEventListener(EventType, Handler, false);
|
||||
}
|
||||
//如果是IE
|
||||
else if (obj.attachEvent) {
|
||||
obj.attachEvent('on' + EventType, Handler);
|
||||
}
|
||||
else {
|
||||
obj['on' + EventType] = Handler;
|
||||
}
|
||||
}
|
||||
|
||||
if ($("content")) {
|
||||
EventUtil.addEventHandler($('content'), 'propertychange', CountChineseCharacters);
|
||||
EventUtil.addEventHandler($('content'), 'input', CountChineseCharacters);
|
||||
}
|
||||
window.onload = CountChineseCharacters();
|
||||
|
||||
function showit(Word) {
|
||||
alert(Word);
|
||||
}
|
||||
function CountChineseCharacters() {
|
||||
Words = $('content').value;
|
||||
var W = new Object();
|
||||
var Result = new Array();
|
||||
var iNumwords = 0;
|
||||
var sNumwords = 0;
|
||||
var sTotal = 0; //双字节字符;
|
||||
var iTotal = 0; //中文字符;
|
||||
var eTotal = 0; //E文字符
|
||||
var otherTotal = 0;
|
||||
var bTotal = 0;
|
||||
var inum = 0;
|
||||
|
||||
for (i = 0; i < Words.length; i++) {
|
||||
var c = Words.charAt(i);
|
||||
if (c.match(/[\u4e00-\u9fa5]/)) {
|
||||
if (isNaN(W[c])) {
|
||||
iNumwords++;
|
||||
W[c] = 1;
|
||||
}
|
||||
iTotal++;
|
||||
}
|
||||
}
|
||||
|
||||
for (i = 0; i < Words.length; i++) {
|
||||
var c = Words.charAt(i);
|
||||
if (c.match(/[^\x00-\xff]/)) {
|
||||
if (isNaN(W[c])) {
|
||||
sNumwords++;
|
||||
|
||||
}
|
||||
sTotal++;
|
||||
}
|
||||
else {
|
||||
eTotal++;
|
||||
}
|
||||
if (c.match(/[0-9]/)) {
|
||||
inum++;
|
||||
}
|
||||
}
|
||||
$('zhongwen').innerText = iTotal;
|
||||
$('zbiaodian').innerText = sTotal - iTotal;
|
||||
$('zhongwenbiaodian').innerText = sTotal;
|
||||
$('yingwen').innerText = eTotal;
|
||||
$('shuzi').innerText = inum;
|
||||
document.getElementById("totalwords").innerHTML = iTotal * 2 + (sTotal - iTotal) * 2 + eTotal;
|
||||
}
|
||||
@@ -0,0 +1,74 @@
|
||||
__whitespace = { " ": true, "\t": true, "\n": true, "\f": true, "\r": true }; difflib = { defaultJunkFunction: function (c) { return c in __whitespace; }, stripLinebreaks: function (str) { return str.replace(/^[\n\r]*|[\n\r]*$/g, ""); }, stringAsLines: function (str) {
|
||||
var lfpos = str.indexOf("\n"); var crpos = str.indexOf("\r"); var linebreak = ((lfpos > -1 && crpos > -1) || crpos < 0) ? "\n" : "\r"; var lines = str.split(linebreak); for (var i = 0; i < lines.length; i++) { lines[i] = difflib.stripLinebreaks(lines[i]); }
|
||||
return lines;
|
||||
}, __reduce: function (func, list, initial) {
|
||||
if (initial != null) { var value = initial; var idx = 0; } else if (list) { var value = list[0]; var idx = 1; } else { return null; }
|
||||
for (; idx < list.length; idx++) { value = func(value, list[idx]); }
|
||||
return value;
|
||||
}, __ntuplecomp: function (a, b) {
|
||||
var mlen = Math.max(a.length, b.length); for (var i = 0; i < mlen; i++) { if (a[i] < b[i]) return -1; if (a[i] > b[i]) return 1; }
|
||||
return a.length == b.length ? 0 : (a.length < b.length ? -1 : 1);
|
||||
}, __calculate_ratio: function (matches, length) { return length ? 2.0 * matches / length : 1.0; }, __isindict: function (dict) { return function (key) { return key in dict; }; }, __dictget: function (dict, key, defaultValue) { return key in dict ? dict[key] : defaultValue; }, SequenceMatcher: function (a, b, isjunk) {
|
||||
this.set_seqs = function (a, b) { this.set_seq1(a); this.set_seq2(b); }
|
||||
this.set_seq1 = function (a) { if (a == this.a) return; this.a = a; this.matching_blocks = this.opcodes = null; }
|
||||
this.set_seq2 = function (b) { if (b == this.b) return; this.b = b; this.matching_blocks = this.opcodes = this.fullbcount = null; this.__chain_b(); }
|
||||
this.__chain_b = function () {
|
||||
var b = this.b; var n = b.length; var b2j = this.b2j = {}; var populardict = {}; for (var i = 0; i < b.length; i++) { var elt = b[i]; if (elt in b2j) { var indices = b2j[elt]; if (n >= 200 && indices.length * 100 > n) { populardict[elt] = 1; delete b2j[elt]; } else { indices.push(i); } } else { b2j[elt] = [i]; } }
|
||||
for (var elt in populardict)
|
||||
delete b2j[elt]; var isjunk = this.isjunk; var junkdict = {}; if (isjunk) {
|
||||
for (var elt in populardict) { if (isjunk(elt)) { junkdict[elt] = 1; delete populardict[elt]; } }
|
||||
for (var elt in b2j) { if (isjunk(elt)) { junkdict[elt] = 1; delete b2j[elt]; } }
|
||||
}
|
||||
this.isbjunk = difflib.__isindict(junkdict); this.isbpopular = difflib.__isindict(populardict);
|
||||
}
|
||||
this.find_longest_match = function (alo, ahi, blo, bhi) {
|
||||
var a = this.a; var b = this.b; var b2j = this.b2j; var isbjunk = this.isbjunk; var besti = alo; var bestj = blo; var bestsize = 0; var j = null; var j2len = {}; var nothing = []; for (var i = alo; i < ahi; i++) {
|
||||
var newj2len = {}; var jdict = difflib.__dictget(b2j, a[i], nothing); for (var jkey in jdict) { j = jdict[jkey]; if (j < blo) continue; if (j >= bhi) break; newj2len[j] = k = difflib.__dictget(j2len, j - 1, 0) + 1; if (k > bestsize) { besti = i - k + 1; bestj = j - k + 1; bestsize = k; } }
|
||||
j2len = newj2len;
|
||||
}
|
||||
while (besti > alo && bestj > blo && !isbjunk(b[bestj - 1]) && a[besti - 1] == b[bestj - 1]) { besti--; bestj--; bestsize++; }
|
||||
while (besti + bestsize < ahi && bestj + bestsize < bhi && !isbjunk(b[bestj + bestsize]) && a[besti + bestsize] == b[bestj + bestsize]) { bestsize++; }
|
||||
while (besti > alo && bestj > blo && isbjunk(b[bestj - 1]) && a[besti - 1] == b[bestj - 1]) { besti--; bestj--; bestsize++; }
|
||||
while (besti + bestsize < ahi && bestj + bestsize < bhi && isbjunk(b[bestj + bestsize]) && a[besti + bestsize] == b[bestj + bestsize]) { bestsize++; }
|
||||
return [besti, bestj, bestsize];
|
||||
}
|
||||
this.get_matching_blocks = function () {
|
||||
if (this.matching_blocks != null) return this.matching_blocks; var la = this.a.length; var lb = this.b.length; var queue = [[0, la, 0, lb]]; var matching_blocks = []; var alo, ahi, blo, bhi, qi, i, j, k, x; while (queue.length) {
|
||||
qi = queue.pop(); alo = qi[0]; ahi = qi[1]; blo = qi[2]; bhi = qi[3]; x = this.find_longest_match(alo, ahi, blo, bhi); i = x[0]; j = x[1]; k = x[2]; if (k) {
|
||||
matching_blocks.push(x); if (alo < i && blo < j)
|
||||
queue.push([alo, i, blo, j]); if (i + k < ahi && j + k < bhi)
|
||||
queue.push([i + k, ahi, j + k, bhi]);
|
||||
}
|
||||
}
|
||||
matching_blocks.sort(difflib.__ntuplecomp); var i1 = j1 = k1 = block = 0; var non_adjacent = []; for (var idx in matching_blocks) { block = matching_blocks[idx]; i2 = block[0]; j2 = block[1]; k2 = block[2]; if (i1 + k1 == i2 && j1 + k1 == j2) { k1 += k2; } else { if (k1) non_adjacent.push([i1, j1, k1]); i1 = i2; j1 = j2; k1 = k2; } }
|
||||
if (k1) non_adjacent.push([i1, j1, k1]); non_adjacent.push([la, lb, 0]); this.matching_blocks = non_adjacent; return this.matching_blocks;
|
||||
}
|
||||
this.get_opcodes = function () {
|
||||
if (this.opcodes != null) return this.opcodes; var i = 0; var j = 0; var answer = []; this.opcodes = answer; var block, ai, bj, size, tag; var blocks = this.get_matching_blocks(); for (var idx in blocks) {
|
||||
block = blocks[idx]; ai = block[0]; bj = block[1]; size = block[2]; tag = ''; if (i < ai && j < bj) { tag = 'replace'; } else if (i < ai) { tag = 'delete'; } else if (j < bj) { tag = 'insert'; }
|
||||
if (tag) answer.push([tag, i, ai, j, bj]); i = ai + size; j = bj + size; if (size) answer.push(['equal', ai, i, bj, j]);
|
||||
}
|
||||
return answer;
|
||||
}
|
||||
this.get_grouped_opcodes = function (n) {
|
||||
if (!n) n = 3; var codes = this.get_opcodes(); if (!codes) codes = [["equal", 0, 1, 0, 1]]; var code, tag, i1, i2, j1, j2; if (codes[0][0] == 'equal') { code = codes[0]; tag = code[0]; i1 = code[1]; i2 = code[2]; j1 = code[3]; j2 = code[4]; codes[0] = [tag, Math.max(i1, i2 - n), i2, Math.max(j1, j2 - n), j2]; }
|
||||
if (codes[codes.length - 1][0] == 'equal') { code = codes[codes.length - 1]; tag = code[0]; i1 = code[1]; i2 = code[2]; j1 = code[3]; j2 = code[4]; codes[codes.length - 1] = [tag, i1, Math.min(i2, i1 + n), j1, Math.min(j2, j1 + n)]; }
|
||||
var nn = n + n; var groups = []; for (var idx in codes) {
|
||||
code = codes[idx]; tag = code[0]; i1 = code[1]; i2 = code[2]; j1 = code[3]; j2 = code[4]; if (tag == 'equal' && i2 - i1 > nn) { groups.push([tag, i1, Math.min(i2, i1 + n), j1, Math.min(j2, j1 + n)]); i1 = Math.max(i1, i2 - n); j1 = Math.max(j1, j2 - n); }
|
||||
groups.push([tag, i1, i2, j1, j2]);
|
||||
}
|
||||
if (groups && groups[groups.length - 1][0] == 'equal') groups.pop(); return groups;
|
||||
}
|
||||
this.ratio = function () { matches = difflib.__reduce(function (sum, triple) { return sum + triple[triple.length - 1]; }, this.get_matching_blocks(), 0); return difflib.__calculate_ratio(matches, this.a.length + this.b.length); }
|
||||
this.quick_ratio = function () {
|
||||
var fullbcount, elt; if (this.fullbcount == null) { this.fullbcount = fullbcount = {}; for (var i = 0; i < this.b.length; i++) { elt = this.b[i]; fullbcount[elt] = difflib.__dictget(fullbcount, elt, 0) + 1; } }
|
||||
fullbcount = this.fullbcount; var avail = {}; var availhas = difflib.__isindict(avail); var matches = numb = 0; for (var i = 0; i < this.a.length; i++) {
|
||||
elt = this.a[i]; if (availhas(elt)) { numb = avail[elt]; } else { numb = difflib.__dictget(fullbcount, elt, 0); }
|
||||
avail[elt] = numb - 1; if (numb > 0) matches++;
|
||||
}
|
||||
return difflib.__calculate_ratio(matches, this.a.length + this.b.length);
|
||||
}
|
||||
this.real_quick_ratio = function () { var la = this.a.length; var lb = this.b.length; return _calculate_ratio(Math.min(la, lb), la + lb); }
|
||||
this.isjunk = isjunk ? isjunk : difflib.defaultJunkFunction; this.a = this.b = null; this.set_seqs(a, b);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
diffview = { buildView: function (params) { var baseTextLines = params.baseTextLines; var newTextLines = params.newTextLines; var opcodes = params.opcodes; var baseTextName = params.baseTextName ? params.baseTextName : "Base Text"; var newTextName = params.newTextName ? params.newTextName : "New Text"; var contextSize = params.contextSize; var inline = (params.viewType == 0 || params.viewType == 1) ? params.viewType : 0; if (baseTextLines == null) throw "Cannot build diff view; baseTextLines is not defined."; if (newTextLines == null) throw "Cannot build diff view; newTextLines is not defined."; if (!opcodes) throw "Canno build diff view; opcodes is not defined."; function celt(name, clazz) { var e = document.createElement(name); e.className = clazz; return e; } function telt(name, text) { var e = document.createElement(name); e.appendChild(document.createTextNode(text)); return e; } function ctelt(name, clazz, text) { var e = document.createElement(name); e.className = clazz; e.appendChild(document.createTextNode(text)); return e; } var tdata = document.createElement("thead"); var node = document.createElement("tr"); tdata.appendChild(node); if (inline) { node.appendChild(document.createElement("th")); node.appendChild(document.createElement("th")); node.appendChild(ctelt("th", "texttitle", baseTextName + " vs. " + newTextName)); } else { node.appendChild(document.createElement("th")); node.appendChild(ctelt("th", "texttitle", baseTextName)); node.appendChild(document.createElement("th")); node.appendChild(ctelt("th", "texttitle", newTextName)); } tdata = [tdata]; var rows = []; var node2; function addCells(row, tidx, tend, textLines, change) { if (tidx < tend) { row.appendChild(telt("th", (tidx + 1).toString())); row.appendChild(ctelt("td", change, textLines[tidx].replace(/\t/g, "\u00a0\u00a0\u00a0\u00a0"))); return tidx + 1; } else { row.appendChild(document.createElement("th")); row.appendChild(celt("td", "empty")); return tidx; } } function addCellsInline(row, tidx, tidx2, textLines, change) { row.appendChild(telt("th", tidx == null ? "" : (tidx + 1).toString())); row.appendChild(telt("th", tidx2 == null ? "" : (tidx2 + 1).toString())); row.appendChild(ctelt("td", change, textLines[tidx != null ? tidx : tidx2].replace(/\t/g, "\u00a0\u00a0\u00a0\u00a0"))); } for (var idx = 0; idx < opcodes.length; idx++) { code = opcodes[idx]; change = code[0]; var b = code[1]; var be = code[2]; var n = code[3]; var ne = code[4]; var rowcnt = Math.max(be - b, ne - n); var toprows = []; var botrows = []; for (var i = 0; i < rowcnt; i++) { if (contextSize && opcodes.length > 1 && ((idx > 0 && i == contextSize) || (idx == 0 && i == 0)) && change == "equal") { var jump = rowcnt - ((idx == 0 ? 1 : 2) * contextSize); if (jump > 1) { toprows.push(node = document.createElement("tr")); b += jump; n += jump; i += jump - 1; node.appendChild(telt("th", "...")); if (!inline) node.appendChild(ctelt("td", "skip", "")); node.appendChild(telt("th", "...")); node.appendChild(ctelt("td", "skip", "")); if (idx + 1 == opcodes.length) { break; } else { continue; } } } toprows.push(node = document.createElement("tr")); if (inline) { if (change == "insert") { addCellsInline(node, null, n++, newTextLines, change); } else if (change == "replace") { botrows.push(node2 = document.createElement("tr")); if (b < be) addCellsInline(node, b++, null, baseTextLines, "delete"); if (n < ne) addCellsInline(node2, null, n++, newTextLines, "insert"); } else if (change == "delete") { addCellsInline(node, b++, null, baseTextLines, change); } else { addCellsInline(node, b++, n++, baseTextLines, change); } } else { b = addCells(node, b, be, baseTextLines, change); n = addCells(node, n, ne, newTextLines, change); } } for (var i = 0; i < toprows.length; i++) rows.push(toprows[i]); for (var i = 0; i < botrows.length; i++) rows.push(botrows[i]); } tdata.push(node = document.createElement("tbody")); for (var idx in rows) node.appendChild(rows[idx]); node = celt("table", "diff" + (inline ? " inlinediff" : "")); for (var idx in tdata) node.appendChild(tdata[idx]); return node; } }
|
||||
@@ -0,0 +1,60 @@
|
||||
function a(pChoice) {
|
||||
//var inputEle = document.getElementById('content');
|
||||
var outputEle; //document.getElementById('result');
|
||||
switch (pChoice) {
|
||||
case "CONVERT_FMT1":
|
||||
outputEle = ascii($("#content").val());
|
||||
break;
|
||||
case "CONVERT_FMT2":
|
||||
outputEle = unicode($("#content").val());
|
||||
break;
|
||||
case "CONVERT_FMT3":
|
||||
outputEle = unicode1($("#content").val());
|
||||
break;
|
||||
case "RECONVERT":
|
||||
outputEle = reconvert($("#content").val());
|
||||
break;
|
||||
}
|
||||
hightout(outputEle.toString());
|
||||
}
|
||||
function ascii(str) {
|
||||
var value = '';
|
||||
for (var i = 0; i < str.length; i++) {
|
||||
value += '\&#x' + left_zero_4(parseInt(str.charCodeAt(i)).toString(16)) + ';';
|
||||
}
|
||||
return value;
|
||||
}
|
||||
function unicode(str) {
|
||||
var value = '';
|
||||
for (var i = 0; i < str.length; i++) {
|
||||
value += '\\u' + left_zero_4(parseInt(str.charCodeAt(i)).toString(16));
|
||||
}
|
||||
return value;
|
||||
}
|
||||
function left_zero_4(str) {
|
||||
if (str != null && str != '' && str != 'undefined') {
|
||||
if (str.length == 2) {
|
||||
return '00' + str;
|
||||
}
|
||||
}
|
||||
return str;
|
||||
}
|
||||
function unicode1(str) {
|
||||
var value = '';
|
||||
for (var i = 0; i < str.length; i++)
|
||||
value += '&#' + str.charCodeAt(i) + ';';
|
||||
return value;
|
||||
}
|
||||
function reconvert(str) {
|
||||
str = str.replace(/(\\u)(\w{1,4})/gi, function ($0) {
|
||||
return (String.fromCharCode(parseInt((escape($0).replace(/(%5Cu)(\w{1,4})/g, "$2")), 16)));
|
||||
});
|
||||
str = str.replace(/(&#x)(\w{1,4});/gi, function ($0) {
|
||||
return String.fromCharCode(parseInt(escape($0).replace(/(%26%23x)(\w{1,4})(%3B)/g, "$2"), 16));
|
||||
});
|
||||
str = str.replace(/(&#)(\d{1,6});/gi, function ($0) {
|
||||
return String.fromCharCode(parseInt(escape($0).replace(/(%26%23)(\d{1,6})(%3B)/g, "$2")));
|
||||
});
|
||||
|
||||
return str;
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
function urlCrypt() {
|
||||
var str2 = '';
|
||||
str = $('#content').val();
|
||||
if (null == str || str.length < 10) {
|
||||
$('#content').focus();
|
||||
pcjson_com_msg($("#content"), "请输入要加密的Url");
|
||||
return false;
|
||||
}
|
||||
str3 = str.substring(0, 7);
|
||||
if (str3 == 'Net://') {
|
||||
str2 = 'Net://';
|
||||
str = str.substring(7, str.length);
|
||||
}
|
||||
for (i = 0; i < str.length; i++) {
|
||||
if (str.charCodeAt(i) == '47') str2 += '/';
|
||||
else if (str.charCodeAt(i) == '63') str2 += '?';
|
||||
else if (str.charCodeAt(i) == '38') str2 += '&';
|
||||
else if (str.charCodeAt(i) == '61') str2 += '=';
|
||||
else if (str.charCodeAt(i) == '58') str2 += ':';
|
||||
else str2 += '%' + str.charCodeAt(i).toString(16);
|
||||
}
|
||||
hightout(str2);
|
||||
document.getElementById("content").select();
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
function ConvUtf(obj, btn) {␍ var a = obj.value.replace(/[^\u0000-\u00FF]/g, function ($0) { return escape($0).replace(/(%u)(\w { 4 })/gi, "&#x$2; ") });␍ hightout(a);␍}␍function ResChinese(obj, btn) {␍ var a = unescape(obj.value.replace(/&#x/g, '%u').replace(/; /g, ''));␍ hightout(a);␍}␍function Empty() {␍ document.getElementById("contents").value = "";␍ $("#result").html('');␍ document.getElementById("contents").select();␍}
|
||||
@@ -0,0 +1,99 @@
|
||||
function formatDate(now) {
|
||||
var year = now.getFullYear();
|
||||
var month = now.getMonth() + 1;
|
||||
var date = now.getDate();
|
||||
var hour = now.getHours();
|
||||
var minute = now.getMinutes();
|
||||
var second = now.getSeconds();
|
||||
return year + "-" + (month = month < 10 ? ("0" + month) : month) + "-" + (date = date < 10 ? ("0" + date) : date) + " " + (hour = hour < 10 ? ("0" + hour) : hour) + ":" + (minute = minute < 10 ? ("0" + minute) : minute) + ":" + (second = second < 10 ? ("0" + second) : second);
|
||||
}
|
||||
var output;
|
||||
var websocket;
|
||||
function init() {
|
||||
output = document.getElementById("output");
|
||||
testWebSocket();
|
||||
}
|
||||
|
||||
function addsocket() {
|
||||
var wsaddr = $("#wsaddr").val();
|
||||
if (wsaddr == '') {
|
||||
pcjson_com_msg($("#wsaddr"), "请填写Websocket测试地址");
|
||||
return false;
|
||||
}
|
||||
StartWebSocket(wsaddr);
|
||||
}
|
||||
|
||||
function closesocket() {
|
||||
if (websocket) {
|
||||
websocket.close();
|
||||
}
|
||||
else {
|
||||
writeToScreen("<span style='color:red'>Websocket未连接,无需进行断开操作!</span>");
|
||||
}
|
||||
}
|
||||
|
||||
function StartWebSocket(wsUri) {
|
||||
websocket = new WebSocket(wsUri);
|
||||
websocket.onopen = function (evt) { onOpen(evt) };
|
||||
websocket.onclose = function (evt) { onClose(evt) };
|
||||
websocket.onmessage = function (evt) { onMessage(evt) };
|
||||
websocket.onerror = function (evt) { onError(evt) };
|
||||
}
|
||||
|
||||
function onOpen(evt) {
|
||||
writeToScreen("<span style='color:red'>连接成功,现在你可以发送信息进行测试了!</span>");
|
||||
}
|
||||
function onClose(evt) {
|
||||
writeToScreen("<span style='color:red'>Websocket连接已断开!</span>");
|
||||
websocket.close();
|
||||
}
|
||||
function onMessage(evt) {
|
||||
writeToScreen('<span style="color:blue">服务端回应 ' + formatDate(new Date()) + '</span><br/><span>' + evt.data + '</span>');
|
||||
}
|
||||
function onError(evt) {
|
||||
writeToScreen('<span style="color: red;">发生错误:</span> ' + evt.data);
|
||||
}
|
||||
function SendMessage() {
|
||||
var message = $("#message").val();
|
||||
if (message == '') {
|
||||
pcjson_com_msg($("#message"), "请先填写要测试发送的消息");
|
||||
$("#message").focus();
|
||||
return false;
|
||||
}
|
||||
if (typeof websocket === "undefined") {
|
||||
pcjson_com_msg($("#message"), "Websocket还没有连接或者连接失败,请进行检测");
|
||||
return false;
|
||||
}
|
||||
if (websocket.readyState == 3) {
|
||||
pcjson_com_msg($("#message"), "Websocket已经关闭,请重新连接");
|
||||
return false;
|
||||
}
|
||||
$("#message").val('');
|
||||
writeToScreen('<span style="color:green">你发送的信息 ' + formatDate(new Date()) + '</span><br/>' + message);
|
||||
websocket.send(message);
|
||||
}
|
||||
function writeToScreen(message) {
|
||||
var div = "<div>" + message + "</div>";
|
||||
var d = $("#output");
|
||||
var d = d[0];
|
||||
var doScroll = d.scrollTop == d.scrollHeight - d.clientHeight;
|
||||
$("#output").append(div);
|
||||
if (doScroll) {
|
||||
d.scrollTop = d.scrollHeight - d.clientHeight;
|
||||
}
|
||||
}
|
||||
function en(event) {
|
||||
var evt = evt ? evt : (window.event ? window.event : null);
|
||||
if (evt.keyCode == 13) {
|
||||
SendMessage()
|
||||
}
|
||||
}
|
||||
$("#demo1").click(function(){
|
||||
var src = (document.location.protocol == "Net:") ?"ws://echo.websocket.org":"wss://echo.websocket.org";
|
||||
wsaddr.value=src;
|
||||
});
|
||||
function Empty() {
|
||||
$("#wsaddr").val("");
|
||||
$("#message").val("");
|
||||
$("#output").html("");
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
function randomise() {
|
||||
var words = $("#content").val();
|
||||
words = words.split(mform.randomiseby.options[mform.randomiseby.selectedIndex].value)
|
||||
var code = "";
|
||||
var colourscheme = new Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F")
|
||||
for (var time = 0; time <= (words.length - 1); time++) {
|
||||
if (words[time] == " ") {
|
||||
code += " "
|
||||
}
|
||||
if (words[time] != " ") {
|
||||
var c1 = Math.round(Math.random() * (colourscheme.length - 1));
|
||||
var c2 = Math.round(Math.random() * (colourscheme.length - 1));
|
||||
var c3 = Math.round(Math.random() * (colourscheme.length - 1));
|
||||
var c4 = Math.round(Math.random() * (colourscheme.length - 1));
|
||||
var c5 = Math.round(Math.random() * (colourscheme.length - 1));
|
||||
var c6 = Math.round(Math.random() * (colourscheme.length - 1));
|
||||
var size = 1 + Math.round(Math.random() * 6);
|
||||
code += "<font color=\"#" + colourscheme[c1] + colourscheme[c2] + colourscheme[c3] + colourscheme[c4] + colourscheme[c5] + colourscheme[c6] + "\" size=\"" + size + "\">" + words[time] + "</font>";
|
||||
}
|
||||
}
|
||||
$("#color_text").html(code);
|
||||
hightout(code);
|
||||
}
|
||||
function Empty() {
|
||||
$("#content").val("");
|
||||
$("#result").html("");
|
||||
$("#color_text").html("");
|
||||
document.getElementById("content").select();
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
function find(t){
|
||||
$("#result").val("");
|
||||
var code = $("#content").val();
|
||||
var condition = 'img';
|
||||
switch(t){
|
||||
case 1:
|
||||
condition = 'img';
|
||||
break;
|
||||
case 2:
|
||||
condition = $("#xpath").val();
|
||||
break;
|
||||
case 3:
|
||||
condition = 'a';
|
||||
break;
|
||||
|
||||
}
|
||||
var html = '';
|
||||
$(code).find(condition).each(function(){
|
||||
switch(t){
|
||||
case 1:
|
||||
if($("#showImg").is(":checked")){
|
||||
$("#res").append("<img src='"+$(this).attr("src")+"' style='margin-left:2px'> ");
|
||||
}
|
||||
html+=$(this).attr("src")+"\r\n";
|
||||
break;
|
||||
case 2:
|
||||
html+=$(this).html()+"\r\n";
|
||||
break;
|
||||
case 3:
|
||||
//if($(this).attr("href").indexOf("Net://")>=0||$(this).attr("href").indexOf("https://")>=0){
|
||||
html+=$(this).attr("href")+"\r\n";
|
||||
//}
|
||||
break;
|
||||
}
|
||||
|
||||
});
|
||||
if(html==''){
|
||||
html+='没有匹配到数据';
|
||||
}
|
||||
hightout(html);
|
||||
}
|
||||
function demo(){
|
||||
$("#content").val('<p><a href="Net://www.sohu.com/"><img src="Net://5b0988e595225.cdn.sohucs.com/images/20191029/bc5a383be6fd43e5ada49f8d8f573007.png"/></a></p><p>国内外大量的社会调查与医学统计显示:越来越多的疾病正快步向男性走来,并不断地严重威胁到男性同志的身心健康。例如前列腺炎(20-50岁的男性发病率高达20%-40%以上)、性功能障碍、前列腺增生、高血压、糖尿病、疲劳综合症、肥胖综合症、脱发、秃顶等等。这一切看来,好似男性更加脆弱。事实也正是如此,全世界范围内男性的平均寿命要比女性小上2-3岁。这些危害男性健康的现状早已引起国际卫生组织的高度重视。</p><p><img src="Net://5b0988e595225.cdn.sohucs.com/images/20191029/a7f20952a135489caffaea8cad88bb07.png"/></p><p>世界卫生组织确定每年的10月28日为“世界男性健康日”,在每年的“世界男性健康日”到来之即,要求世界各国加大对男性健康的宣传力度,呼吁整个社会再多一点对男性健康的关注、呼吁每个家庭再多一点对男性健康的关爱。</p><p><img src="Net://5b0988e595225.cdn.sohucs.com/images/20191029/a5afa04ed69c4e8e884e29a37d647d08.jpeg"/></p><p>从2000年开始,每年10月28日为我国“男性健康日”。今年中国男性健康日主题:“健康中国我行动,幸福相伴在一起”。倡议<span>健康体魄、幸福生活,努力做到夫妻在一起、家人在一起、亲情在一起、专家和患者在一起、幸福中国和健康中国在一起。</span></p>');
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user