📄 code.js
字号:
// 替换region处
str = str.replace(/(.*)(#region\s+)([^\r\n]*)/g,
function() {
var s = GetHeader(arguments[1],arguments[3],"CodeRegion",canCollapse,false)
+"<font color=\"#0000ff\">"+arguments[2]+"</font>"+arguments[3];
return(s);
});
// 替换endregion处
str = str.replace(/(.*)(#endregion)/g,
"<img src=\"images/codeimages/ExpandedSubBlockEnd.gif\" align=\"top\"/>$1<font color=\"#0000ff\">$2</font></span>");
return(str);
}
// 格式化{}
function FormatBrace(str)
{
// 替换左边大括号
str = str.replace(/([^{]*\n)(.*?)(\{)/g,
function() {
var rndnum = Math.floor((Math.random()*1000000)).toString().substr(0,4);
var str = arguments[1]+GetHeader(arguments[2],"...","CodeFunction",false,false)+arguments[3];
return(str);
});
// 替换右边大括号
str = str.replace(/(.*\})/g,
"<IMG src=\"images/codeimages/ExpandedSubBlockEnd.gif\" align=\"top\">$1</span>");
return str;
}
// 格式化函数头注释
function FormatFunctionRemark(str)
{
// 函数头注释处的<summary>值变绿色
str = str.replace(/(\/{3}\s*<summary>.*?\n)([\s\S]*?)(\/{3}\s*<\/summary>)/g,
function() {
str = arguments[2].replace(/(\/{3})([\s\S]*?)(\n)/g,"$1<font color=\"#008000\">$2</font>$3");
return(arguments[1]+str+arguments[3]);
});
// <param>值变为绿色
str = str.replace(/(\/{3}\s*<param([\s\S]*?)>)([\s\S]*?)(<\/param>)/g,"$1<font color=\"#008000\">$3</font>$4");
// <returns><example><remarks><value>值变为绿色
str = str.replace(/(\/{3}\s*<(returns|example|remarks|value)>)([\s\S]*?)(<\/\2>)/g,
"$1<font color=\"#008000\">$3</font>$4");
// 加收缩功能
str = str.replace(/(.*)(\/{3}\s*<summary>)([\s\S]*?)(\n\s*\b(public|protected|private)\b)/g,
function() {
var rndnum = Math.floor((Math.random()*1000000)).toString().substr(0,4);
var s1 = GetHeader(arguments[1],"/**/","CodeRemark",false,false)+arguments[2];
var arr = arguments[3].match(/[\s\S]*?\n/g);
var maxStr = arr[arr.length-1];
var s2 = arguments[3].replace(maxStr,maxStr+"<IMG src=\"images/codeimages/ExpandedSubBlockEnd.gif\" align=\"top\">");
return(s1+s2+"</span>"+arguments[4]);
});
// 函数头注释处其它字符变为灰色
str = str.replace(/(\/{3})([\s\S]*?)(<\/SPAN>|\n|$)/gi,"<font color=\"#808080\">$1$2</font>$3");
return(str);
}
//--------------------------------------- 格式化HTML代码 ----------------------------------------
// 格式化HTML代码
function FormatHTML(str,canCollapse)
{
// 给Flash加折叠功能,默认为收缩状态
// str = str.replace(/(.*)(<object)([\s\S]*)(\n)(.*<\/object.*)/gi,
// function() {
// var s = GetHeader(arguments[1],"<-- OBJECT class=ShockwaveFlash -->","CodeFlash",true,true)+arguments[2]+arguments[3].replace(/(\n)/g,"$1<IMG src=\"images/codeimages/InBlock.gif\" align=\"top\">")+arguments[4]+"<IMG src=\"images/codeimages/ExpandedBlockEnd.gif\" align=\"top\">"+arguments[5]+"</span>";
// return (s);
// });
// 替换HTML注释为绿色
str = str.replace(/(<!)(--.*?--)(>)/g,"$1<font color=\"#008000\">$2</font>$3");
// 替换HTML标签的属性为红色,HTML标签为棕色
/* str = str.replace(/(<)([^\s\/%!]*?)((\s+.*?)*)(\/?>)/gi,
function() {
var s="<font color=\"#0000FF\">"+arguments[1]+"</font><font color=\"#800000\">"+
arguments[2]+"</font>"+arguments[3].replace(/(\s+)([^\s]*?)(=)("|')(.*?)\4/g,"$1<font color=\"#FF0000\">$2</font><font color=\"#0000FF\">$3$4$5$4</font>")+"<font color=\"#0000FF\">"+arguments[5]+"</font>";
return (s);
});*/
str = str.replace(/(<\/?)([^\s\/\&!]*)(.*?)(\/?>)/gi,
function() {
var s="<font color=\"#0000FF\">"+arguments[1]+"</font><font color=\"#800000\">"+arguments[2]+"</font>"+
arguments[3].replace(/(\s+)([^\s]*?)(=)("|')(.*?)\4/g,"$1<font color=\"#FF0000\">$2</font><font color=\"#0000FF\">$3$4$5$4</font>")+
"<font color=\"#0000FF\">"+arguments[4]+"</font>";
return (s);
});
str = str.replace(/(<\/)(.*?)(>)/gi,
"<font color=\"#0000FF\">$1</font><font color=\"#800000\">$2</font><font color=\"#0000FF\">$3</font>");
// 替换全部特殊符号标签为红色
var symbolReg = /(&)(quot|amp|lt|gt|nbsp|aacute|euro|lsquo|rsquo|rsquo|ldquo|rdquo|ndash|mdash|iexcl|cent|pound|curren|yen|brvbar|sect|uml|copy|ordf|laquo|not|reg|macr|deg|plusmn|sup2|sup3|acute|micro|para|middot|cedil|sup1|ordm|raquo|frac14|frac12|frac34|iquest|Agrave|Acirc|Atilde|Auml|Aring|AElig|Ccedil|Egrave|Eacute|Ecirc|Euml|Igrave|Iacute|Icirc|Iuml|ETH|Ntilde|Ograve|Oacute|Ocirc|Otilde|Ouml|times|Oslash|Ugrave|Uacute|Ucirc|Uuml|Yacute|THORN|szlig|agrave|acirc|atilde|auml|aring|aelig|ccedil|egrave|eacute|ecirc|euml|igrave|iacute|icirc|iuml|eth|ntilde|ograve|oacute|ocirc|otilde|ouml|divide|oslash|ugrave|uacute|ucirc|uuml|uuml|yacute|thorn|yuml)(;)/gi;
str = str.replace(symbolReg,"<font color=\"#FF0000\">$1$2$3</font>")
// 给<%和%>加个黄色背景
str = str.replace(/(<%)(.*?)(%>)/gi,
function() {
var s="<font style=\"color:#000000;background-color:#FFFF00;\">"+arguments[1]+
"</font>"+arguments[2]+
"<font style=\"color:#000000;background-color:#FFFF00;\">"+arguments[3]+"</font>";
return (s);
});
return (str);
}
//-------------------------------------- 格式化JScript函数 --------------------------------------
// 格式化JScript函数
function FormatJScript(str,canCollapse)
{
// 关键字变为蓝色
var keywordReg = /\b(break|delete|function|return|typeof|case|do|if|switch|var|catch|else|in|this|void|continue|false|instanceof|throw|while|debugger|finally|new|true|with|default|for|null|try|abstract|double|goto|native|static|boolean|enum|implements|package|super|byte|export|import|private|synchronized|char|extends|int|protected|throws|class|final|interface|public|transient|const|float|long|short|volatile)\b/g;
str = str.replace(keywordReg,"<font color=\"#0000FF\">$1</font>");
// str = FormatBrace(str);
str = FormatValue(str);
// 注释变为绿色
str = FormatCodeRemark(str);
return (str);
}
//-------------------------------------- 格式化CSS --------------------------------------
// 格式化CSS
function FormatCSS(str,canCollapse)
{
str = str.replace(/(@\w*)(.*?;)/g,"<font color=\"#0000FF\">$1</font><font color=\"#000000\">$2</font>");
str = str.replace(/(^|})([\s\S]*?)({|$)/g,"$1<font color=\"#800000\">$2</font>$3");
str = str.replace(/({)([\s\S]*?)(})/g,
function() {
var s = arguments[2].replace(/(^|;)([\s\S]*?)(:)/g,"$1<font color=\"#FF0000\">$2</font>$3");
s = s.replace(/(:)([\s\S]*?)(;|$)/g,"$1<font color=\"#0000FF\">$2</font>$3");
s = arguments[1]+s+arguments[3];
return (s);
});
return (str);
}
//-------------------------------------- 格式化XML --------------------------------------
// 格式化XML
function FormatXML(str,canCollapse)
{
// 替换XML标签的属性为红色,XML标签为棕色
str = str.replace(/(<\??)([^!\s\/%]*?)((\s+.*?)*)([\/\?]?>)/gi,
function() {
var s = arguments[3];
s="<font color=\"#0000FF\">"+arguments[1]+"</font><font color=\"#800000\">"+arguments[2]+"</font>"+s.replace(/(\s+)([^\s]*?)(=)("|')(.*?)\4/g,"$1<font color=\"#FF0000\">$2</font><font color=\"#0000FF\">$3$4$5$4</font>")+"<font color=\"#0000FF\">"+arguments[5]+"</font>";
return (s);
});
str = str.replace(/(<\/)(.*?)(>)/gi,
"<font color=\"#0000FF\">$1</font><font color=\"#800000\">$2</font><font color=\"#0000FF\">$3</font>");
// 替换全部特殊符号标签为红色
var symbolReg = /(&)(quot|amp|lt|gt|nbsp|aacute|euro|lsquo|rsquo|rsquo|ldquo|rdquo|ndash|mdash|iexcl|cent|pound|curren|yen|brvbar|sect|uml|copy|ordf|laquo|not|reg|macr|deg|plusmn|sup2|sup3|acute|micro|para|middot|cedil|sup1|ordm|raquo|frac14|frac12|frac34|iquest|Agrave|Acirc|Atilde|Auml|Aring|AElig|Ccedil|Egrave|Eacute|Ecirc|Euml|Igrave|Iacute|Icirc|Iuml|ETH|Ntilde|Ograve|Oacute|Ocirc|Otilde|Ouml|times|Oslash|Ugrave|Uacute|Ucirc|Uuml|Yacute|THORN|szlig|agrave|acirc|atilde|auml|aring|aelig|ccedil|egrave|eacute|ecirc|euml|igrave|iacute|icirc|iuml|eth|ntilde|ograve|oacute|ocirc|otilde|ouml|divide|oslash|ugrave|uacute|ucirc|uuml|uuml|yacute|thorn|yuml)(;)/gi;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -