• 网络学院
  • IT资讯
  • 操作系统
  • 网络技术
  • 软件应用
  • 办公软件
  • 编程技术
  • 网站架设
  • 数据库类
  • 平面设计
  • 多媒体类
  • 游戏资讯
  • 教学论文
  • 认证考试
HTML标签是否匹配检测代码
  站点:
  • 首 页
  • 最新软件
  • 文章教程
  • 国内软件
  • 国外软件
  • 绿色软件
  • 源码下载
  • 字体下载
HTML标签是否匹配检测代码
软件发布 HTML标签是否匹配检测代码
网络软件 系统工具 应用软件 联络聊天 图形图像 多媒体类 行业软件 游戏娱乐 编程开发 安全相关 教育教学 数码软件 绿软下载
热门软件: QQ 瑞星 pplive e话通 木马克星 千千静听 office2000 五笔字根 Photoshop 视频分割
返回文章教程首页 >> 文章首页 >> 网站架设 >> HTML/CSS >> HTML标签是否匹配检测代码

HTML标签是否匹配检测代码

添加时间: 2005-6-9 4:53:43  作者: 网络收集  阅读次数:61   来源: http://d9soft.com

       

<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>

 

上下文章:

 

上一篇文章: CSS轻松实现色块标题标识 下一篇文章: 将HTML自动转为JS代码

相关文章:

  • 如果互联网没有引擎,站长们是否还那么多怨声怨气?
  • QQ空间免费代码:08年06.28经测试,全部有效
  • ORACLE常见错误代码的分析及解决(1)
  • 如何确认数据库是否处在一个安全平台上
  • ORACLE常见错误代码的分析与解决

相关软件:

  • MPS HTMLGate V12.2.1B
  • 小颖JAVA源代码反编译超级引挚 V1.4 标准版
  • ExcelEverywhere for HTML V3.4.0
  • Html Guard V2.2 汉化版
  • Text2HTML V2.0 汉化补丁
  • Text2HTML Converter V1.0.8

 

快速导航

  • 网络学院
  • 精品汇聚
  • 字体下载
  • 教程下载
  • ASP源码
  • PHP源码
  • Net源码
  • JSP 源码

网站架设分类导航

  • DreamWeaver
  • HTML/CSS
  • Flash
  • Firework
  • FrontPage
  • 建站指南

本类经典文章推荐

  • 总结:CSS在IE与Firefox下的兼容性
  • 经典:CSS应用常见问题大总结
  • 网站设计的标准时代
  • 用层模拟下拉列表框
  • 苏沈小雨样式表中文手册系列
  • 用CSS控制网页总体风格
  • WEB界面设计五种特征
  • 深入透析样式表滤镜(上)
  • HTML的基本元素
  • 网页中多层效果的灵活使用

HTML/CSS阅读排行

  • 用层模拟下拉列表框
  • 突破网页文字无法复制局限
  • 流程图软件Visio作“高难度”网页
  • 苏沈小雨样式表中文手册系列
  • WEB界面设计五种特征
  • 用CSS控制网页总体风格
  • 图片模糊转清晰
  • 制作精美圆角表格两种方法
  • 网页制作小工具大全(下)
  • 网页制作小工具大全(中)

网站架设阅读总排行

  • 用层模拟下拉列表框
  • 教你如何用Dreamweaver制作电子相...
  • 用Dreamweaver插件制作动态下拉菜...
  • 突破网页文字无法复制局限
  • 如何设计首页???(解答)
  • Dreamweaver基础技巧-布局阶段
  • 动态QQ表情DIY Fireworks轻松搞定
  • 流程图软件Visio作“高难度”网页
  • 网页制作隐藏对象巧利用
  • 站点-网页布局设计基础

广告位置

字母检索 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 回到顶部

关于我们 | 版权声明 | 免责条款 | 广告联系 | 软件发布 | 下载帮助 | 下载排行 | 网站地图 | 特别鸣谢 | 友情连接

copyright; 2005-2008 D9soft.com 第九软件网 版权所有