使用 java 脚本验证 html 中的文本区域

Validate textarea in html with java script

本文关键字:文本 区域 html java 脚本 验证 使用      更新时间:2023-09-26

我试图阻止用户在文本区域中输入和提交单引号 ( ' )。 下面是我所拥有的,但它不是工作。

    <script>
    function valtxtarea() {
        var val = document.getElementById('textarea').value;
        if (''''.test(val)) {
            alert('do not add single qoutes to your inputs!');
        }
    }
</script>
<form>
    enter text below
    <textarea>input contents here</textarea>
    <input type="button" onclick="valtxtarea();" value="send">
</form>

您错过了id属性以及正则表达式无效

function valtxtarea() {
  var val = document.getElementById('textarea').value;
  if (/''/.test(val)) {
    alert('do not add single qoutes to your inputs!');
  }
}
<form>
  enter text below
  <textarea id="textarea"></textarea>
  <input type="button" onclick="valtxtarea();" value="send">
</form>

更好的是,为什么不阻止他们甚至输入它呢?

  <form>
  enter text below
  <textarea id='inputText' oninput="valtxtarea();"></textarea>
  <input type="button" value="send">
  </form>
  <script>
  var oldValue = "input contents here";
  document.getElementById('inputText').value = oldValue;
  function valtxtarea() {
    var textArea = document.getElementById('inputText');
    if (textArea.value.match(/.*''.*/g)) {
        textArea.value = oldValue;
    } else {
      oldValue = textArea.value;
    }
  }
  </script>

每次他们键入字符时都会对其进行检查,如果它包含 ',则将其设置回旧值。您可以轻松扩展它以包含您不想允许的其他字符。

var val = document.getElementById('textarea').value;

没有 ID 为 textarea 的 HTML 元素。

做这样的事情:

<textarea id="textarea">input contents here</textarea>

此外,如果存在验证错误,您可能希望阻止表单提交,因此return false;放在valtxtarea()if中,然后将return valtxtarea()放在onclick中。