使用javascript解析或过滤文本文件中的特定部分

使用javascript解析或过滤文本文件中的特定部分,javascript,Javascript,当前…按钮单击返回从文本文件t/hello.txt到div的所有内容 查看是否有方法返回整个文本文件,然后解析出特定数据并将其返回到div。在下面的示例中,我希望将第1节中的所有内容返回到div,就像它看起来的那样 示例-文本文件中的数据设置如下所示: Section1 Type: Cat Name: Whiskers Age: 2 yrs Status: Adoption Section1 Section2 Type: Dog Name: Rosco Age: 7 yrs Status: A

当前…按钮单击返回从文本文件t/hello.txt到div的所有内容

查看是否有方法返回整个文本文件,然后解析出特定数据并将其返回到div。在下面的示例中,我希望将第1节中的所有内容返回到div,就像它看起来的那样

示例-文本文件中的数据设置如下所示:

Section1
Type: Cat
Name: Whiskers
Age: 2 yrs
Status: Adoption
Section1

Section2
Type: Dog
Name: Rosco
Age: 7 yrs
Status: Adoption
Section2


<html>
<head>
<meta charset="utf-8">
<script type="text/javascript">
var tdata ;
if(navigator.appName.search('Microsoft')>-1) { tdata = new ActiveXObject('MSXML2.XMLHTTP'); }
else { tdata = new XMLHttpRequest(); }

function seetxt() {
tdata.open('get', 't/hello.txt', true); 
tdata.onreadystatechange= cp;
tdata.send(null);
}

function cp() {
if(tdata.readyState==4) {
var ele = document.getElementById('ctxt');
ele.innerHTML = tdata.responseText;
}
}
</script>
</head>

<body>
<input type="button" value="See Values"  onclick="seetxt()">
<div id="ctxt"></div>
</body>
</html>

假设文本文件的格式与示例类似,则可以使用以下正则表达式提取内容:

var txt = tdata.responseText.match(/section1(.+?)section1/i)[1];
ele.innerHTML = txt;

levi我添加了你们所说的内容,点击按钮什么也没显示。数据的格式与我的示例相同。如果代码中有错误,请检查控制台。代码应该可以正常工作。请参阅-levi-按照您的建议运行时,我收到一个未捕获类型错误:无法读取此行var txt=tdata.responseText.match(/section1(+?)section1/I)[1]上null txtFile onreadystatechange的属性“1”;我所做的就是把每个部分放在一行上,比如:第一部分类型:猫名:胡须年龄:2岁状态:收养第1部分,然后将(/Section1(+?)Section1/I)改为(/Section1(+?)Section1/I),然后它就工作了。
var txt = tdata.responseText.match(/section1(.+?)section1/i)[1];
ele.innerHTML = txt;