【发布时间】:2011-03-24 16:40:06
【问题描述】:
如何执行 jquery 验证以检查 textarea 是否不包含 html 标签? (如果有错误)
(顺便说一句,我正在阻止 html 在服务器上通过)
【问题讨论】:
标签: javascript jquery validation
如何执行 jquery 验证以检查 textarea 是否不包含 html 标签? (如果有错误)
(顺便说一句,我正在阻止 html 在服务器上通过)
【问题讨论】:
标签: javascript jquery validation
您可以使用 John Resig 的 HTML 解析器 (http://bit.ly/hsMq4x),或者可能是一个更简单的解决方案,它只查找开始标签。
$('textarea').each(function() {
if ($(this).val().match(/<(\w+)((?:\s+\w+(?:\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|[^>\s]+))?)*)\s*(\/?)>/)) {
alert('html found');
}
});
Neal 的解决方案在包含有效 jquery 选择器的 textarea 上存在误报,例如仅包含“a”的 textarea。
【讨论】:
var text = $(this).val();。
试试这个尺寸:
$('textarea').each(function(){
var text = $(this).text();
if($(text).length > 0){
console.log('contains html elements')
}
else {
console.log('no html elements')
}
});
小提琴是here
【讨论】: