我在一个简单的网站上有一个文本区域,我想检查特定的文本。我想检查的文本是html标签。当我将标签放在彼此旁边时,它可以工作。我想确保文本区域有标签,但有任意数量的空格或中断。提前谢谢!
这是我的完整代码:
<!DOCTYPE html>
<html>
<head>
<script language="JavaScript" type="text/javascript">
<!--
function checkform ( form )
{
// see http://www.thesitewizard.com/archive/validation.shtml
// for an explanation of this script and how to use it on your
// own website
// ** START **
if (form.email.value == "<html><head></head><body></body></html>") {
var node = document.getElementById("grr");
node.innerHTML = "<p>" + "Correct!" + "</p>";
form.email.focus();
return false ;
}
// ** END **
return true ;
}
//-->
</script>
</head>
<body>
<form action="#" method="post" onsubmit="return checkform(this);">
<textarea id="email" type="text" rows="5" columns="5"></textarea>
<input type="submit" value="submit">
</form>
<p id="p1">Hello World!</p>
<script>
document.getElementById("p1").innerHTML="New text!";
</script>
<div id="grr">Text</div>
</body>
</html>
答案 0 :(得分:0)
没有很多好方法可以做到这一点。通常,您应该在浏览器中解析HTML并返回HTML字符串,因为这样可以解决大部分问题,但您无法真正插入包含<html>
,<head>
标记和所有内容的整个文档进入另一个元素,所以你可能会留下一个正则表达式解决方案,就像这样
function checkform(form) {
var div = document.createElement('div'),
email = document.getElementById('email');
if (email.value.replace(/\>\s+\</g, '><').trim() == "<html><head></head><body></body></html>") {
var node = document.getElementById("grr");
node.innerHTML = "<p>" + "Correct!" + "</p>";
email.focus();
return false;
}
return true;
}