验证html语法使用javascript/jquery

qhhrdooz  于 2023-01-11  发布在  Java
关注(0)|答案(3)|浏览(99)

我如何使用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);
      }

   }

但是上面的代码没有验证和纠正子元素标记/或元素的开始标记(如果没有)。

vuv7lop3

vuv7lop31#

没有现成的解决方案可以用JavaScript验证(或解析)HTML,您也不能为此滥用DOM。
您可能会找到一些第三方库(如Dagriel答案中的库)或自己编写解析器/验证器。

utugiqy6

utugiqy62#

可以使用DOMParser()验证字符串是否包含有效的html语法
示例如下:https://tonylea.com/checking-for-valid-html-strings-in-javascript

k97glaaz

k97glaaz3#

请看:
https://github.com/peterjwest/html_validator
该项目的目标是:

  • 允许任何浏览器上的任何人都能够使用bookmarklet或浏览器扩展验证HTML
  • 要支持主要文档类型:HTML 4.01、XHTML 1.0以及最终的HTML 5
  • 提供W3CHTML规范的简明英语版本

相关问题