把历史数据直接显示在页面上
代码中34,34 行 的 s 变成了ss
55,58行的a 变成了 aa 不知道是不是bug
代码中34,34 行 的 s 变成了ss
55,58行的a 变成了 aa 不知道是不是bug
<html>
<head>
<script type="text/javascript">
var xmlHttp;
//创建XMLHttpRequest对象。
function createXMLHttpRequest() {
if (window.ActiveXObject) {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else if (window.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest();
}
}
function startRequest(year) {
createXMLHttpRequest();
xmlHttp.onreadystatechange = handleStateChange;
xmlHttp.open("GET", "http://map.zhcw.com/ssq/ssq/changgui_asc.jsp?size=" + year, true);//
xmlHttp.send(null);//发送该请求
}
//处理请求
function handleStateChange() {
if(xmlHttp.readyState == 4) {
if(xmlHttp.status == 200) {
var s = xmlHttp.responseText;
// 去掉之前没有用的
s = s.substring(s.indexOf("/ssq/ssq/changgui.jsp?size="));
s = s.replace(/\s/g,"");
// 显示到页面
document.getElementById("dataDiv").innerHTML=parse(s);
}
}
}
function parse(s) {
// 匹配数据 ">数字< " 或 "> < " 或 "> 数字 < " 或 ">数字:数字<"
var reg = new RegExp(">((( )*[0-9]+( )*)|( )|([0-9]+([:][0-9]+)+))<","g");
var r = s.match(reg);
var sb = "";
for(var i = 0; i< r.length;i++) {
// 去掉><
var a = r[i].substring(1,r[i].length - 1);
// 解决蓝球号 13 的情况 即去掉13前面的
if(a.indexOf("nbsp") > 0 && a.length > 6) {
a = a.substring(6);
}
a = a.replace(/ /g, "--");
sb +=a;
sb +="|";
// 每行有19个数据
if (i != 0 && (i + 1) % 19 == 0) {
sb +="<br>";
}
}
return sb;
}
</script>
</head>
<body>
<a href="javascript:startRequest(2003);">2003</a>
<br/>
<a href="javascript:startRequest(2004);">2004</a>
<br/>
<a href="javascript:startRequest(2005);">2005</a>
<br/>
<a href="javascript:startRequest(2006);">2006</a>
<br/>
<a href="javascript:startRequest(2007);">2007</a>
<br/>
<a href="javascript:startRequest(2008);">2008</a>
<br/>
<a href="javascript:startRequest(2009);">2009</a>
<br/>
<div id="dataDiv"></div>
</body>
</html>