Javascript检查特定文本的textarea

时间:2014-02-04 19:59:06

标签: javascript html textarea

我在一个简单的网站上有一个文本区域,我想检查特定的文本。我想检查的文本是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>

1 个答案:

答案 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;
}

FIDDLE