您的位置:首页 > Web前端 > JavaScript

文章自动排版javascript程序

2005-08-12 22:10 405 查看
不带图片的文章排版程序.很容易看明白,就不多说了.

LayOut函数是我写的.LTrim,RTrim,Trim是在网上找的基础上稍微改动了一点.

<script language="Javascript">

/*
==================================================================
LayOut(TextboxID):对Textbox里面的内容进行自动排版:段与段之间自动空
行;段前缩进2个大空格;去除段前段后多余的空格.
==================================================================
*/

function LayOut(TextboxID)
{
var newLineChar="\r\n";
var segHead=" ";
var text = document.getElementById(TextboxID).innerText;
var textContainer = new Array();
var ContainerArrayIndex = 0;
var startIndex=0;
var endIndex=0;
var textLength=text.length;
var returnString="";
var isRubbish=true;
var rubbish=new String(" \t \r\n");

for(var count = 0; count < textLength; count++)
{
if(rubbish.indexOf(text.charAt(count))==-1) isRubbish=false;

if(count==textLength-1&&isRubbish==false)
{
textContainer[ContainerArrayIndex]=Trim(text.substring(startIndex,textLength));
ContainerArrayIndex++;
}
else
{
if(text.substring(count,count+2)==newLineChar)
{
endIndex=count+2;
if(endIndex-startIndex>2&&isRubbish==false)
{
textContainer[ContainerArrayIndex]=Trim(text.substring(startIndex,endIndex-2))+text.substring(endIndex-2,endIndex);
ContainerArrayIndex++;
}
startIndex=endIndex;
count++;
isRubbish=true;
}
}
}

for(var count = 0; count < ContainerArrayIndex; count++)
{
returnString+=segHead+textContainer[count]+newLineChar;
}

document.getElementById(TextboxID).innerText = returnString;
}

/*
==================================================================
LTrim(string):去除左边的空格
==================================================================
*/
function LTrim(str)
{
var whitespace = new String(" \t ");
var s = new String(str);
if (whitespace.indexOf(s.charAt(0)) != -1)
{
var j=0, i = s.length;
while (j < i && whitespace.indexOf(s.charAt(j)) != -1)
{
j++;
}
s = s.substring(j, i);
}
return s;
}

/*
==================================================================
RTrim(string):去除右边的空格
==================================================================
*/

function RTrim(str)
{
var whitespace = new String(" \t ");
var s = new String(str);
if (whitespace.indexOf(s.charAt(s.length-1)) != -1)
{
var i = s.length - 1;
while (i >= 0 && whitespace.indexOf(s.charAt(i)) != -1)
{
i--;
}
s = s.substring(0, i+1);
}
return s;
}

/*
==================================================================
Trim(string):去除前后空格
==================================================================
*/

function Trim(str)
{
return RTrim(LTrim(str));
}

</script>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: