防止用户使用 JS/jQuery 在输入中键入多个字符

0 javascript jquery

我正在尝试编写一个函数,阻止用户在输入中键入多个字符。基本上,每次用户按下任意键时,该函数都会检查输入值的长度,如果大于 1,则将输入值设置为键入单词的第一个字符。这段代码能工作吗?如果不能,它应该是什么样子?(正如我在标题中提到的,我也在使用 jQuery):

function keepOneLetter(){
 $("input[type='text']").keypress(function(event){
    if($("input[type='text']").val().length > 1){
        $(input[type='text']).val() = $(input[type='text']).val($(this).val()[0])
    }
}) }
Run Code Online (Sandbox Code Playgroud)

更新

已提议将其作为的副本。嗯,可能是这样,因为:

  1. 当我在搜索栏输入标题(防止用户使用 JS/jQuery 在输入中输入多个字符)时,没有弹出任何结果,因为我提到了 JavaScript 和 jQuery,而第一个问题根本没有提到。
  2. 说到 JS/jQuery,如果你比较标签,你会注意到,我使用了javascriptjquery标签,而另一个问题有 htmlformsinputtextbox,所以如果你正在寻找有关的帖子,让我们说javascript,你找不到原来的帖子
  3. 最终,我坚持使用 HTML 解决方案,因为它根本不需要 JS,而且比我自己编写整个函数要快得多。好吧,有一个答案,其中有人按照我最初想要的方式编写了函数,并且它也有效,但可能是由于选择了 html 解决方案,Stack Overflow 认为,我刚刚查看了前面提到的问题,作为考虑的最佳解决方案上述问题的作者与我的问题的最佳解决方案非常相似。
  4. 使用 HTML 是可选的,这取决于您,无论您是坚持使用纯 JavaScript、jQuery 等库还是仅使用 HTML。正如我所说,我使用 HTML,因为它更快。但我也可以使用函数。

mbu*_*ann 5

关于什么maxlength

<input type="text" name="letter" maxlength="1">
Run Code Online (Sandbox Code Playgroud)

这不是 javascript,但代码更少,效果更好。