大家帮我看看如何用JavaScript读取ini文件...
test.ini文件如下
[COM-A]
ERR1 = "aaaaaaaaaa"
ERR2 = "bbbbbbbbbb"
ERR3 = "cccccccccc"[COM_B]
ERR1 = "aaaaaaaaaa"
ERR2 = "bbbbbbbbbb"
ERR3 = "cccccccccc"function ReadErrIni(com,err){
var rtnVal;
//通过com,err两个参数在test.ini中查找对应的字符串,并赋值给rtnVal
...
...
return rtnVal;
}
test.ini文件如下
[COM-A]
ERR1 = "aaaaaaaaaa"
ERR2 = "bbbbbbbbbb"
ERR3 = "cccccccccc"[COM_B]
ERR1 = "aaaaaaaaaa"
ERR2 = "bbbbbbbbbb"
ERR3 = "cccccccccc"function ReadErrIni(com,err){
var rtnVal;
//通过com,err两个参数在test.ini中查找对应的字符串,并赋值给rtnVal
...
...
return rtnVal;
}
解决方案 »
- javascript里怎么去掉字符串中的空格
- js中变量的变量如何搞?
- 求教一个页面跳转问题
- wuyq11 return values[arguments[1]]||''
- 怎么在一打开一个JSP页面时就自动蹦出一个提示框(confirm)?
- 调用IE的打印完毕后怎样将ASP报表窗口关闭
- 小弟有难题未解,请高手帮忙
- 如何实现当用户点击关闭按钮时出现提示框,点击“确定”后再才关闭窗口,点击“取消”则不关闭窗口?
- 如何比较在数据库中的记录的一个字段和一个文本框的内容?
- Bootstrap和github都表示移除Jquery
- javaScript 这么实现简单的photoshop功能
- 如果我有一段字符串符合 XML 规范,我想用 js 读取其中的值,应该怎么写,谢谢各位!!
<!--
[COM-A]
ERR1 = "aaaaaaaaaa"
ERR2 = "bbbbbbbbbb"
ERR3 = "cccccccccc" [COM_B]
ERR1 = "aaaaaaaaaa"
ERR2 = "bbbbbbbbbb"
ERR3 = "cccccccccc"
-->
<div id="div0"></div>
</body>
<!--<script type="text/javascript" src="http://files.cnblogs.com/sohighthesky/jquery-1.4.min.js"></script>-->
<script type="text/javascript">
var str=document.body.childNodes[0].innerHTML
function ReadErrIni(com,err){
var reg=new RegExp("\\["+com+"\\][\\s\\S]*?"+err+"\\s*=\\s*\"([^\"]+)\"");
return (str.match(reg) ||["",null])[1]
}var res=ReadErrIni("COM-A","ERR2");
alert(res)
</script>
</html>
var comList=[];
(function(){
var fso, filehandle;
fso = new ActiveXObject("Scripting.FileSystemObject"); filehandle = fso.OpenTextFile("C:\\作業フォルダ\\ページ\\test.ini",1,false,0);
regCom=/^\[([^]]+)\]/;
regErr=/^(ERR\d+)\s*[=]\s*["]([^\"]+)["]/;
var com="";
while(!filehandle.AtEndOfStream){
var ss=filehandle.ReadLine();
if(regCom.test(ss)){
com=RegExp.$1;
comList[com]=[];
//document.write(RegExp.$1+"<br>");
}else if(regErr.test(ss)){
comList[com][RegExp.$1]=RegExp.$2;
//document.write(RegExp.$1 + " : " + RegExp.$2+"<br>");
}
}
filehandle.Close();
fso=null;
})();
function ReadErrIni(com,err){
return comList[com][err];
}
document.write(ReadErrIni("COM-A","ERR1"));
document.write(ReadErrIni("COM_B","ERR2"));
</script>
都是php什么的用到配置文件。js没必要用这个。
function ReadErrIni(com,err){
return comList[com][err];
}
var comList=[];//Ini Content
//读取ini文件
function GetIniList(){
var fso, filehandle;
fso = new ActiveXObject("Scripting.FileSystemObject"); filehandle = fso.OpenTextFile(yourFilePath,1,false,0);//Replace yourFilePath here
regCom=/^\[([^]]+)\]/;
regErr=/^(ERR\d+)\s*[=]\s*["]([^\"]+)["]/;
var com="";
while(!filehandle.AtEndOfStream){
var ss=filehandle.ReadLine();
if(regCom.test(ss)){
com=RegExp.$1;
comList[com]=[];
//document.write(RegExp.$1+"<br>");
}else if(regErr.test(ss)){
comList[com][RegExp.$1]=RegExp.$2;
//document.write(RegExp.$1 + " : " + RegExp.$2+"<br>");
}
}
filehandle.Close();
fso=null;
}
//通过com,err两个参数在test.ini中查找对应的字符串,并赋值给rtnVal
function ReadErrIni(com,err){
return comList[com][err];
}
GetIniList();//Run
//Test Code
document.write(ReadErrIni("COM-A","ERR1"));
document.write(ReadErrIni("COM_B","ERR2"));
</script>
test.ini:[COM-A]
ERR1 = "aaaaaaaaaa"
ERR2 = "bbbbbbbbbb"
ERR3 = "cccccccccc"[COM_B]
ERR1 = "dddddddddd"
ERR2 = "eeeeeeeeee"
ERR3 = "ffffffffff"[COM_C]
ERR1 = "gggggggggg"
ERR2 = "hhhhhhhhhh"
ERR3 = "iiiiiiiiii"[COM_D]
ERR1 = "jjjjjjjjjj"
ERR2 = "kkkkkkkkkk"
ERR3 = "llllllllll"HTML:<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<textarea id="txt1" style="width:300px;height:300px"></textarea>
<textarea id="txt2" style="width:300px;height:300px"></textarea><br><script type:text/javascript>
function openText(path,argX,argY){
var FSO = new ActiveXObject("Scripting.FileSystemObject");
!!! FSO.FileExists(path) && alert("文件不存在");
var forAppending = 1;
var Txt = FSO.OpenTextFile(path);
var str = Txt.ReadAll();
Txt.close();
FSO = null;
document.getElementById('txt1').value = str;
str = str.replace(/(".*")/g,"$1,").replace(/=/g,":").replace(/[^\]]+(?=\[|$)/g, function(o){return o.replace(/$/g,"}")}).
replace(/\[(.*?)\]/g, ",\"$1\" : {").replace(/,[\s|\n|\r]*\}/g,"}").replace(/^,/g,"var Json = {")+"}";
document.getElementById('txt2').value = str;
eval(str);
return Json[argX][argY]
}
</script><input type="button" value="打开文件" onclick="alert(openText('test.ini','COM-A','ERR3'))">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<textarea id="txt1" style="width:300px;height:300px"></textarea>
<textarea id="txt2" style="width:300px;height:300px"></textarea><br><script type:text/javascript>var openText = (function(path){
var FSO = new ActiveXObject("Scripting.FileSystemObject");
!!! FSO.FileExists(path) && alert("文件不存在");
var forAppending = 1;
var Txt = FSO.OpenTextFile(path);
var str = Txt.ReadAll();
Txt.close();
FSO = null;
document.getElementById('txt1').value = str;
str = str.replace(/(".*")/g,"$1,").replace(/=/g,":").replace(/[^\]]+(?=\[|$)/g, function(o){return o.replace(/$/g,"}")}).
replace(/\[(.*?)\]/g, ",\"$1\" : {").replace(/,[\s|\n|\r]*\}/g,"}").replace(/^,/g,"var Json = {")+"}";
document.getElementById('txt2').value = str;
eval(str);
return function(argX,argY){
return Json[argX][argY]
}
})('test.ini')document.write(openText('COM-A','ERR2')+"</br>");
document.write(openText('COM_B','ERR2')+"</br>");
document.write(openText('COM_C','ERR2')+"</br>");
document.write(openText('COM_D','ERR2'));</script>
ERR1 = "aaaaaaaaaa"
ERR2 = "bbbbbbbbbb"
ERR3 = "cccccccccc"[COM_B]
ERR1 = "dddddddddd"
ERR2 = "eeeeeeeeee"
ERR3 = "ffffffffff"[COM_C]
ERR1 = "gggggggggg"
ERR2 = "hhhhhhhhhh"
ERR3 = "iiiiiiiiii"[COM_D]
ERR1 = "jjjjjjjjjj"
ERR2 = "kkkkkkkkkk"
ERR3 = "llllllllll"HTML:<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<textarea id="txt1" style="width:300px;height:300px"></textarea>
<textarea id="txt2" style="width:300px;height:300px"></textarea><br><script type=text/javascript>var openText = (function(path){
var FSO = new ActiveXObject("Scripting.FileSystemObject");
!!! FSO.FileExists(path) && alert("文件不存在");
var forAppending = 1;
var Txt = FSO.OpenTextFile(path);
var str = Txt.ReadAll();
Txt.close();
FSO = null;
document.getElementById('txt1').value = str;
str = str.replace(/\[(.+?)\]/g,"},\n \"$1\":{").replace(/([^\s]+)[\s*]=[\s*]([^\s]+)/g," \"$1\":$2,").replace(/(,[^,]*\})|(,[^,]*$)/g,"\n }").replace(/^\},/g,"var Json = {")+"\n}";
document.getElementById('txt2').value = str;
eval(str);
return function(argX,argY){
return Json[argX][argY]
}
})('test.ini');document.write(openText('COM-A','ERR2')+"</br>");
document.write(openText('COM_B','ERR2')+"</br>");
document.write(openText('COM_C','ERR2')+"</br>");
document.write(openText('COM_D','ERR2'));</script>