简单的脚本帮你编排JScript程序中的缩进
2002-04-27 15:51
555 查看
µ±È»²»ÊÇͨÓÃÀ²¡£¡£
ÀýÈçÈç¹ûÔÚ""ÀïÃæÓÐ"{"ÄÇô¾ÍÂÒÁË¡£¡£
<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>
ÀýÈçÈç¹ûÔÚ""ÀïÃæÓÐ"{"ÄÇô¾ÍÂÒÁË¡£¡£
<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>
相关文章推荐
- 得到 words.js?hello,world! 参数的处理方法
- 玩透弹出窗口
- 在WEB项目中多维下拉菜单的实现技巧和方法
- 用JScript实现VB.Net,C#的[委托Delegate]:
- 自己做二级域名的DNS
- 利用JScript/CSS 编程技术模拟实现TABView控件
- 在Web界面下数形目录显示程序(版本1.0)
- 利用JavaScript和正则表达式进行丰富的日期判断(给其它项目组的代码,有比较好的编程风格和注释)
- perl文件上传程序,支持多文件!
- javascript/Jscript实现父子窗体的互相引用问题(Powered By ZosaTapo)
- 对JSP Model 2工作流程的一些体会
- 一个javascript脚本写的俄罗斯方块
- 处理JSP中 4000 的中文
- solaris上开发J2EE应用中文问题的解决
- JSP: 调用servlet 显示图片
- JSP+XML的技术纲要
- Microsoft Visual J#.NET (JSharp) Version 7.0 Beta 1 out
- 一个开发人员眼中的JSP技术(上)
- 我认为JSP有问题(下)
- 我认为JSP有问题(上)