一个简单的用javascript实现的页面内容过滤显示小程序源码
2007-01-09 13:28
981 查看
一个简单的使用javascript实现的,根据用具输入,动态过滤页面显示内容的小程序。使用了正则表达式匹配用户输入,忽略前后空格,忽略大小写,兼容IE6.0和Firefox2.0。
前阵子没事的时候做着玩得,当时只在IE下实现,今天修改了一下,兼容firefox,还费了一番功夫。没办法,现在做的项目只要求IE,结果就对兼容性的东西了解的不是很多,看来以后还要努力啊。哈哈。
下面是完整的代码:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>textFilter</title>
<script type="text/javascript">
var folderE = null;
var filterE = null;
var iniVars = null;
function init(){
folderE = document.getElementById("folder");
filterE = document.getElementById("filter");
getIniVars();
}
//使用正则表达式来匹配,忽略前后空格,忽略大小写,兼容IE6.0和Firefox2.0
function filter(){
var filterValue = trim(filterE.value);
var folderLength = folderE.childNodes.length;
var pattern = new RegExp("^"+filterValue,"i");
for (var i = 0;i < folderLength;i++) {
folderE.removeChild(folderE.childNodes[folderLength-1-i]);
}
for (var i = 0;i<iniVars.length;i++) {
if (pattern.test(trim(iniVars[i]))) {
var aLi = document.createElement("LI");
//innerText只有IE支持,所以这里用
aLi.innerHTML = trim(iniVars[i]);
folderE.appendChild(aLi);
}
}
}
function getIniVars(){
iniVars = new Array();
var j = 0;
for (var i = 0;i<folderE.childNodes.length;i++) {
if (folderE.childNodes[i].childNodes[0] != null) {
iniVars[j] = folderE.childNodes[i].childNodes[0].nodeValue;
j++;
}
}
}
function trim(x){
return x.replace(/(^/s*)|(/s*$)/g, "");
}
</script>
</head>
<body onLoad="init()">
<div style="width:200px;float:left;">implement js filter function</div>
<div style="float:left;width:100px;">
<input type="text" name="filter" onKeyUp="filter()" id="filter" />
</div>
<div style="clear:both;"></div>
<ul id="folder">
<li>aaa</li>
<li>bbb</li>
<li>ccc</li>
<li>ab</li>
<li>bc</li>
<li>ca</li>
<li>ac</li>
<li>ba</li>
<li>cb</li>
</ul>
</body>
</html>
前阵子没事的时候做着玩得,当时只在IE下实现,今天修改了一下,兼容firefox,还费了一番功夫。没办法,现在做的项目只要求IE,结果就对兼容性的东西了解的不是很多,看来以后还要努力啊。哈哈。
下面是完整的代码:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>textFilter</title>
<script type="text/javascript">
var folderE = null;
var filterE = null;
var iniVars = null;
function init(){
folderE = document.getElementById("folder");
filterE = document.getElementById("filter");
getIniVars();
}
//使用正则表达式来匹配,忽略前后空格,忽略大小写,兼容IE6.0和Firefox2.0
function filter(){
var filterValue = trim(filterE.value);
var folderLength = folderE.childNodes.length;
var pattern = new RegExp("^"+filterValue,"i");
for (var i = 0;i < folderLength;i++) {
folderE.removeChild(folderE.childNodes[folderLength-1-i]);
}
for (var i = 0;i<iniVars.length;i++) {
if (pattern.test(trim(iniVars[i]))) {
var aLi = document.createElement("LI");
//innerText只有IE支持,所以这里用
aLi.innerHTML = trim(iniVars[i]);
folderE.appendChild(aLi);
}
}
}
function getIniVars(){
iniVars = new Array();
var j = 0;
for (var i = 0;i<folderE.childNodes.length;i++) {
if (folderE.childNodes[i].childNodes[0] != null) {
iniVars[j] = folderE.childNodes[i].childNodes[0].nodeValue;
j++;
}
}
}
function trim(x){
return x.replace(/(^/s*)|(/s*$)/g, "");
}
</script>
</head>
<body onLoad="init()">
<div style="width:200px;float:left;">implement js filter function</div>
<div style="float:left;width:100px;">
<input type="text" name="filter" onKeyUp="filter()" id="filter" />
</div>
<div style="clear:both;"></div>
<ul id="folder">
<li>aaa</li>
<li>bbb</li>
<li>ccc</li>
<li>ab</li>
<li>bc</li>
<li>ca</li>
<li>ac</li>
<li>ba</li>
<li>cb</li>
</ul>
</body>
</html>
相关文章推荐
- 一个简单的用javascript实现的页面内容过滤显示小程序源码
- 一个显示地图数据,并实现简单浏览查询程序源码(SDK编写)
- 网页设计,本页面内左侧菜单导航右侧显示内容简单实现方法
- js+php简单实现下载页面中当前显示的表格内容
- JAVA SPRING MVC 实现一个简单的页面显示功能
- 实现一个简单的菜单程序,运行时显示"Menu:A(dd) D(elete) S(ort) Q(uit),Select one: "提示用户输入。输入A、D、S时分别提示"数据已经增加、删除、排序"
- Linux下之使用简单3种创建文件的命令,并实现一个Html和JavaScript小程序
- Html5 Canvas+Javascript实现一个简单画图程序(一)
- 实现一个简单的反向NAT并引申一个web请求内容过滤
- 利用JavaScript在JSP页面上显示一个钟表,简单。
- 实现一个简单的反向NAT并引申一个web请求内容过滤
- Html5 Canvas+Javascript实现一个简单画图程序(三)
- 编写一个jsp程序,实现用户登录,当用户输入的用户或密码错误时,将页面重定向到错误提示页,并在该页面显示30秒后 自动回到用户登录界面
- JavaScript实现页面实时显示当前时间的简单实例
- Javascript实现一个简单的页面倒计时功能
- 用javascript实现的一个简单抽奖小程序
- 写一个简单的程序实现把txt文件里面有规则的内容全部添加到数据库中
- javascript实现一个html提交的表单数据放到另一个html页面显示
- JavaScript实现页面实时显示当前时间的简单实例
- Html5 Canvas+Javascript实现一个简单画图程序(二)