var tools = { clear: function (array) { for (var i = 0; i < array.length; i++) { if (array[i]) { array[i].value = ''; $(array[i]).siblings("b").show(); } } }, cssdesigner: function () { $(".cornerIco").click(function () { var obj = $(this).parents('ul'); if (obj.find('.Csspad-widthEven').hasClass("autohide")) { obj.find('.Csspad-widthEven').removeClass('autohide'); obj.find('.Csspad-widthOdd').addClass('autohide'); $(this).addClass("cornerIco-open").removeClass("cornerIco"); } else { obj.find('.Csspad-widthEven').addClass('autohide'); obj.find('.Csspad-widthOdd').removeClass('autohide'); $(this).addClass("cornerIco").removeClass("cornerIco-open"); } }); $("p.Typeleft a").click(function () { var index = $(this).index(); $(this).addClass("TyLcurt").siblings().removeClass("TyLcurt"); $("div.CssheadBoot div.QrCSSDesignerPad:eq(" + index + ")").removeClass("autohide").siblings().addClass("autohide"); }); }, htmlcheck: function () { $("li.errorline a").click(function () { var line = $(this).attr("line"); var htmltext = $('#htmltext'); htmltext.focus(); var linepos = htmltext.val().indexOf(line); SelectRange(htmltext[0], linepos, linepos); }); }, pagecode: function () { $("div.TabheadWrap a").click(function () { $(this).addClass("Tabon").siblings().removeClass("Tabon"); $("#codecolor").val($(this).attr("val")); $("form").submit(); }); }, webdebugger: { Webtest: function () { var win = window.open(); win.document.open(); win.document.write($('#content').val()); win.document.close(); }, saveCode: function () { if (!document.all) { alert('此功能在IE有效'); return; } var win = window.open('', '', 'top=10000,left=10000'); win.document.write(document.all.content.innerText) win.document.execCommand('SaveAs', '', '文件名称.htm') win.close(); }, init: function () { var _this = this; $("#test").click(function () { _this.Webtest(); }); $("#select").click(function () { $("#content").select(); }); $("#clear").click(function () { $("#content").val(""); }); $("#save").click(function () { _this.saveCode(); }); } }, htmlfilter: { fhtml: true, fjs: false, fcss: false, fself: false, Filter: function () { var s = jQuery("#content").val(); if (!this.fhtml && !this.fjs && !this.fcss && !this.fself) this.fhtml = true; if (this.fjs) s = s.replace(/<\s*script[^>]*>(.|[\r\n])*?<\s*\/script[^>]*>/gi, ''); if (this.fcss) s = s.replace(/<\s*style[^>]*>(.|[\r\n])*?<\s*\/style[^>]*>/gi, ''); if (this.fhtml) { s = s.replace(/<\/?[^>]+>/g, ''); s = s.replace(/\&[a-z]+;/gi, ''); s = s.replace(/\s+/g, '\n'); } if (this.fself) s = s.replace(new RegExp(jQuery("#preplace").val(), 'g'), $("#nextplace").val()); jQuery("#result").val(s).removeClass("col-gray"); }, checked: function (obj) { var thisv = jQuery(obj).val(); var set = jQuery(obj).prop("checked"); if (thisv == 3) { if (set) { this.fhtml = false; this.fjs = false; this.fcss = false; this.fself = true; jQuery(obj).siblings("[name=type]").prop("checked", false); jQuery("#place").removeClass("autohide"); } else { this.fhtml = true; this.fself = false; jQuery("#place").addClass("autohide"); jQuery("input[name=type]").eq(1).prop("checked", true); } } else { jQuery("#place").addClass("autohide"); jQuery("input[name=type]").eq(0).prop("checked", false); switch (thisv) { case "0": if (set) { this.fhtml = true; this.fself = false; } else { this.fhtml = false; } break; case "1": if (set) { this.fjs = true; this.fself = false; } else { this.fjs = false; } break; case "2": if (set) { this.fcss = true; this.fself = false; } else { this.fcss = false; } break; } var _this = this; _this.Filter(); } }, init: function (path) { var _this = this; jQuery("input[name=type]").bind("click", function () { _this.checked(this); }); jQuery("#filter").click(function () { _this.Filter(); jQuery("#result").siblings(".CentHid").hide(); }); jQuery("#clear").click(function () { jQuery("#content").val(""); jQuery("#result").val(""); }); tools.clipfn(path); } }, clipfn: function (path, id) { var _clip = "clip"; if (id) _clip = id; var clip = new ZeroClipboard(getid(_clip), { moviePath: "/template/default/images/tool/ZeroClipboard.swf" }); clip.on('complete', function (client, args) { alert("已成功复制到剪贴板!"); }); }, checkbox: function (t) { $(".js-FilterItem li").click(function (e) { if (!$(this).hasClass("selected")) { $(this).addClass("selected"); fn(this); } else { $(this).removeClass("selected"); fn(this); } }); function fn(obj) { if (t == "reg") { var index = $(obj).index(); if (index == 5) { $("#chkboxhide input").eq(6).prop("checkbox", false).removeAttr("checked"); $("#_chkboxhide li").eq(6).removeClass("selected"); } else if (index == 6) { $("#chkboxhide input").eq(5).prop("checkbox", false).removeAttr("checked"); $("#_chkboxhide li").eq(5).removeClass("selected"); } $("#chkboxhide input").eq(index).click(); } else if ($(obj).find("input").val()) $(obj).find("input").val(""); else $(obj).find("input").val($(obj).attr("val")); } }, openweb: { openAttr: function (istest) { var address = $("input[name='url']").val(); var op_tool = $("input[name='tool']").val() ? "toolbar=yes," : ""; var op_loc = $("input[name='loc']").val() ? "location=yes," : ""; var op_stat = $("input[name='stat']").val() ? "status=yes," : ""; var op_menu = $("input[name='menu']").val() ? "menubar=yes," : ""; var op_scroll = $("input[name='scroll']").val() ? "scrollbars=yes," : ""; var op_resize = $("input[name='resize']").val() ? "resizable=yes," : ""; var op_selfopen = $("input[name='selfopen']").val() ? "_self" : "newwindow"; var op_width = $("input[name='width']").val() ? "width=" + $("input[name='width']").val() + "," : ""; var op_height = $("input[name='height']").val() ? "height=" + $("input[name='height']").val() + "," : ""; var op_L = $("input[name='L']").val() ? "left=" + $("input[name='L']").val() + "," : ""; var op_T = $("input[name='T']").val() ? "top=" + $("input[name='T']").val() + "," : ""; if (op_tool == "" && op_loc == "" && op_stat == "" && op_menu == "" && op_scroll == "" && op_resize == "" && op_width == "" && op_height == "" && op_L == "" && op_T == "") { tempopenstyle = ""; } else { tempopenstyle = op_width + op_height + op_L + op_T + op_tool + op_loc + op_stat + op_menu + op_scroll + op_resize; tempopenstyle = tempopenstyle.substring(0, tempopenstyle.length - 1); tempopenstyle = tempopenstyle; } if (istest) { if (address == "Net://" || !address) { $("#errorinfo").text("请输入URL!").show(); return; } window.open(address, op_selfopen, tempopenstyle); return; } $("#errorinfo").text("").hide(); return "window.open('" + address + "','" + op_selfopen + "'" + (tempopenstyle ? ",'" + tempopenstyle + "'" : "") + ")"; }, init: function (path) { tools.checkbox(); var _this = this; $("#gen").click(function () { $('#showcode').val(_this.openAttr()).removeClass("col-gray"); ; }); $("#test").click(function () { _this.openAttr(true); }); $("#clear").click(function () { jQuery("#showcode").val(""); }); tools.clipfn(path); } }, regex: { regCommon: { chines: "[\\u4e00-\\u9fa5]", //中文 doubleByte: "[^\\x00-\\xff]", //双字节(包含中文) nullLine: "\\s", //空白行 email: "\\w[-\\w.+]*@([A-Za-z0-9][-A-Za-z0-9]+\\.)+[A-Za-z]{2,14}", //邮箱 url: "^((https|Net|ftp|rtsp|mms)?:\\/\\/)[^\\s]+", //网址(只验证是否包含某些前缀) phone: "0?(13|14|15|17|18|19)[0-9]{9}", //国内手机 tel: "[0-9-()()]{7,18}", //国内电话 nFloat: "-([1-9]\\d*.\\d*|0.\\d*[1-9]\\d*)", //负浮点数 interger: "-?[1-9]\\d*", //整型 pFloat: "[1-9]\\d*.\\d*|0.\\d*[1-9]\\d*", //正浮点数 [1-9]\d*\.\d+|0\.\d*[1-9]\d* qq: "[1-9]([0-9]{5,11})", //QQ号 postal: "\\d{6}", //国内邮政编码 ip4: "(25[0-5]|2[0-4]\\d|[0-1]\\d{2}|[1-9]?\\d)\\.(25[0-5]|2[0-4]\\d|[0-1]\\d{2}|[1-9]?\\d)\\.(25[0-5]|2[0-4]\\d|[0-1]\\d{2}|[1-9]?\\d)\\.(25[0-5]|2[0-4]\\d|[0-1]\\d{2}|[1-9]?\\d)", //ip地址 cardId: "\\d{17}[\\d|x]|\\d{15}", //身份证号码 date: "\\d{4}(\\-|\\/|\.)\\d{1,2}\\1\\d{1,2}", //日期 pInterger: "[1-9]\\d*", //正整数 nInterger: "-[1-9]\\d*", //负整数 userName: "[A-Za-z0-9_\\-\\u4e00-\\u9fa5]+"//用户名 }, checkReg: function () { var f = RegexPal.fields, o = f.options; onresize = function (e) { var isIE1 = !!window.ActiveXObject; var isIE61 = isIE1 && !window.XMLHttpRequest; f.input.field.style.height = "200px"; // if (isIE61) f.input.field.style.height = Math.max((window.innerHeight || document.documentElement.clientHeight) - 310, 268) + "px"; // else f.input.field.style.height = Math.max((window.innerHeight || document.documentElement.clientHeight) - 610, 268) + "px"; f.search.setDimensions(); f.input.setDimensions() }; onresize(); RegexPal.highlightSearchSyntax(); RegexPal.highlightMatches(); for (var flag in o.flags) { o.flags[flag].onclick = RegexPal.highlightMatches }; o.highlightSyntax.onclick = RegexPal.highlightSearchSyntax; o.highlightMatches.onclick = RegexPal.highlightMatches; o.invertMatches.onclick = RegexPal.highlightMatches; function makeResetter(field) { return function () { field.clearBg(); field.textbox.value = ""; field.textbox.onfocus = null } }; }, itemClick: function (_this, flage) { $("#regCommon a").click(function () { var t = $(this).attr("t"); var reg = new RegExp(_this.regCommon[t]); $("#searchText").val(_this.regCommon[t]).siblings(".CentHid").hide(); var val = $("#inputText").val(); if (flage) _this.checkReg(); }); }, init: function () { tools.checkbox("reg"); var _this = this; _this.itemClick(_this, true); _this.checkReg(_this); $("#repbtn").click(function () { var reptext = $("#reptext").val(); var inputText = $("#inputText"); var reg = $("#searchText").val(); inputText.val(inputText.val().replace(new RegExp(reg, "gi"), reptext)); _this.checkReg(); }); $("#inputText").keyup(function () { $("#inputText").height($("#inputBg").height()); }); $("#inputText,#searchText").bind("keyup keydown blur", function () { if ($("#inputText").val().indexOf('tool.chinaz.com|888') >= 0) return; var reg = $("#searchText").val(); var val = $("#inputText").val(); if (!reg) { $("#result").hide(); return; } var arr = [] try { arr = val.match(new RegExp(reg, 'g')); } catch (e) { $("#result").hide(); return; } if (!arr) { $("#result").hide(); return; } $("#result").val(""); var str = ""; for (var i = 0; i < arr.length; i++) { str += arr[i] + "\n"; } $("#result").show(); $("#result textarea").val(str); $("#result p").html("匹配到 " + arr.length + " 条结果:"); }); }, languageCode: { js: "var pattern = /{0}/,\n\tstr = '{1}';\nconsole.log(pattern.test(str));", php: "$str = '{1}';\n$isMatched = preg_match('/{0}/', $str, $matches);\nvar_dump($isMatched, $matches);", go: "package main\n\nimport (\n\t\"fmt\"\n\t\"regexp\"\n)\n\nfunc main() {\n\tstr := \"{1}\"\n\tmatched, err := regexp.MatchString(\"{0}\", str)\n\tfmt.Println(matched, err)\n}", rb: "pattern = /{0}/\nstr = '{1}'\np pattern.match(str)", py: "import re\npattern = re.compile(ur'{0}')\nstr = u'{1}'\nprint(pattern.search(str))", java: "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 = \"{1}\";\n\t\tString pattern = \"{0}\";\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}" }, initgenerate: function () { var _this = this; _this.itemClick(_this); $("#test").click(function () { var pattern = $("#searchText").val(); if (!pattern) return; var textarealist = $("#languagelist textarea"); for (var i = 0; i < textarealist.length; i++) { var textarea = $(textarealist[i]); var language = textarea.attr("id"); if (language == 'go' || language == 'java') pattern.replace(/\\/gi, "\\"); textarea.val(_this.languageCode[language].format(pattern, "")); } $("#languagelist").removeClass("autohide"); }); } }, transcoding: { fullhalf: { ///全角空格为12288,半角空格为32 ///其他字符半角(33-126)与全角(65281-65374)的对应关系是:均相差65248 //半角转换为全角函数 ToFull: function () { 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)); } $('#result').val(tmp); }, //全角转换为半角函数 ToHalf: function () { 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)); } } $('#result').val(tmp); }, init: function () { var _this = this; $("#tohalf").click(function () { _this.ToHalf(); if (jQuery("#result").val()) $("#result").siblings().hide(); }); $("#tofull").click(function () { _this.ToFull(); if (jQuery("#result").val()) $("#result").siblings().hide(); }); $("#clear").click(function () { $("textarea").val(""); }); $("textarea").keydown(function () { $(this).removeClass("col-gray"); }); } }, wordspell: function () { var forms = document.forms[0]; forms.content.onclick = function () { $(this).removeClass("col-gray"); }; forms.trans.onclick = function () { var str = toPinyin({ str: forms.content.value, dz: forms.hidesel.value, sym: forms.sym.checked, sym1: forms.sym1.checked, sym2: forms.sym2.checked }); forms.result.value = str; if (jQuery("textarea[name=\"result\"]").val()) $("textarea[name=\"result\"]").siblings().hide(); $(forms.result).removeClass("col-gray"); } var clear = getid("clear"); clear.onclick = function () { forms.result.value = ''; forms.content.value = ''; } }, gbbig: function () { var forms = document.forms[0]; forms.tosim.onclick = function () { convert(0); $(forms.result).removeClass("col-gray"); if (jQuery("#result").val()) $("#result").siblings().hide(); } forms.totra.onclick = function () { convert(1); $(forms.result).removeClass("col-gray"); if (jQuery("#result").val()) $("#result").siblings().hide(); } forms.toother.onclick = function () { convert(2); $(forms.result).removeClass("col-gray"); if (jQuery("#result").val()) $("#result").siblings().hide(); } forms.clear.onclick = function () { forms.result.value = ''; forms.textarea.value = ''; } }, pinyindictionary: function (path) { var forms = getid('fm'); forms.content.onclick = function () { $(this).removeClass("col-gray"); }; forms.seach.onclick = function () { trans(); $(forms.result).removeClass("col-gray"); if (jQuery("#result").val()) $("#result").siblings().hide(); } forms.clear.onclick = function () { forms.result.value = ''; forms.content.value = ''; } tools.clipfn(path); }, lowtoupp: function (path) { tools.clipfn(path, "clip"); tools.clipfn(path, "clip1"); var forms = getid('fm'); //forms.num.onkeydown = function (e) { entNumber(e); $(forms.trans).removeClass("col-gray"); $(forms.num).removeClass("col-gray"); } $("#num").keydown(function (e) { entNumber(e); $(forms.trans).removeClass("col-gray"); $(forms.num).removeClass("col-gray"); }); forms.seach.onclick = function () { TransConvert(); if (jQuery("#trans").val()) $("#trans").siblings().hide(); } forms.clear.onclick = function () { tools.clear([getid('trans'), getid('num')]); } forms.toupp.onclick = function () { englishConvert('touppercase'); $(forms.content).removeClass("col-gray"); if (jQuery("#result").val()) $("#result").siblings().hide(); } forms.tolow.onclick = function () { englishConvert('tolowercase'); $(forms.content).removeClass("col-gray"); if (jQuery("#result").val()) $("#result").siblings().hide(); } forms.firstupp.onclick = function () { englishConvert('touppercaseF'); $(forms.content).removeClass("col-gray"); if (jQuery("#result").val()) $("#result").siblings().hide(); } forms.clear1.onclick = function () { tools.clear([getid('content')]); } forms.content.onclick = function () { $(this).removeClass("col-gray"); } }, qrcode: { loadSWF: function () { var swfu = new SWFUpload({ upload_url: "/ajaxseo.aspx?t=pload", file_size_limit: "100 KB", file_types: "*.jpg;*.gif;*.png;*.jpe;*.jpeg", file_upload_limit: "50", file_queue_limit: 1, file_dialog_start_handler: fileDialogStart, file_queued_handler: fileQueued, file_queue_error_handler: fileQueueError, file_dialog_complete_handler: fileDialogComplete, upload_progress_handler: uploadProgress, upload_error_handler: uploadError, upload_success_handler: uploadSuccess, upload_complete_handler: uploadComplete, //button_image_url: "/template/default/images/public/tool-pus.png", button_width: 213, button_height: 80, button_placeholder_id: "buttonPlaceHolder", //button_text: "选择二维码图片", button_text_style: "", /*button_text_top_padding: 3, button_text_left_padding: 12,*/ button_window_mode: SWFUpload.WINDOW_MODE.TRANSPARENT, button_cursor: SWFUpload.CURSOR.HAND, flash_url: "/template/default/js/swfup/swfupload.swf", custom_settings: { progressTarget: "fsUploadProgress", cancelButtonId: "btnCancel" }, debug: false }); }, init: function () { var _this = this; jQuery("#txtarea").focus(function () { var v = jQuery(this).val(); $(this).removeClass("col-gray"); if (v == '200字符以内') jQuery(this).val('') }).blur(function () { var v = jQuery(this).val(); if (v == '') { jQuery(this).val('200字符以内'); $(this).addClass("col-gray"); } }).keyup(function () { var v = jQuery(this).val(); var length = jQuery.trim(v).length; if (length > 199) { jQuery(this).val(v.substr(0, 200)); jQuery("#fontnum").html('200'); return }; jQuery("#fontnum").html(length) }); _this.loadSWF(); $("#generate").click(function () { if (!$("#decodingbox").hasClass("autohide")) { $("#decodingbox").addClass("autohide"); $("#generatebox").removeClass("autohide"); if ($("#imgdiv").length) $("#imgdiv").removeClass("autohide"); $("#fsUploadProgress").html(''); $(this).addClass("currtBtn").removeClass("LinkBrn"); $("#decoding").addClass("LinkBrn").removeClass("currtBtn"); } else { $("form").submit(); } }); $("#decoding").click(function () { $("#generatebox").addClass("autohide"); $("#decodingbox").removeClass("autohide"); if ($("#imgdiv").length) $("#imgdiv").addClass("autohide"); $(this).addClass("currtBtn").removeClass("LinkBrn"); $("#generate").addClass("LinkBrn").removeClass("currtBtn"); }); } }, utf_8: function () { $("#conv").click(function () { $("#result").val($("#content").val().replace(/[^\u0000-\u00FF]/g, function ($0) { return escape($0).replace(/(%u)(\w{4})/gi, "&#x$2;") })); if (jQuery("#result").val()) $("#result").siblings().hide(); }); $("#res").click(function () { $("#content").val(unescape($("#result").val().replace(/&#x/g, '%u').replace(/;/g, ''))); if (jQuery("#content").val()) $("#content").siblings().hide(); }); $("#clear").click(function () { tools.clear([getid("content"), getid("result")]); $(".CentHid").show(); }); } }, other: { wordcounter: { wordStats: { unsortedWords: null, topWords: null, topWeights: null, _computed: false, addWords: function (str, weight) { if (str && str.length > 1) { var keywords = $("#keywordstxt").val().split(','); var regstr = ""; //keywords = this.bubbleSort(keywords); keywords = keywords.trimArray(); for (var i = 0; i < keywords.length; i++) { var kw = keywords[i].replace(/(\\)/g, "\\").replace(/(\^)/g, "\\^").replace(/(\$)/g, "\\$").replace(/(\.)/g, "\\.").replace(/(\*)/g, "\\*").replace(/(\?)/g, "\\?").replace(/(\+)/g, "\\+"); if (kw) { regstr += "(" + kw + ")"; if (i < keywords.length - 1) regstr += "|"; } } if (regstr) try { this.getWords(str.toLowerCase(), new RegExp(regstr, "gi"), weight); } catch (e) { } } }, bubbleSort: function (arr) { for (var i = 0; i < arr.length; i++) { for (var j = i; j < arr.length; j++) { if (arr[i].length < arr[j].length) { var temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; } } } return arr; }, addWordsFromTextNodes: function (node, weight) { var nodes = node.childNodes; for (var i = 0, j = nodes.length; i < j; i++) { if (nodes[i].nodeType == 3) this.addWords(nodes[i].nodeValue, weight); } }, getWords: function (words, reg, weight) { this.unsortedWords = new Array(); var arr = words.match(reg); if (arr == null) return; for (var i = 0; i < arr.length; i++) { if (arr[i] != ',') { var word = arr[i].toLowerCase(); if (this.unsortedWords[word]) this.unsortedWords[word] += weight; else this.unsortedWords[word] = weight; } } }, computeWords: function (elem) { if (!elem) elem = window.document; this.unsortedWords = new Array(); if (elem.is("textarea")) { this.addWords(elem.val(), 1); return; } this.addWords($('title', elem).text(), 20); wordstats = this; $('h1', elem).each(function () { wordstats.addWordsFromTextNodes($(this).get(0), 15); }); $('h2', elem).each(function () { wordstats.addWordsFromTextNodes($(this).get(0), 10); }); $('h3, h4, h5, h6', elem).each(function () { wordstats.addWordsFromTextNodes($(this).get(0), 5); }); $('strong, b, em, i', elem).each(function () { wordstats.addWordsFromTextNodes($(this).get(0), 3); }); $('p, div, th, td, li, a, span', elem).each(function () { wordstats.addWordsFromTextNodes($(this).get(0), 2); }); $('img', elem).each(function () { wordstats.addWords($(this).attr('alt'), 1); wordstats.addWords($(this).attr('title'), 1); }); this._computed = true; }, computeTopWords: function (count, elem) { if (!this._computed) this.computeWords(elem); this.topWords = new Array(); this.topWeights = new Array(); this.topWeights.push(0); for (word in this.unsortedWords) { for (var i = 0; i < count; i++) { if (this.unsortedWords[word] > this.topWeights[i]) { this.topWeights.splice(i, 0, this.unsortedWords[word]); this.topWords.splice(i, 0, word); break; } } } }, clear: function () { this.unsortedWords = this.sortedWords = this.topWords = this.topWeights = null; this._computed = false; } }, displayCount: function (count) { if (count['words'] == 1) { wordOrWords = " Word"; } else { wordOrWords = " Words"; } if (count['chars'] == 1) { charOrChars = " Character"; } else { charOrChars = " Characters"; } str = '{5}Total{0}{1}{2}{3}{4}Chinese'; $(".counted").html(str.format(count['words'], wordOrWords, count['chars'], charOrChars, count['chinese'], $("#box").val().length)); }, displayTextBoxes: function (count) { $("#word_count").text(count['words']); $("#character_count").text(count['chars']); $("#character_count_no_spaces").text(count['chars_no_spaces']); $("#chinese_count_no_spaces").text(count['chinese']); $("#sentence_count").text(count['sentences']); $("#paragraph_count").text(count['paragraphs']); $("#avg_sentence_words").text(count['avg_sentence_words']); $("#avg_sentence_chars").text(count['avg_sentence_chars']); }, countWords: function (text, language) { if (language == 2) { var words = text.match(/\S+/g); } else { var words = text.replace(/[,;.!:—\/]/g, ' ').replace(/[^a-zA-Z\d\s&:]/g, '').match(/\S+/g); } return (words !== null ? words.length : 0); }, countChinese: function (text) { iTotal = 0; for (i = 0; i < text.length; i++) { var c = text.charAt(i); if (c.match(/[\u4e00-\u9fa5]/)) { iTotal++; } } return iTotal; }, wordCountInternational: function () { var _this = tools.other.wordcounter; var box = $("#box"); var count = []; count['words'] = _this.countWords(box.val(), 0); chars = box.val().match(/(?:[^\r\n]|\r(?!\n))/g); count['chars'] = (chars !== null ? chars.length : 0); count['chinese'] = _this.countChinese(box.val()); chars_no_spaces = box.val().match(/\S/g); count['chars_no_spaces'] = (chars_no_spaces !== null ? chars_no_spaces.length : 0); sentences = box.val().match(/[^.!?\s][^.!?]*(?:[.!?](?!['"]?\s|$)[^.!?]*)*[.!?]?['"]?(?=\s|$)/g); count['sentences'] = (sentences !== null ? sentences.length : 0); paragraphs = box.val().match(/(\n\n?|^).*?(?=\n\n?|$)/g); count['paragraphs'] = (box.val() != '' ? (paragraphs !== null ? paragraphs.length : 0) : 0); count['avg_sentence_words'] = (box.val() != '' ? Math.ceil(count['words'] / count['sentences']) : 0); count['avg_sentence_chars'] = (box.val() != '' ? Math.ceil(count['chars'] / count['sentences']) : 0); _this.displayCount(count); _this.displayTextBoxes(count); }, keywordDensity: function () { var max = 1000; var stats = tools.other.wordcounter.wordStats; var _this = tools.other.wordcounter; stats.computeTopWords(max, $('#box')); var density_list = $("#density_list"); density_list.empty(); var text = ''; var percentage; $("#keywords li:first").nextAll().remove(); for (i = 0; i < stats.topWords.length; i++) { var percentage = (100 * (stats.topWeights[i] * stats.topWords[i].length / $("#box").val().length)).toFixed(0); var str = '
{0}
{1}({2}%)
'; if (i % 2 == 0) { str = '
  • ' + str + '
  • '; $("#keywords").append(str.format(stats.topWords[i].html2Escape(), stats.topWeights[i], percentage, '')); } else { $("#keywords li:last").append(str.format(stats.topWords[i].html2Escape(), stats.topWeights[i], percentage, ' bor-l1s')); } } stats.clear(); }, init: function () { var _this = this; $("#box").bind("keypress keyup keydown blur focus change load", _this.wordCountInternational); $("#box").bind("keypress keyup keydown blur focus change load", _this.keywordDensity); $("#clear").click(function () { tools.clear([getid('box')]); }); $("#keywordstxt").bind("keypress keyup keydown blur focus change load", _this.keywordDensity); $("#clkshowbox").click(function () { var showbox = $("#showbox"); if (showbox.hasClass("autohide")) showbox.removeClass("autohide"); else showbox.addClass("autohide"); }); } }, httptest: function () { var pramsHtml = '
    '; pramsHtml += '
    参数名
    '; pramsHtml += '
    '; pramsHtml += '
    '; $("#addparams").click(function () { if ($("#isRAW").prop("checked")) { $(".portTestWrap").remove(); $("#RAW").removeClass("autohide"); } else { $("#RAW").addClass("autohide"); $("#totest").after(pramsHtml.format("", "", "block")); $("input.removeparams").click(function () { $(this).parent().remove(); }); $("._WrapHid").each(function () { checkFocus({ obj_input: $(this), msgBox: $(this).siblings(".CentHid"), Tip: "CentHid" }); clearInput({ obj_input: $(this), msgBox: $(this).siblings("._CentHid"), Tip: "_CentHid" }); }); } $("input.removeparams").off("click"); $("input.removeparams").click(function () { $(this).parents(".portTestWrap").remove(); }); }); $("#OK").click(function () { $("#hideRAW").val($("#RAWval").val()); $("#RAW").addClass("autohide"); $(".portTestWrap").remove(); var arr = $("#RAWval").val().queryString(); for (var i = 0; i < arr.length; i++) { $("#totest").after(pramsHtml.format(arr[i].k, arr[i].v, "none")); } }); } }, encryptDecode: { base64: function () { /*$("#conv").click(function () { var str = CryptoJS.enc.Utf8.parse(jQuery("#content").val()); var base64 = CryptoJS.enc.Base64.stringify(str); jQuery("#result").val(base64); if (jQuery("#result").val()) $("#result").siblings().hide(); }); $("#res").click(function () { var words = CryptoJS.enc.Base64.parse(jQuery("#result").val()); try { jQuery("#content").val(words.toString(CryptoJS.enc.Utf8)); } catch (e) { jQuery("#content").val("格式有误"); } if (jQuery("#content").val()) $("#content").siblings().hide(); });*/ $("#conv").click(function () { jQuery("#result").val(encode64(jQuery("#content").val())); jQuery("#content").val(jQuery("#content").val().replace(/(^\n|\n$)/g, '').replace(/\n{2,}/, '\n')); if (jQuery("#result").val()) $("#result").siblings().hide(); }); $("#res").click(function () { jQuery("#content").val(decode64(jQuery("#result").val())); jQuery("#result").val(jQuery("#result").val().replace(/(^\n|\n$)/g, '').replace(/\n{2,}/, '\n')); if (jQuery("#content").val()) $("#content").siblings().hide(); }); $("#clear").click(function () { tools.clear([getid("content"), getid("result")]); $(".CentHid").show(); }); var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; function encode64(val) { val = getVal(val); var output = ""; for (var i = 0; i < val.length; i++) { output += enWhile(escape(val[i].trim())); if (i < val.length - 1) output += "\n"; } return output; } function getVal(val) { var val = val.replace(/\n/g, '|'); if (val.indexOf('|') >= 0) val = val.split('|'); else val = [val]; return val.trimArray(); } function enWhile(input) { var output = ""; var chr1, chr2, chr3 = ""; var enc1, enc2, enc3, enc4 = ""; var i = 0; do { chr1 = input.charCodeAt(i++); chr2 = input.charCodeAt(i++); chr3 = input.charCodeAt(i++); enc1 = chr1 >> 2; enc2 = ((chr1 & 3) << 4) | (chr2 >> 4); enc3 = ((chr2 & 15) << 2) | (chr3 >> 6); enc4 = chr3 & 63; if (isNaN(chr2)) { enc3 = enc4 = 64; } else if (isNaN(chr3)) { enc4 = 64; } output = output + keyStr.charAt(enc1) + keyStr.charAt(enc2) + keyStr.charAt(enc3) + keyStr.charAt(enc4); chr1 = chr2 = chr3 = ""; enc1 = enc2 = enc3 = enc4 = ""; } while (i < input.length); return output } function decode64(val) { val = getVal(val); var output = ""; for (var i = 0; i < val.length; i++) { output += deWhile(val[i].trim()); if (i < val.length - 1) output += "\n"; } return output; } function deWhile(input) { var output = ""; var chr1, chr2, chr3 = ""; var enc1, enc2, enc3, enc4 = ""; var i = 0; var base64test = /[^A-Za-z0-9\+\/\=]/g; if (base64test.exec(input)) { return "不是有效的Base64编码"; } input = input.replace(/[^A-Za-z0-9\+\/\=]/g, ""); do { enc1 = keyStr.indexOf(input.charAt(i++)); enc2 = keyStr.indexOf(input.charAt(i++)); enc3 = keyStr.indexOf(input.charAt(i++)); enc4 = keyStr.indexOf(input.charAt(i++)); chr1 = (enc1 << 2) | (enc2 >> 4); chr2 = ((enc2 & 15) << 4) | (enc3 >> 2); chr3 = ((enc3 & 3) << 6) | enc4; output = output + String.fromCharCode(chr1); if (enc3 != 64) { output = output + String.fromCharCode(chr2); } if (enc4 != 64) { output = output + String.fromCharCode(chr3); } chr1 = chr2 = chr3 = ""; enc1 = enc2 = enc3 = enc4 = ""; } while (i < input.length); return unescape(output); } }, unicode: function () { //ASCII 转换 Unicode $("#asicctounicode").click(function () { if (document.getElementById('content').value == '') { alert('文本框中没有代码!'); return; } document.getElementById('result').value = ''; for (var i = 0; i < document.getElementById('content').value.length; i++) result.value += '&#' + document.getElementById('content').value.charCodeAt(i) + ';'; document.getElementById('content').focus(); if (jQuery("#result").val()) $("#result").siblings().hide(); }); //Unicode 转换 ASCII $("#unicodetoasicc").click(function () { var code = document.getElementById('content').value.match(/&#(\d+);/g); if (code == null) { alert('文本框中没有合法的Unicode代码!'); document.getElementById('content').focus(); return; } document.getElementById('result').value = ''; for (var i = 0; i < code.length; i++) document.getElementById('result').value += String.fromCharCode(code[i].replace(/[&#;]/g, '')); document.getElementById('content').focus(); if (jQuery("#result").val()) $("#result").siblings().hide(); }); $("#clear").click(function () { tools.clear([getid("content"), getid("result")]); $(".CentHid").show(); }); }, scriptEncode: function () { $("#jsencode").click(function () { var v = getid('ipt').value; if (!v) return; var es = escape(v); getid('result').value = "document.write(unescape('{0}'));".format(es); if (jQuery("#result").val()) $("#result").siblings().hide(); }); $("#jsdecode").click(function () { var v = getid('result').value; var regex = /unescape\('([a-z%0-9].*)'\)/i; if (v.match(regex)) { getid('ipt').value = unescape(RegExp.$1); } if (jQuery("#ipt").val()) $("#ipt").siblings().hide(); }); $("#clear").click(function () { tools.clear([getid("ipt"), getid("result")]); $(".CentHid").show(); }); }, textEncrypt: function () { $("#encrypt").click(function () { var v = jQuery('input[name="encrypt_type"]').val(); if (!v) return; switch (v) { case "aes": jQuery("#result").val(CryptoJS.AES.encrypt(jQuery("#content").val(), jQuery("#pwd").val())); break; case "des": jQuery("#result").val(CryptoJS.DES.encrypt(jQuery("#content").val(), jQuery("#pwd").val())); break; case "rabbit": jQuery("#result").val(CryptoJS.Rabbit.encrypt(jQuery("#content").val(), jQuery("#pwd").val())); break; case "rc4": jQuery("#result").val(CryptoJS.RC4.encrypt(jQuery("#content").val(), jQuery("#pwd").val())); break; case "tripledes": jQuery("#result").val(CryptoJS.TripleDES.encrypt(jQuery("#content").val(), jQuery("#pwd").val())); break; } if (jQuery("#result").val()) $("#result").siblings().hide(); }); $("#decrypt").click(function () { switch (jQuery('input[name="encrypt_type"]').val()) { case "aes": jQuery("#content").val(CryptoJS.AES.decrypt(jQuery("#result").val(), jQuery("#pwd").val()).toString(CryptoJS.enc.Utf8)); break; case "des": jQuery("#content").val(CryptoJS.DES.decrypt(jQuery("#result").val(), jQuery("#pwd").val()).toString(CryptoJS.enc.Utf8)); break; case "rabbit": jQuery("#content").val(CryptoJS.Rabbit.decrypt(jQuery("#result").val(), jQuery("#pwd").val()).toString(CryptoJS.enc.Utf8)); break; case "rc4": jQuery("#content").val(CryptoJS.RC4.decrypt(jQuery("#result").val(), jQuery("#pwd").val()).toString(CryptoJS.enc.Utf8)); break; case "tripledes": jQuery("#content").val(CryptoJS.TripleDES.decrypt(jQuery("#result").val(), jQuery("#pwd").val()).toString(CryptoJS.enc.Utf8)); break; } if (jQuery("#content").val()) $("#content").siblings().hide(); }); $("#clear").click(function () { tools.clear([getid("content"), getid("result")]); $(".CentHid").show(); }); }, nativeAscii: function () { $("#nativeConvertAscii").click(function () { var nativecode = getid("nativecode").value.split(""); var ascii = ""; for (var i = 0; i < nativecode.length; i++) { var code = Number(nativecode[i].charCodeAt(0)); if (!document.getElementById("ignoreLetter").checked || code > 127) { var charAscii = code.toString(16); charAscii = new String("0000").substring(charAscii.length, 4) + charAscii; ascii += "\\u" + charAscii; } else { ascii += nativecode[i]; } } getid("asciicode").value = ascii; if (jQuery("#asciicode").val()) $("#asciicode").siblings().hide(); }); $("#asciiConvertNative").click(function () { var asciicode = getid("asciicode").value.split("\\u"); var nativeValue = asciicode[0]; for (var i = 1; i < asciicode.length; i++) { var code = asciicode[i]; nativeValue += String.fromCharCode(parseInt("0x" + code.substring(0, 4))); if (code.length > 4) { nativeValue += code.substring(4, code.length); } } getid("nativecode").value = nativeValue; if (jQuery("#nativecode").val()) $("#nativecode").siblings().hide(); }); $("#clear").click(function () { tools.clear([getid("nativecode"), getid("asciicode")]); $(".CentHid").show(); }); }, unixtime: { currentTimeActive: 1, unixTimer: 0, unix2human: function () { var isms = $("#unixtoutc8sel").val(); var v = document.unix.timestamp.value; if (isms == 0) { if (/^(-)?\d{1,10}$/.test(v)) { v = v * 1000; } else if (/^(-)?\d{1,13}$/.test(v)) { v = v * 1000; } else if (/^(-)?\d{1,14}$/.test(v)) { v = v * 100; } else if (/^(-)?\d{1,15}$/.test(v)) { v = v * 10; } else if (/^(-)?\d{1,16}$/.test(v)) { v = v * 1; } else { alert("时间戳格式不正确"); return; } } else { v = v * 1; } var dateObj = new Date(v); if (dateObj.format('yyyy') == "NaN") { /*alert("时间戳格式不正确");*/return; } //获得当前间戳的日期的小时数 var tmpHours = dateObj.getHours(); //算时区 var time_zone = -dateObj.getTimezoneOffset() / 60; if (time_zone < 0) { time_zone = Math.abs(time_zone) + 8; dateObj.setHours(tmpHours + time_zone); } else { time_zone -= 8; dateObj.setHours(tmpHours - time_zone); } var UnixTimeToDate = dateObj.getFullYear() + '-' + (dateObj.getMonth() + 1) + '-' + dateObj.getDate() + ' ' + dateObj.getHours() + ':' + dateObj.getMinutes() + ':' + dateObj.getSeconds(); document.unix.unixtoutc8result.value = UnixTimeToDate; }, human2unix: function () { var isms = $("#utc8tounixsel").val(); var _this = ted.unixtime; var form = document.unix; var year = form.year.value; if (!year) { /*alert("时间格式不正确");*/return; } var month = _this.stripLeadingZeroes(form.month.value); var day = _this.stripLeadingZeroes(form.day.value); var hour = _this.stripLeadingZeroes(form.hour.value); var minute = _this.stripLeadingZeroes(form.minute.value); var second = _this.stripLeadingZeroes(form.second.value); year = year ? year : new Date().getFullYear(), month = month ? month : 1, day = day ? day : 1, hour = hour ? hour : (year == 1970 ? 0 : 0), minute = minute ? minute : 0, second = second ? second : 0; //var humanDate = new Date(Date.UTC(year, month, day, hour, minute, second)); var humanDate = new Date(year + "/" + month + "/" + day + " " + hour + ":" + minute + ":" + second); if (humanDate.format('yyyy') == "NaN") { /*alert("时间格式不正确");*/return; } if (isms == 0) document.unix.utc8tounixresult.value = (humanDate.getTime() / 1000); else document.unix.utc8tounixresult.value = humanDate.getTime(); }, human2unix1: function () { var isms = $("#unixtoutc81sel").val(); var _this = ted.unixtime; var form = document.unix; var datetime = form.utc8.value; if (!datetime) return; var ndate = new Date(datetime); var year = ndate.getFullYear(); var month = ndate.getMonth(); var day = ndate.getDate(); var hour = ndate.getHours(); var minute = ndate.getMinutes(); var second = ndate.getSeconds(); var ms = ndate.getMilliseconds(); //var humanDate = new Date(Date.UTC(year, month, day, hour, minute, second)); var humanDate; if (isms == 0) humanDate = new Date(year, month, day, hour, minute, second); else humanDate = new Date(year, month, day, hour, minute, second, ms); if (humanDate.format('yyyy') == "NaN") { /*alert("时间格式不正确");*/return; } if (isms == 0) form.unixtoutc8result1.value = (humanDate.getTime() / 1000); else form.unixtoutc8result1.value = humanDate.getTime(); }, stripLeadingZeroes: function (input) { if ((input.length > 1) && (input.substr(0, 1) == "0")) { return input.substr(1); } else { return input; } }, currentTime: function () { var _this = ted.unixtime; var timeNow = new Date(); document.getElementById("currentunixtime").innerHTML = Math.round(timeNow.getTime() / 1000); if (_this.currentTimeActive) { this.unixTimer = setTimeout(function () { _this.currentTime() }, 1000); } }, nowDate: function () { var form = document.unix; var timeNow = new Date(); form.timestamp.value = Math.round(timeNow.getTime() / 1000); form.year.value = timeNow.getFullYear(); // form.month.value = timeNow.getMonth() + 1; // form.day.value = timeNow.getDate(); // form.hour.value = timeNow.getHours(); // form.minute.value = timeNow.getMinutes(); // form.second.value = timeNow.getSeconds(); }, init: function () { var _this = this; _this.nowDate(); _this.currentTime(); $("#start").click(function () { _this.currentTimeActive = 1; _this.currentTime(); }); $("#stop").click(function () { _this.currentTimeActive = 0; clearTimeout(_this.unixTimer); }); $("#refresh").click(_this.currentTime); $("#unixtoutc8").click(function () { _this.unix2human() }); $("#utc8tounix").click(_this.human2unix); $("#utc8tounix1").click(_this.human2unix1); //$("form input").keydown(function (e) { entNumber(e, true); }); $("._ToolChoese").each(function () { _select({ select: $(this).find(".SearChoese"), options: $(this).find("ul.SearChoese-show"), option: $(this).find("ul.SearChoese-show li a"), t: "slide", callback: function (_this) { var id = $(_this).parents("ul").siblings("input[type=hidden]").attr("id"); switch (id) { case "unixtoutc8sel": $("#unixtoutc8").click(); break; case "unixtoutc81sel": $("#utc8tounix1").click(); break; case "utc8tounixsel": $("#utc8tounix").click(); break; } } }); }); } }, hash: { setHash: function (type, val, pwd) { switch (type) { case "sha1": $("#p_div").addClass("autohide") jQuery("#result").val(CryptoJS.SHA1(val)); break; case "sha224": $("#p_div").addClass("autohide") jQuery("#result").val(CryptoJS.SHA224(val)); break; case "sha256": $("#p_div").addClass("autohide") jQuery("#result").val(CryptoJS.SHA256(val)); break; case "sha384": $("#p_div").addClass("autohide") jQuery("#result").val(CryptoJS.SHA384(val)); break; case "sha512": $("#p_div").addClass("autohide") jQuery("#result").val(CryptoJS.SHA512(val)); break; case "md5": $("#p_div").addClass("autohide") jQuery("#result").val(CryptoJS.MD5(val)); break; case "hmacsha1": $("#p_div").removeClass("autohide"); jQuery("#result").val(CryptoJS.HmacSHA1(val, pwd)); break; case "hmacsha224": $("#p_div").removeClass("autohide"); jQuery("#result").val(CryptoJS.HmacSHA224(val, pwd)); break; case "hmacsha256": $("#p_div").removeClass("autohide"); jQuery("#result").val(CryptoJS.HmacSHA256(val, pwd)); break; case "hmacsha384": $("#p_div").removeClass("autohide"); jQuery("#result").val(CryptoJS.HmacSHA384(val, pwd)); break; case "hmacsha512": $("#p_div").removeClass("autohide"); jQuery("#result").val(CryptoJS.HmacSHA512(val, pwd)); break; case "hmacmd5": $("#p_div").removeClass("autohide"); jQuery("#result").val(CryptoJS.HmacMD5(val, pwd)); break; } }, init: function () { var _this = this; $("#btnlist .GLOkBtn").click(function () { var val = jQuery("#content").val(); var pwd = jQuery("#pwd").val(); if (val) { _this.setHash($(this).attr("t"), val, pwd); if (jQuery("#result").val()) $("#result").siblings().hide(); } }); $("#clear").click(function () { tools.clear([getid("result"), getid("content")]) }); } } }, htmlcssjs: { htmljs: function () { var oresul = getid("oresult"); var osource = getid("osource"); oresul.onfocus = oresul.onkeyup = function () { getid('re').value = getid('oresult').value.replace(/document.writeln\("/g, "").replace(/\\\"/g, "\"").replace(/\\\'/g, "\'").replace(/\\\//g, "\/").replace(/\\\\/g, "\\").replace(/"\);/g, ""); if (jQuery("#re").val()) $("#re").siblings().hide(); } osource.onfocus = osource.onkeyup = function () { getid('oresult2').value = "document.writeln(\"" + getid('osource').value.replace(/\\/g, "\\\\").replace(/\"/g, "'").replace(/\\/g, "\\/").replace(/\'/g, "\\\'").replace(/\"/g, "\\\"").split('\n').join("\");\ndocument.writeln(\"") + "\");"; if (jQuery("#oresult2").val()) $("#oresult2").siblings().hide(); } }, htmlubb: { pattern: function (str) { //str = str.replace(/(\r\n|\n|\r)/ig, ''); str = str.replace(/]*>/ig, '\n'); str = str.replace(/\/]*\/>/ig, '\n'); //str = str.replace(/\[code\](.+?)\[\/code\]/ig, function($1, $2) {return phpcode($2);}); str = str.replace(/\son[\w]{3,16}\s?=\s*([\'\"]).+?\1/ig, ''); str = str.replace(/]*>/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(/]*smile=\"(\d+)\"[^>]*>/ig, '[s:$1]'); str = str.replace(/]*src=[\'\"\s]*([^\s\'\"]+)[^>]*>/ig, '[img]' + '$1' + '[/img]'); str = str.replace(/]*href=[\'\"\s]*([^\s\'\"]*)[^>]*>(.+?)<\/a>/ig, '[url=$1]' + '$2' + '[/url]'); //str = str.replace(/]*)>(.*?)<\/h\1>/ig,function($1,$2,$3,$4){return h($3,$4,$2);}); str = str.replace(/<[^>]*?>/ig, ''); str = str.replace(/&/ig, '&'); str = str.replace(/</ig, '<'); str = str.replace(/>/ig, '>'); return str; }, up: function (str) { str = str.replace(//ig, '>'); str = str.replace(/\n/ig, '
    '); str = str.replace(/\[code\](.+?)\[\/code\]/ig, function ($1, $2) { return phpcode($2); }); str = str.replace(/\[hr\]/ig, '
    '); str = str.replace(/\[\/(size|color|font|backcolor)\]/ig, ''); 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, ''); str = str.replace(/\[\/align\]/ig, '

    '); str = str.replace(/\[(\/)?h([1-6])\]/ig, '<$1h$2>'); str = str.replace(/\[align=(left|center|right|justify)\]/ig, '

    '); str = str.replace(/\[size=(\d+?)\]/ig, ''); str = str.replace(/\[color=([^\[\<]+?)\]/ig, ''); str = str.replace(/\[backcolor=([^\[\<]+?)\]/ig, ''); str = str.replace(/\[font=([^\[\<]+?)\]/ig, ''); str = str.replace(/\[list=(a|A|1)\](.+?)\[\/list\]/ig, '

      $2
    '); str = str.replace(/\[(\/)?list\]/ig, '<$1ul>'); str = str.replace(/\[s:(\d+)\]/ig, function ($1, $2) { return smilepath($2); }); str = str.replace(/\[img\]([^\[]*)\[\/img\]/ig, ''); str = str.replace(/\[url=([^\]]+)\]([^\[]+)\[\/url\]/ig, '' + '$2' + ''); str = str.replace(/\[url\]([^\[]+)\[\/url\]/ig, '' + '$1' + ''); return str; }, htmltoubb: function () { str = hcj.htmlubb.pattern(getid("Hsource").value); getid("Uresult").value = str; if (jQuery("#Uresult").val()) $("#Uresult").siblings().hide(); }, ubbtohtml: function () { str = hcj.htmlubb.up(getid("Usource").value); getid("Hresult").value = str; if (jQuery("#Hresult").val()) $("#Hresult").siblings().hide(); }, init: function () { var Hsource = getid("Hsource"); var Usource = getid("Usource"); var _this = this; Hsource.onfocus = Hsource.onkeyup = _this.htmltoubb; Usource.onfocus = Usource.onkeyup = _this.ubbtohtml; } }, htmlCodeCov: { //html代码转换javascript代码 javascript: function () { var input = document.getElementById("content").value; if (input == "") { document.getElementById("result").value = ""; } else { output = "document.writeln(\""; for (var c = 0; c < input.length; c++) { if ((input.charAt(c) == "\n" || input.charAt(c) == "\r")) { output += "\");"; if (c != input.length - 1) output += "\ndocument.writeln(\""; c++; } else { if (input.charAt(c) == "\"") { output += "/\""; } else { if (input.charAt(c) == "\\") { output += "\\\\"; } else { output += input.charAt(c); if (c == input.length - 1) output += "\");"; } } } } document.getElementById("result").value = ""; } }, //html代码转换asp代码 asp: function () { var input = document.getElementById("content").value; if (input == "") { document.getElementById("result").value = "<%\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 += "\""; } } } } document.getElementById("result").value = "<%\n" + output + "\n%>"; } }, //html代码转换php代码 php: function () { var input = document.getElementById("content").value; if (input == "") { document.getElementById("result").value = ""; } 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\";"; } } } } document.getElementById("result").value = ""; } }, //html代码转换Jsp代码 Jsp: function () { var input = document.getElementById("content").value; if (input == "") { document.getElementById("result").value = "<%\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 += "\");"; } } } } document.getElementById("result").value = "<%\n" + output + "\n%>"; } }, //html代码转换Perl代码 Perl: function () { var input = document.getElementById("content").value; if (input == "") { document.getElementById("result").value = output; } 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\";"; } } } } document.getElementById("result").value = output; } }, //html代码转换vbnet代码 vbnet: function () { var input = document.getElementById("content").value; if (input == "") { document.getElementById("result").value = "<%\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 += "\");"; } } } } document.getElementById("result").value = "<%\n" + output + "\n%>"; } }, //html代码转换Sws代码 Sws: function () { var input = document.getElementById("content").value; if (input == "") { document.getElementById("result").value = 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 += "\""; } } } } document.getElementById("result").value = output; } }, //开始转换按钮 htmlCov: function () { var _this = hcj.htmlCodeCov; var type = getid("html").value; switch (type) { case "javascript": _this.javascript(); break; case "asp": _this.asp(); break; case "php": _this.php(); break; case "jsp": _this.Jsp(); break; case "perl": _this.Perl(); break; case "sws": _this.Sws(); break; case "vbnet": _this.vbnet(); break; default: getid("result").value = '转换错误'; break; } if (jQuery("#result").val()) $("#result").siblings().hide(); }, init: function (path) { var _this = this; $("#trans").click(_this.htmlCov); tools.clipfn(path, "clip"); $("._ToolChoese").each(function () { _select({ select: $(this).find(".SearChoese"), options: $(this).find("ul.SearChoese-show"), option: $(this).find("ul.SearChoese-show li a"), t: "slide", callback: _this.htmlCov//下拉选项 }); }); $("#clear").click(function () { tools.clear([getid("content"), getid("result")]) }); } }, jsCodeConfusion: function (path) { $("#confused").click(function () { var code = document.getElementById("JScode").value; var xx = new CLASS_CONFUSION(code); var a = new Date(); getid("ConfusionAfterCode").value = xx.confusion(); if (jQuery("#ConfusionAfterCode").val()) $("#ConfusionAfterCode").siblings().hide(); }); tools.clipfn(path, "clip"); $("#clear").click(function () { tools.clear([getid("JScode"), getid("ConfusionAfterCode")]) }); }, jstool: { jsonData: { action: '', content: '', enkey: '' }, jsbeauty: function (_this) { var source = jQuery('#txtInitCode').val().trim(), output, opts = {}; opts.indent_size = 4; opts.indent_char = ' '; opts.max_preserve_newlines = 5; opts.preserve_newlines = opts.max_preserve_newlines !== "-1"; opts.keep_array_indentation = false; opts.break_chained_methods = false; opts.indent_scripts = 'normal'; opts.brace_style = 'collapse'; opts.space_before_conditional = true; opts.unescape_strings = false; opts.jslint_happy = false; opts.wrap_line_length = 0; opts.space_after_anon_function = true; source = _this.unpacker_filter(source, _this); output = js_beautify(source, opts); jQuery('#txtResultCode').val(output); if (jQuery("#txtResultCode").val()) $("#txtResultCode").siblings("b").hide(); }, unpacker_filter: function (source) { var trailing_comments = '', comment = '', unpacked = '', found = false; do { found = false; if (/^\s*\/\*/.test(source)) { found = true; comment = source.substr(0, source.indexOf('*/') + 2); source = source.substr(comment.length).replace(/^\s+/, ''); trailing_comments += comment + "\n"; } else if (/^\s*\/\//.test(source)) { found = true; comment = source.match(/^\s*\/\/.*/)[0]; source = source.substr(comment.length).replace(/^\s+/, ''); trailing_comments += comment + "\n"; } } while (found); var unpackers = [P_A_C_K_E_R, Urlencoded, MyObfuscate]; for (var i = 0; i < unpackers.length; i++) { if (unpackers[i].detect(source)) { unpacked = unpackers[i].unpack(source); if (unpacked != source) { source = this.unpacker_filter(unpacked); } } } return trailing_comments + source; }, ajaxdata: function (_this) { jQuery.ajax({ type: 'POST', url: '/AjaxSeo.aspx?t=jsformat', data: _this.jsonData, beforeSend: function () { jQuery("#txtResultCode").val(""); jQuery("#loading").removeClass("autohide"); }, dataType: 'jsonp', success: function (json) { jQuery("#loading").addClass("autohide"); if (json.state == 0) { alert(json.msg); } else { jQuery("#txtResultCode").val(json.txt); if (jQuery("#txtResultCode").val()) $("#txtResultCode").siblings("b").hide(); } } }); }, init: function (path, key) { var _this = this; _this.jsonData.enkey = key; jQuery("#btndiv input[ref]").click(function () { _this.jsonData.action = jQuery(this).attr("ref"); _this.jsonData.content = jQuery.trim(jQuery("#txtInitCode").val()); if (_this.jsonData.content == '') { alert('请输入要转换的内容'); return; } switch (_this.jsonData.action) { case "beauty": _this.jsbeauty(_this); return; case "filtercomment": _this.ajaxdata(_this); break; case "basiccompress": _this.ajaxdata(_this); break; case "encodecompress": _this.ajaxdata(_this); break; case "decodebeauty": _this.jsbeauty(_this); return; } }); tools.clipfn(path, "clip"); $("#clear").click(function () { tools.clear([getid("txtInitCode"), getid("txtResultCode")]) }); } }, jsFormat: function (path) { $("#beautify").click(function () { document.getElementById('beautify').disabled = true; js_source = document.getElementById('content').value.replace(/^\s+/, ''); tabsize = document.getElementById('tabsize').value; tabchar = ' '; if (tabsize == 1) { tabchar = '\t'; } var regEmptyTag = /(<([^\/][^>|^\/>].*)>)(\s*)?(<\/([^>]*)>)/g; var c = ""; if (js_source && js_source.charAt(0) === '<') { //document.getElementById('result').value = style_html(js_source, tabsize, tabchar, 80); c = style_html(js_source, tabsize, tabchar, 80); } else { //document.getElementById('result').value = js_beautify(js_source, tabsize, tabchar); c = js_beautify(js_source, tabsize, tabchar); } document.getElementById('result').value = c.replace(regEmptyTag, '$1$4'); if (jQuery("#result").val()) $("#result").siblings().hide(); document.getElementById('beautify').disabled = false; return false; }); $("#pack0").click(function (base64) { pack_js(0); }); $("#pack1").click(function (base64) { pack_js(1); }); tools.clipfn(path, "clip"); $("#clear").click(function () { tools.clear([getid("result"), getid("content")]) }); function pack_js(base64) { var input = document.getElementById('content').value; var packer = new Packer; if (base64) { var output = packer.pack(input, 1, 0); } else { var output = packer.pack(input, 0, 0); } document.getElementById('result').value = output; if (jQuery("#result").val()) $("#result").siblings().hide(); } } }, jsonTool: { jsontocsharp: { init: function (path) { var _this = this; $(".ToolChoesecj").each(function () { _select({ select: $(this).find(".SearChoese"), options: $(this).find("ul.SearChoese-show"), option: $(this).find("ul.SearChoese-show li a"), t: "slide", parents: $(".ToolChoesecj"), callback: function () { if ($("#showtype").val() == 0) $(".javawh").addClass("autohide"); else $(".javawh").removeClass("autohide"); } }); }); tools.clipfn(path); $("#2csharp").click(function () { if (!$("#jsonval").val().trim()) { alert("请填写JSON"); return false; } try { var v = eval("(" + document.getElementById("jsonval").value + ")"); var res = ""; if ($("#showtype").val() == 0) res = _this.JSON2CSharp.convert(v); else res = _this.JSON2POJO.convert(v); $("#result").val(res).siblings("b").hide(); } catch (e) { alert("生成C#实体类异常,请检查JSON是否错误。"); } }); $("#testjson").click(function () { var testjson = '{\r\n "name":"站长工具",\r\n "url":"http://tool.chinaz.com",\r\n "address":{\r\n "city":"厦门",\r\n "country":"中国"\r\n },\r\n "arrayBrowser":[{\r\n "name":"Google",\r\n "url":"http://www.google.com"\r\n },\r\n {\r\n "name":"Baidu",\r\n "url":"http://www.baidu.com"\r\n },\r\n {\r\n "name":"SoSo",\r\n "url":"http://www.SoSo.com"\r\n }]\r\n}'; $("#jsonval").val(testjson).siblings("b").hide(); }); $("#clear").click(function () { tools.clear([getid('result'), getid('jsonval')]); }); }, 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(); //变量定义规则 n = n.replace(/[^\w]+/ig, '_'); if (/^\d+/.test(n)) n = "_" + n; clas += " {0} public {1} {2} { get; set; }\r\n".format(this._genComment(v, n), this._genTypeByProp(n, v), n); } clas += "}\r\n"; this._allClass.push(clas); return this._allClass.join("\r\n"); }, _genTypeByProp: function (name, val) { try { if (typeof val == "string") { var regdt = /^(\d{4})(-|\/|年)(\d{2})(-|\/|月)(\d{2})(日)?(\s((\d{1,2}):)?((\d{1,2}):)?(\d{1,2})?)?$/ if (regdt.test(val.trim())) val = new Date(val); } } catch (e) { } 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, val[0])); } case "[object Boolean]": { return "bool"; } default: { return "string"; } } }, _genComment: function (val, n) { //var commm = typeof (val) == "string" && /.*[\u4e00-\u9fa5]+.*$/.test(val) ? val : ""; var s = Object.prototype.toString.apply(val); var commm = typeof (val) == "string" ? val : n.substring(0, 1).toUpperCase() + n.substring(1); ; return "/// \r\n /// " + commm + "\r\n /// \r\n"; }, convert: function (jsonObj) { this._allClass = []; return this._genClassCode(jsonObj); } }, JSON2POJO: { _allClass: [], _genClassCode: function (obj, name) { var packageval = $("#packageval").val(), isfill = $("#isfill").prop("checked"); var clas = ""; var str = ""; var privateAttr = "", publicAttr = "", fill = "", filllist = ""; if (isfill) { fill += " public static {0} fill(JSONObject jsonobj){\r\n".format(name || "Root"); fill += " {0} entity = new {0}();\r\n".format(name || "Root"); filllist += " public static List<{0}> fillList(JSONArray jsonarray) {\r\n"; filllist += " if (jsonarray == null || jsonarray.size() == 0)\r\n"; filllist += " return null;\r\n"; filllist += " List<{0}> olist = new ArrayList<{0}>();\r\n"; filllist += " for (int i = 0; i < jsonarray.size(); i++) {\r\n"; filllist += " olist.add(fill(jsonarray.getJSONObject(i)));\r\n"; filllist += " }\r\n"; filllist += " return olist;\r\n"; filllist += " }\r\n"; filllist = filllist.format(name || "Root"); } for (var n in obj) { var v = obj[n]; n = n.trim(); //变量定义规则 n = n.replace(/[^\w]+/ig, '_'); if (/^\d+/.test(n)) n = "_" + n; var tp = this._genTypeByProp(n, v); var _type = tp.type; if (tp.islist) { if (isfill) str = "package {1};\r\nimport java.util.ArrayList;\r\nimport java.util.List;\r\nimport Net.sf.json.JSONObject;\r\nimport Net.sf.json.JSONArray;\r\npublic class {0}\r\n{\r\n".format(name || "Root", packageval); else str = "package {1};\r\nimport java.util.ArrayList;\r\nimport java.util.List;\r\npublic class {0}\r\n{\r\n".format(name || "Root", packageval, "\r\nimport java.util.List;"); } privateAttr += " private {0} {1};\r\n\r\n".format(_type, n); var firstChar = n.substring(0, 1).toUpperCase() + n.substring(1); publicAttr += " public void set{2}({0} {1}){\r\n this.{1} = {1};\r\n }\r\n".format(_type, n, firstChar); publicAttr += " public {0} get{2}(){\r\n return this.{1};\r\n }\r\n".format(_type, n, firstChar); if (isfill) { fill += " if (jsonobj.containsKey(\"{0}\")) {\r\n".format(n); var _typefirstChartoUpper = _type.substring(0, 1).toUpperCase() + _type.substring(1); fill += " entity.set{1}(jsonobj.get{2}(\"{0}\")); \r\n }\r\n".format(n, n.substring(0, 1).toUpperCase() + n.substring(1), _typefirstChartoUpper.indexOf("List") >= 0 ? "JSONArray" : _typefirstChartoUpper); } } clas += "==================================\r\n" if (!str) { if (isfill) clas += "package {1};\r\nimport Net.sf.json.JSONObject;\r\nimport Net.sf.json.JSONArray;\r\npublic class {0}\r\n{\r\n".format(name || "Root", packageval); else clas += "package {1};\r\npublic class {0}\r\n{\r\n".format(name || "Root", packageval); } else clas += str; if (isfill) { fill += " return entity;\r\n }\r\n"; } clas += privateAttr; clas += publicAttr; clas += fill; clas += filllist; clas += "}\r\n"; this._allClass.push(clas); return this._allClass.join("\r\n"); }, _genTypeByProp: function (name, val) { try { if (typeof val == "string") { //xxxx(-|/|年)xx(-|/|月)xx(-|/|日) xx:xx:xx var regdt = /^(\d{4})(-|\/|年)(\d{2})(-|\/|月)(\d{2})(日)?(\s((\d{1,2}):)?((\d{1,2}):)?(\d{1,2})?)?$/ if (regdt.test(val.trim())) val = new Date(val); } } catch (e) { } switch (Object.prototype.toString.apply(val)) { case "[object Number]": { return { type: val.toString().indexOf(".") > -1 ? "double" : "int" }; } case "[object Date]": { return { type: "DateTime" }; } case "[object Object]": { name = name.substring(0, 1).toUpperCase() + name.substring(1); this._genClassCode(val, name); return { type: name }; } case "[object Array]": { return { type: "List<{0}>".format(this._genTypeByProp(name, val[0]).type), islist: true }; } case "[object Boolean]": { return { type: "boolean" }; } default: { return { type: "String" }; } } }, convert: function (jsonObj) { this._allClass = []; return this._genClassCode(jsonObj); } } }, jsontoxml: function () { $("#2json").click(function () { var xmlobjtree = new XML.ObjTree(); var dumper = new JKL.Dumper(); var xmlText = $("#xmljsonval").val(); if (!xmlText) { alert("请输入XML字符串"); $("#xmljsonval").focus(); return false; } xmlText = xmlText.replace(/>/g, ">").replace(/</g, "<").replace(/"/g, "\""); //HTML转义 var tree = xmlobjtree.parseXML(xmlText); if (tree) { if (!tree.html) $("#result").val(dumper.dump(tree)).siblings("b").hide(); else { alert("请检查XML是否错误。"); $("#xmljsonval").focus(); } } }); $("#2xml").click(function () { var xmlobjtree = new XML.ObjTree(); if (!$("#xmljsonval").val()) { alert("请输入JSON字符串"); $("#xmljsonval").focus(); return false; } try { var json = eval("(" + $("#xmljsonval").val() + ")"); $("#result").val(formatXml(xmlobjtree.writeXML(json))).siblings("b").hide(); } catch (e) { alert("转XML异常,请检查JSON是否错误。"); $("#xmljsonval").focus(); } }); $("#clear").click(function () { tools.clear([getid('xmljsonval'), getid('result')]); }); }, jsontoget: function () { $("#getjsonval").bind("keyup paste", function (e) { var obj = $(this); var etype = e.type; setTimeout(function () { if (etype == "paste") obj.val(obj.val().trim().replace(/(\r|\n|\t|\s)/g, "")); }, 100); }); $("#2json").click(function () { var val = $("#getjsonval").val(); val = val.replace(/&/g, '","').replace(/=/g, '":"'); val = '{"' + val + '"}'; $("#result").val(val).siblings("b").hide(); }); $("#2get").click(function () { var val = $("#getjsonval").val(); val = val.replace(/\t/g, ""); val = val.replace(/\"/g, "").replace("{", "").replace("}", "").replace(",", "&").replace(":", "="); val = val.replace(/\"/g, "").replace(/{/g, "").replace(/}/g, "").replace(/,/g, "&").replace(/:/g, "="); $("#result").val(val).siblings("b").hide(); }); $("#clear").click(function () { tools.clear([getid('getjsonval'), getid('result')]); }); }, exceltojson: { getresult: function (totype) { var splitchar = $("#splitchar").val() || /\t/; var txt = $("#excelval").val(); if (!txt.trim()) { alert("请输入EXCEL格式的字符串。"); return false; } var datas = txt.split("\n"); var html = "[\n"; var keys = []; for (var i = 0; i < datas.length; i++) { var ds = datas[i].split(splitchar); if (i == 0) { if (totype == "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 += totype == "0" ? "{" : "["; for (var j = 0; j < ds.length; j++) { var d = ds[j]; if (d == "") continue; if (totype == "0") { html += '"' + keys[j] + '":"' + d + '"'; } else { html += '"' + d + '"'; } if (j < ds.length - 1) { html += ','; } } html += totype == "0" ? "}" : "]"; if (i < datas.length - 1) html += ",\n"; } } if (html&&html.lastIndexOf(",\n")==html.length-2) { html = html.substring(0, html.lastIndexOf(",\n")); } html += "\n]"; $("#result").val(html).siblings("b").hide(); }, init: function () { var _this = this; $("#2object").click(function () { _this.getresult(0); }); $("#2array").click(function () { _this.getresult(1); }); $("#clear").click(function () { tools.clear([getid('excelval'), getid('result')]); }); } }, jsonescape: { //ctype: 1压缩 2转义 3压缩转义 4去除转义 escapezip: function (ctype) { var txtA = document.getElementById("jsonval"); var text = txtA.value; if (!text.trim()) { alert("请输入JSON字符串。"); return false; } if (ctype == 1 || ctype == 3) { text = text.split("\n").join(" "); var t = []; var inString = false; for (var i = 0, len = text.length; i < len; i++) { var c = text.charAt(i); if (inString && c === inString) { if (text.charAt(i - 1) !== '\\') { inString = false; } } else if (!inString && (c === '"' || c === "'")) { inString = c; } else if (!inString && (c === ' ' || c === "\t")) { c = ''; } t.push(c); } text = t.join(''); } if (ctype == 2 || ctype == 3) { text = text.replace(/\\/g, "\\\\").replace(/\"/g, "\\\""); } if (ctype == 4) { text = text.replace(/\\\\/g, "\\").replace(/\\\"/g, '\"'); } txtA.value = text; }, GB2312UnicodeConverter: { ToUnicode: function (str) { var txt = escape(str).toLocaleLowerCase().replace(/%u/gi, '\\u'); return txt.replace(/%7b/gi, '{').replace(/%7d/gi, '}').replace(/%3a/gi, ':').replace(/%2c/gi, ',').replace(/%27/gi, '\'').replace(/%22/gi, '"').replace(/%5b/gi, '[').replace(/%5d/gi, ']').replace(/%3D/gi, '=').replace(/%20/gi, ' ').replace(/%3E/gi, '>').replace(/%3C/gi, '<').replace(/%3F/gi, '?'); }, ToGB2312: function (str) { return unescape(str.replace(/\\u/gi, '%u')); } }, utozh: function () { var _this = this; var txtA = document.getElementById("jsonval"); var text = txtA.value.trim(); if (!text) { alert("请输入JSON字符串。"); return false; } txtA.value = _this.GB2312UnicodeConverter.ToGB2312(text); }, zhtou: function () { var _this = this; var txtA = document.getElementById("jsonval"); var text = txtA.value.trim(); if (!text) { alert("请输入JSON字符串。"); return false; } txtA.value = _this.GB2312UnicodeConverter.ToUnicode(text); }, cntoenehar: function () { var txtA = document.getElementById("jsonval"); var str = txtA.value; str = str.replace(/\’|\‘/g, "'").replace(/\“|\”/g, "\""); str = str.replace(/\【/g, "[").replace(/\】/g, "]").replace(/\{/g, "{").replace(/\}/g, "}"); str = str.replace(/,/g, ",").replace(/:/g, ":"); txtA.value = str; }, init: function () { $('#jsonval').linedtextarea({ resize: "none" }); var _this = this; $("#zip").click(function () { _this.escapezip(1); }); $("#escape").click(function () { _this.escapezip(2); }); $("#zipescape").click(function () { _this.escapezip(3); }); $("#delescape").click(function () { _this.escapezip(4); }); $("#u2zh-cn").click(function () { _this.utozh(); }); $("#zh-cn2u").click(function () { _this.zhtou(); }); $("#zh-cn2enchar").click(function () { _this.cntoenehar(); }); } } } } var tc = tools.transcoding; var to = tools.other; var ted = tools.encryptDecode; var hcj = tools.htmlcssjs; var jsontool = tools.jsonTool;