我如何使用javascript/jquery验证一个html字符串,例如html字符串
<style type="text/css">
.nai {position:absolute;top:0px;right:0px;z-index:90000;
background-image:url("http://example.com/test.png");
background-repeat:no-repeat;width:19px;height:15px;}
.nai:hover {width: 77px;
background-image:url("http://example.com /test.png");}
</style>
<div style="width:160px;height:600px;position:absolute"></div>
我正在寻找基本的验证,如。是否开始/结束标记是正确的与否
我尝试使用jquery的fns,如下所示
var $str1 = $(str1); // html string into real html
var len = $str1.length;
// console.log($str1);
for(var i=0;i<len;i++){
if(typeof $($str1[i]).get(0).outerHTML!='undefined'){
final1+=unescapeHtml($($str1[i]).get(0).outerHTML);
}
}
但是上面的代码没有验证和纠正子元素标记/或元素的开始标记(如果没有)。
3条答案
按热度按时间vuv7lop31#
没有现成的解决方案可以用JavaScript验证(或解析)HTML,您也不能为此滥用DOM。
您可能会找到一些第三方库(如Dagriel答案中的库)或自己编写解析器/验证器。
utugiqy62#
可以使用DOMParser()验证字符串是否包含有效的html语法
示例如下:https://tonylea.com/checking-for-valid-html-strings-in-javascript
k97glaaz3#
请看:
https://github.com/peterjwest/html_validator
该项目的目标是: