<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>js代码自动排版</title>
<style type="text/css">
<!--
#myText {
height: 600px;
width: 98%;
}
-->
</style>
<script type="text/javascript">
function delSpace(index,str) //忽略空白字符,返回连续空白字符的最后一个空白字符索引值
{
while(index<str.length)
{
index+=1;
if(/\s/.test(str.substr(index,1))) continue; //下一个是否空白字符
break; //不是空白则退出循环
}
return (index-1); //最后一个空白字符索引值
}
function nextChar(index,str,char) //查找下一个与char相等的字符,并返回位置索引
{
while(index<str.length)
{
index+=1;
if(str.substr(index,1)==char) return index;
}
}
function ifEqual(index,str,char) //上一个是否为char
{
var length=char.length;
for(var j=index-1;j>=0;j--)
{
if(/\S/.test(str.substr(j,1))) //是否非空
{
if(str.substr(j-length+1,length).toLowerCase()==char) return true;
else return false;
}
}
}
function findEqual(index,str,char) //查找前面是否存在字符串char
{
var length=char.length;
var num=50; //向上查找最高深度,太深影响性能
for(var j=index-length;j>=0;j--)
{
if(num<1) return false;
if(str.substr(j,length).toLowerCase()==char) return true;
else
{
num-=1;
continue;
}
}
return false;
}
function findEqualIndex(index,str,char) //查找前面是否存在字符串char
{
var length=char.length;
var num=50; //向上查找最高深度,太深影响性能
for(var j=index-length;j>=0;j--)
{
if(num<1) return -1;
if(str.substr(j,length).toLowerCase()==char) return j;
else
{
num-=1;
continue;
}
}
return -1;
}
function quota(index,str,char)
{
if(char=='\"')
{
var a=0; //保存“\”后面的字符索引
for(var i=index+1;i<str.length;i++)
{
if(str.substr(i,1)=='\\')
{
i+=1; //如果是“\”,直接跳过\*,*为任何字符
a=i;
}
else if(str.substr(i,1)=='\"')
{
if(((i-1)!=a) && (str.substr(i-1,1)!='\\')) return i;
else if((i-1)==a) return i;
}
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>js代码自动排版</title>
<style type="text/css">
<!--
#myText {
height: 600px;
width: 98%;
}
-->
</style>
<script type="text/javascript">
function delSpace(index,str) //忽略空白字符,返回连续空白字符的最后一个空白字符索引值
{
while(index<str.length)
{
index+=1;
if(/\s/.test(str.substr(index,1))) continue; //下一个是否空白字符
break; //不是空白则退出循环
}
return (index-1); //最后一个空白字符索引值
}
function nextChar(index,str,char) //查找下一个与char相等的字符,并返回位置索引
{
while(index<str.length)
{
index+=1;
if(str.substr(index,1)==char) return index;
}
}
function ifEqual(index,str,char) //上一个是否为char
{
var length=char.length;
for(var j=index-1;j>=0;j--)
{
if(/\S/.test(str.substr(j,1))) //是否非空
{
if(str.substr(j-length+1,length).toLowerCase()==char) return true;
else return false;
}
}
}
function findEqual(index,str,char) //查找前面是否存在字符串char
{
var length=char.length;
var num=50; //向上查找最高深度,太深影响性能
for(var j=index-length;j>=0;j--)
{
if(num<1) return false;
if(str.substr(j,length).toLowerCase()==char) return true;
else
{
num-=1;
continue;
}
}
return false;
}
function findEqualIndex(index,str,char) //查找前面是否存在字符串char
{
var length=char.length;
var num=50; //向上查找最高深度,太深影响性能
for(var j=index-length;j>=0;j--)
{
if(num<1) return -1;
if(str.substr(j,length).toLowerCase()==char) return j;
else
{
num-=1;
continue;
}
}
return -1;
}
function quota(index,str,char)
{
if(char=='\"')
{
var a=0; //保存“\”后面的字符索引
for(var i=index+1;i<str.length;i++)
{
if(str.substr(i,1)=='\\')
{
i+=1; //如果是“\”,直接跳过\*,*为任何字符
a=i;
}
else if(str.substr(i,1)=='\"')
{
if(((i-1)!=a) && (str.substr(i-1,1)!='\\')) return i;
else if((i-1)==a) return i;
}




