【问题标题】:Disallow input if it matches predefined values如果输入与预定义的值匹配,则禁止输入
【发布时间】:2020-10-01 03:12:13
【问题描述】:

我想禁止某些输入到 html 输入字段。

Manually type in a value in a "Select" / Drop-down HTML list? 这个问题涵盖了如何在让用户输入的同时推荐值。

如果某些值与我的预定义值之一匹配,我想让用户键入并将其“列入黑名单”并显示警告。

实现这一目标的最简单方法是什么?

【问题讨论】:

  • 在每次按键更改时,您需要检查当前文本是否与某个单词匹配,如果匹配,则删除该单词并在下方显示警告?这是完全可行的,向我们展示您的尝试以及您面临的确切问题。

标签: javascript html


【解决方案1】:

您也可以使用正则表达式。只有文本不包含 foo 时才能提交表单。

<form action="#">
  <input type="text" name="xx" pattern="^((?!foo).)*$"><br />
  <input type="submit">
</form>

【讨论】:

    【解决方案2】:

    function myFunction(e) {
      const val = e.value;
      const blacklist = ["12345678", "qwerty"];
      if (blacklist.indexOf(val) >= 0) alert("Blacklist");
    }
    <p>A function is triggered when the user releases a key in the input field.</p>
    Enter your name: <input type="text" id="fname" onkeyup="myFunction(this)">

    您需要使用keyup 事件并提供黑名单。你可以用val 做任何你想做的事情,你可以检查它是否是黑名单值之一(上面的例子)或者它是否匹配一个正则表达式。

    【讨论】:

      猜你喜欢
      • 2018-02-21
      • 1970-01-01
      • 2023-04-08
      • 1970-01-01
      • 2019-05-01
      • 2017-12-04
      • 2021-04-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多