js 格式化Delpi代码效果正则简单示例
<script language="JavaScript" type="text/javascript">
<!--
var arr = new Array();
KeyRed="procedure,function,type,uses,interface,unit,private,public,implementation,packed,record,true,false";
ArrRed=KeyRed.split(",");
KeyBlue="var,begin,end,try,except,finally";
ArrBlue=KeyBlue.split(",");
KeyStrong="if,then,while,do,for,class,case,of,else,downto,to,with,not,nil,result";
ArrStrong=KeyStrong.split(",");
function change1(str){
str = str.replace(/<([^>]*)>/ig,"");
str = "<font color=#000099>"+str+"</font>";
return str;
}
function change2(str){
str = str.replace(/<([^>]*)>/ig,"");
str = "<font color=#666666><i>"+str+"</i></font>";
return str;
}
function change3(str){
str = str.replace(/<([^>]*)>/ig,"");
str = "<font color=#009900>"+str+"</font>";
return str;
}
function encode() {
var o = document.getElementById("htmlcode");
var htmlcode = o.value;
htmlcode = htmlcode.replace(/</g, "<");
htmlcode = htmlcode.replace(/>/g, ">");
htmlcode = htmlcode.replace(/ /g, " ");
htmlcode = htmlcode.replace(/(#\b\d+\b)/g, "<font color=blue>$1</font>");
htmlcode = htmlcode.replace(/(\b\d+\b)/g, "<font color=red>$1</font>");
htmlcode = htmlcode.replace(/(\(|\))/g, "<font color=#340000>$1</font>");
for(i=0;i<ArrRed.length;i++){
tmp="htmlcode = htmlcode.replace(/\\b"+ArrRed[i]+"\\b/ig, \"<font color=#990000>"+ArrRed[i]+"</font>\");"
eval(tmp);
}
for(i=0;i<ArrBlue.length;i++){
tmp="htmlcode = htmlcode.replace(/\\b"+ArrBlue[i]+"\\b/ig, \"<font color=blue>"+ArrBlue[i]+"</font>\");"
eval(tmp);
}
for(i=0;i<ArrStrong.length;i++){
tmp="htmlcode = htmlcode.replace(/\\b"+ArrStrong[i]+"\\b/ig, \"<strong><font color=#000066>"+ArrStrong[i]+"</font></strong>\");"
eval(tmp);
}
htmlcode = htmlcode.replace(/(\/\/.*\n?)/g, change2);
htmlcode = htmlcode.replace(/'([^']|'?R')*'/g, change1);
htmlcode = htmlcode.replace(/\{[^$]([^\{\}]|\{?R\})*\}/g, change2);
htmlcode = htmlcode.replace(/\{\$([^\{\$\}]|\{\$?R\})*\}/g, change3);
htmlcode="<fieldset><legend>Code</legend>"+htmlcode+"</fieldset>";
o.value = htmlcode;
}
-->
</script>
<textarea id="htmlcode" style="width:100%;height:30%;">
</textarea>
<input value="转换" onclick="encode();" type="button"/>
<!--
var arr = new Array();
KeyRed="procedure,function,type,uses,interface,unit,private,public,implementation,packed,record,true,false";
ArrRed=KeyRed.split(",");
KeyBlue="var,begin,end,try,except,finally";
ArrBlue=KeyBlue.split(",");
KeyStrong="if,then,while,do,for,class,case,of,else,downto,to,with,not,nil,result";
ArrStrong=KeyStrong.split(",");
function change1(str){
str = str.replace(/<([^>]*)>/ig,"");
str = "<font color=#000099>"+str+"</font>";
return str;
}
function change2(str){
str = str.replace(/<([^>]*)>/ig,"");
str = "<font color=#666666><i>"+str+"</i></font>";
return str;
}
function change3(str){
str = str.replace(/<([^>]*)>/ig,"");
str = "<font color=#009900>"+str+"</font>";
return str;
}
function encode() {
var o = document.getElementById("htmlcode");
var htmlcode = o.value;
htmlcode = htmlcode.replace(/</g, "<");
htmlcode = htmlcode.replace(/>/g, ">");
htmlcode = htmlcode.replace(/ /g, " ");
htmlcode = htmlcode.replace(/(#\b\d+\b)/g, "<font color=blue>$1</font>");
htmlcode = htmlcode.replace(/(\b\d+\b)/g, "<font color=red>$1</font>");
htmlcode = htmlcode.replace(/(\(|\))/g, "<font color=#340000>$1</font>");
for(i=0;i<ArrRed.length;i++){
tmp="htmlcode = htmlcode.replace(/\\b"+ArrRed[i]+"\\b/ig, \"<font color=#990000>"+ArrRed[i]+"</font>\");"
eval(tmp);
}
for(i=0;i<ArrBlue.length;i++){
tmp="htmlcode = htmlcode.replace(/\\b"+ArrBlue[i]+"\\b/ig, \"<font color=blue>"+ArrBlue[i]+"</font>\");"
eval(tmp);
}
for(i=0;i<ArrStrong.length;i++){
tmp="htmlcode = htmlcode.replace(/\\b"+ArrStrong[i]+"\\b/ig, \"<strong><font color=#000066>"+ArrStrong[i]+"</font></strong>\");"
eval(tmp);
}
htmlcode = htmlcode.replace(/(\/\/.*\n?)/g, change2);
htmlcode = htmlcode.replace(/'([^']|'?R')*'/g, change1);
htmlcode = htmlcode.replace(/\{[^$]([^\{\}]|\{?R\})*\}/g, change2);
htmlcode = htmlcode.replace(/\{\$([^\{\$\}]|\{\$?R\})*\}/g, change3);
htmlcode="<fieldset><legend>Code</legend>"+htmlcode+"</fieldset>";
o.value = htmlcode;
}
-->
</script>
<textarea id="htmlcode" style="width:100%;height:30%;">
</textarea>
<input value="转换" onclick="encode();" type="button"/>


浙公网安备 33010602011771号