简单的脚本帮你编排JScript程序中的缩进
2007-11-27 17:18:22 来源:WEB开发网 闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾剧懓顪冪€n亜顒㈡い鎰Г閹便劌顫滈崱妤€骞婄紓鍌氬€瑰銊╁箟缁嬫鍚嬮柛顐線缂冩洟姊婚崒娆戭槮婵犫偓闁秵鎯為幖娣妼缁愭鏌″搴′簽濞戞挸绉甸妵鍕冀椤愵澀娌梺缁樻尪閸庣敻寮婚敐澶婂嵆闁绘劖绁撮崑鎾诲捶椤撴稑浜炬慨妯煎亾鐎氾拷

µ±È»²»ÊÇͨÓÃÀ²¡£¡£
ÀýÈçÈç¹ûÔÚÀïÃæÓÐ{ÄÇô¾ÍÂÒÁË¡£¡£
<textarea cols=64 rows=24 id=ta>
</textarea>
<hr>
<button onclick=trans()>trans</button>
<script>
function trans()
{
var res=_trans(ta.value)
ta.value=res;
}
function _trans(str)
{
str=str.replace(/\r\n(\s)+/g,\r\n);
var arrRes=new Array();
var arr=str.split(\r\n);
var count=0;
arrRes[arrRes.length]=arr[0];
for(var i=1;i<arr.length-1;i++)
{
var p=(i*100/arr.length+);
status=Math.floor(p)+1+%;
count+=getCount(arr[i-1]);
var c=count;
if(arr[i].indexOf(case)==0)c--;
if(arr[i].indexOf(})==0)c--;
if(arr[i].indexOf({)!=0)
{
if(arr[i-1].indexOf(if)==0)c++;
if(arr[i-1].indexOf(else)==0)c++;
if(arr[i-1].indexOf(while)==0)c++;
if(arr[i-1].indexOf(do)==0)c++;
if(arr[i-1].indexOf(for)==0)c++;
}
arrRes[arrRes.length]=tabs(c)+arr[i]+\r\n;
}
arrRes[arrRes.length]=arr[i];
return arrRes.join();
}
function tabs(count)
{
var res=;
for(var i=0;i<count;i++)
res+=\t;
return res;
}
function getCount(str)
{
var c=0;
for(var i=0;i<str.length;i++)
{
if(str.charAt(i)=={)c++;
else
if(str.charAt(i)==})c--;
}
return c;
}
</script>
更多精彩
赞助商链接