Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 验证不应包含具有相同id属性的标记的HTML文档_Javascript_Jquery_Html - Fatal编程技术网

Javascript 验证不应包含具有相同id属性的标记的HTML文档

Javascript 验证不应包含具有相同id属性的标记的HTML文档,javascript,jquery,html,Javascript,Jquery,Html,我的表单有一个textarea和一个提交按钮。textarea用于输入HTML代码,我想使用JavaScript(JQuery)用正则表达式验证输入。如果多个html标记具有相同的id值,则整个源代码将打印在页面上,并标记为红色。您可以使用以下代码段: “…用正则表达式验证输入…”这是一个红色标志。您无法用正则表达式可靠地解析/验证HTML。您可以进行向下投票,但事实上,这是一个很难解决的问题。请将字符串转换为dom片段,并在每个节点中循环查找id。当您找到一个id时,使用$(“[id=“+t

我的表单有一个
textarea
和一个提交按钮。textarea用于输入HTML代码,我想使用JavaScript(JQuery)用正则表达式验证输入。如果多个html标记具有相同的
id
值,则整个源代码将打印在页面上,并标记为红色。

您可以使用以下代码段:


“…用正则表达式验证输入…”这是一个红色标志。您无法用正则表达式可靠地解析/验证HTML。您可以进行向下投票,但事实上,这是一个很难解决的问题。请将字符串转换为dom片段,并在每个节点中循环查找id。当您找到一个id时,使用
$(“[id=“+theid+”])搜索片段中类似的id。length
。但是请注意,无效的html嵌套将导致每个浏览器的片段不同。为什么所有的否决票?我认为这是一个有效的问题,特别是如果你考虑一下regexp的建议,我真的很想看看这段代码
var isValid = true;
$('[id]').each(function() {
    if ($('[id="'+this.id+'"]').length > 1) {
        isValid = false;
        return false;
    }
});

alert(isValid);​