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