简单的脚本帮你编排JScript程序中的缩进
2007-11-27 17:18:22 来源:WEB开发网µ±È»²»ÊÇͨÓÃÀ²¡£¡£
ÀýÈçÈç¹ûÔÚÀïÃæÓÐ{ÄÇô¾ÍÂÒÁË¡£¡£
<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>
更多精彩
赞助商链接