大雀软件园

首页 软件下载 安卓市场 苹果市场 电脑游戏 安卓游戏 文章资讯 驱动下载
技术开发 网页设计 图形图象 数据库 网络媒体 网络安全 站长CLUB 操作系统 媒体动画 安卓相关
当前位置: 首页 -> 网页设计 -> HTML/CSS -> HTML 标签是否匹配检测代码

HTML 标签是否匹配检测代码

时间: 2021-07-31 作者:daque

运转代码框:<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、有的标签是不需配对的,如<img>,代码智能确定为配合的。<br>3、暂时还不扶助标签后加属性<br><br><input type="button" value="start" onclick="chk()"></body></html> [ctrl+a 十足采用 提醒:你可先窜改局部代码,再按运转]

热门阅览

最新排行

Copyright © 2019-2021 大雀软件园(www.daque.cn) All Rights Reserved.