网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网页制作 > 网页特效
网页制作:Dreamweaver教程,FrontPages教程,Javascript教程,HTML教程,CSS教程,心得技巧,DHTML教程,网页特效,Discuz!论坛
本月文章推荐
.随机信息显示特效代码.
.Showdate函数来显示各种英文日期.
.标题栏里多段标题文字动态替换显.
.全屏按钮.
.限制表单输入的代码,有个进度条.
.很棒的火烧字效果的脚本.
.DIV CSS制作的符合标准的网页导航.
.用按钮实现加入收藏夹及主页.
.常见网页可上下移动的右侧广告特.
.用快捷键打开页面源代码或者是打.
.仿windows选项卡效果网页特效代码.
.下拉cool菜单.
.在输入框中可以确定哪些字符采用.
.背景颜色安全测试(鼠标动态改变背.
.一个按钮发信程序,只要一按它就.
.IE里各式各样的按钮.
.旋转变换文字(3D效果有点酷).
.很不错的文字展示,文字流水线动画.
.跟随鼠标顶部奇妙的海底生花.
.对彩票号码的选择进行一定的限制.

网页特效代码:检测 HTML 标签是否匹配

发表日期:2007-12-21


<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>
<BODY>
<SCRIPT LANGUAGE="javascript">
<!--
//去掉字串中的空格
function NoSpace(txt){
 return (txt.replace(/[\s]+/g,''))
}
//判断<aaa>与</aaa>是配对的html标签
function IsGood(txt1,txt2){
 var txt='<'+'/'+txt1.substr(1);
 return (txt==txt2)?1:0;
}
function chk(){
//s为模拟的html代码
//var s="d<html>fg<table>sdfg<img><tr>asdfg<td>6456</td>dfg</tr>dsfg</table>d</html>fg";
var s=NoSpace(oT.value).toLowerCase();
var arrMinus=new Array('<img>','<input>','<meta>','<hr>');
for (var i=0;i<arrMinus.length;i++){
 s=s.replace(arrMinus[i],'');
}
var arrElement=s.match(/<[/|A-Za-z]+>/ig);//取出所有的<....>格式的字串
var stack=new Array();
stack[0]='#';k=0;//定义一个顺序栈,栈底放入#,k为栈顶指针
for (var j=0;j<arrElement.length;j++){
 if (IsGood(stack[k],arrElement[j]))
  {k--;stack.length--;}//如果配对,栈顶元素出栈
 else
  {stack[++k]=arrElement[j];}//如果不配对,新标签入栈
 alert(stack[k]);//演示栈顶的内容
}

(stack[k]=="#")?(document.write("所有的标签匹配")):(document.write("有的标签不匹配"));
}
//-->
</SCRIPT>
<TEXTAREA NAME="oT" ROWS="10" COLS="90">
<HTML>
<META>
<HEAD>
<TITLE> New Document </TITLE>
</HEAD>
<BODY>
<img><input>
</BODY>
</HTML>
</TEXTAREA>
<BR><BR>
原理:建一个栈,每次碰到一个新标签,就与栈顶的标签配对,如果配对,栈顶的标签就出栈,如果不配对,这个新标签就进栈,最终,栈如果是空的,说明所有的标签都是配对的,如果栈不空,说明有不配对的地方<BR>
框中是模拟的html代码,你可以修改后,点下面的按钮,看是不是匹配。<BR>
弹出的对话框是演示栈顶的内容<BR>
特点:<BR>1、还不能判断<...>哪些是合法的html标签,可以在代码中直接输入合法标签,工作量太大。<BR>2、有的标签是不需配对的,如&ltimg&gt,代码智能判断为匹配的。<BR>3、目前还不支持标签后加属性
<BR><BR>
<INPUT TYPE="button" value="Start" onclick="chk()">
</BODY>
</HTML>

上一篇:仿照某网站制作的下拉菜单(效果不错的代码) 人气:1699
下一篇:网页中一块区域内容的隔行换色的网页特效代码 人气:777
浏览全部javascript的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐