当前位置: 首页 > 图文教程 > 网络编程 > Javascript > 简单的脚本帮你编排JScript程序中的缩进

Javascript
很多人都是用下面的js刷新站IP和PV
javascript仿126邮箱TAB切换效果
js右下角弹出窗口,点击可关闭效果
javascript使用window.name解决跨域问题
DIV层之拖动、关闭、打开效果代码
Javascript条件判断使用小技巧总结
javascript获取不重复的随机数的方法比较
Firefox下设为主页的JavaScript代码
JavaScript编制留言簿程序代码
javascript表格随机排序代码
javascript一些不错的函数脚本代码
javascript之textarea打字机效果提示代码推荐
js实现的类似QQ的等级的代码
js检查是否全是中文
[原创]js判断是否有中文的脚本_js判断中文方法集合
js判断输入是否中文,数字,身份证等等js函数集合
js直接编辑当前cookie的脚本
jquery 必填项判断表单是否为空的方法
javascript高亮效果的二种实现方法
JavaScript基本入门语法集合

Javascript 中的 简单的脚本帮你编排JScript程序中的缩进


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-10   浏览: 436 ::
收藏到网摘: n/a

µ±È»²»ÊÇͨÓÃÀ²¡£¡£
ÀýÈçÈç¹ûÔÚ""ÀïÃæÓÐ"{"ÄÇô¾ÍÂÒÁË¡£¡£


 


<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>