文章自动排版javascript程序

不带图片的文章排版程序.很容易看明白,就不多说了.

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>
posted @ 2005-08-12 22:10  xiaotie  阅读(2539)  评论(2编辑  收藏  举报