2012-12-03 51 views
-4

我的表单有一个textarea和一个提交按钮。 textarea用于输入HTML代码,我想用JavaScript(JQuery)来用正则表达式验证输入。如果多个html标记具有相同的id值,则整个数据源将打印在页面上,标记为红色的违规标记。验证不应包含具有相同id属性的标签的HTML文档

+2

* “......验证输入与正则表达式...” *这是一个红旗在那里。您无法使用正则表达式可靠地解析/验证HTML。 –

+1

你可以downvote,但事实上,它的一个interresting问题只是非常制定 –

+1

将字符串转换为dom片段,并通过每个节点寻找id的循环。当你找到一个id时,使用'$(“[id =”+ theid +“]”)。length'在片段中搜索相似的id。但是请注意,无效的html嵌套会导致每个浏览器的片段变化。 –

回答

2

你可以使用这个片段:

See DEMO

var isValid = true; 
$('[id]').each(function() { 
    if ($('[id="'+this.id+'"]').length > 1) { 
     isValid = false; 
     return false; 
    } 
}); 

alert(isValid);​ 
+0

谢谢,谢谢:) –

相关问题