var reg=window.eval(strReg);
if(reg.test(tr.cells[nType].innerHTML))//第二次判断
alert("true");
else
alert("false");}
第二次判断判断前编译下
参考下面第3个 后面有解释
http://community.csdn.net/Expert/TopicView3.asp?id=5422907
if(reg.test(tr.cells[nType].innerHTML))//第二次判断
alert("true");
else
alert("false");}
第二次判断判断前编译下
参考下面第3个 后面有解释
http://community.csdn.net/Expert/TopicView3.asp?id=5422907
类似于全局变量,第一次执行完,有个lastIndex,这样继续从lastIndex执行下去,结果为false
然后lastIndex=0,继续开始
var bbb=/[a]{2,}/gi
alert(bbb.test("aabbcc"))
alert(bbb.lastIndex)
//var bbb=/[a-z\u4e00-\u9fa5]{2,}/gi
alert(bbb.test("中中aa中中"))
alert(bbb.lastIndex)
//var bbb=/[a-z\u4e00-\u9fa5]{2,}/gi
alert(bbb.test("aaa中daa"))
alert(bbb.lastIndex)解决办法也找到了可以像mingxuan3000(铭轩)那样重新编译也可以直接设置lastIndex=0但我不知道这两种办法哪个效率高一些,而且其他浏览器是否允许.我在ie和firefox下测试没问题,经过修改后的程序运行符合预期.谢谢楼上各位的参与,明天早上结帖,放一会看看能不能起到抛砖引玉的效果得到更多大虾的指点,哈哈修改后的代码:
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
</head>
<body>
<center>
<script type="text/javascript">function Search(Tbl,TextValue)
{
var count=0;
var nType=GetType();
var keyWord=TextValue.value;
var strReg="/^"+keyWord+".*?$/gi"
var reg=window.eval(strReg);
var tr;
if(keyWord!=""){
for(var i=0;i<Tbl.rows.length;i++){
tr=Tbl.rows[i];
reg.lastIndex=0;
if(reg.test(tr.cells[nType].innerHTML)){
tr.style.display="block";
count++;
}
else{
tr.style.display="none";
}
}
}
if(count==0){
alert('找不到你要的记录!');
ListAll(Tbl);
}
}function ListAll(Tbl){
for(var i=0;i<Tbl.rows.length;i++){
Tbl.rows[i].style.display="block";
}
}function GetType(){
var oInputs=document.getElementsByTagName("input");
for(var i=0;i<oInputs.length;i++)
if(oInputs[i].type=='radio' && oInputs[i].checked)
return oInputs[i].value;
}
</script><input id="ttt" type="text" style="width:200" >
<input type="button" value="查找" onClick="Search(Tbl1,ttt)" >
<input type="button" value="返回" onClick="ListAll(Tbl1)">
<input name="paytype" type="radio" value="0" checked >
文字
<input type="radio" name="paytype" value="1" >
数字
<input type="radio" name="paytype" value="2" >
日期
<br>
<table width="500" id="Tbl1" border="1">
<tr><td>aaa</td><td>12</td><td>1988</td></tr>
<tr><td>呵呵</td><td>56</td><td>1911</td></tr>
<tr><td>ccc</td><td>55</td><td>1920</td></tr>
<tr><td>ddd</td>
<td>12a</td><td>1953</td></tr>
<tr><td>呵呵</td><td>55</td><td>1877</td></tr>
<tr><td>ddeed</td>
<td>12345</td><td>1983</td></tr>
<tr><td>ddafd</td><td>58</td><td>1988</td></tr>
</table>
</center>
</body>
</html>