为了账号安全,请及时绑定邮箱和手机立即绑定

将 HTML 输入限制为特定字符类型

将 HTML 输入限制为特定字符类型

月关宝盒 2023-07-14 15:11:07
我有一个输入,我想将输入限制为仅字母(AZ 或 az)。仅使用HTML输入元素中的属性,是否可以限制实际输入?以下是更多详细信息:<!-- Code snippet I have now --><input type="text" pattern="[A-Za-z]">使用该pattern属性,只会让用户知道他们是否未满足模式标准,对吧?它实际上不会阻止他们输入 5 吗?仅使用 HTML 是否可以阻止用户输入数字(或者更具体地说,只允许他们输入 az)?如果不可能,您将如何使用 JavaScript 来做到这一点?我看到他们在某个地方有一个onkeypress="someFunction()",他们检查输入字符是否是数字,如果是数字,那么他们会以某种方式阻止它......这是做这种事情的最好方法吗?HTML:<!-- Something like that? --><input type="text" onkeypress="someFunction()">JavaScript:function someFunction() {    if (event.key < "A" || event.key > "z") {        // what would I do here?    }}
查看完整描述

4 回答

?
潇潇雨雨

TA贡献1833条经验 获得超4个赞

function onlyAlphabet(inputVal) {

  var patt=/^[a-zA-Z]+$/;

  if (patt.test(inputVal)) {

    document.getElementById('text').value = inputVal;

  } else {

    var txt = inputVal.slice(0, -1);

    document.getElementById('text').value = txt;

  }


}

<input id="text" type="text" oninput="onlyAlphabet(value)">


查看完整回答
反对 回复 2023-07-14
?
临摹微笑

TA贡献1982条经验 获得超2个赞

另一种方法是使用 keydown 事件(不推荐使用 keypress)。


function inputPattern(e) {

  var test = e.key.search(/[a-zA-Z]/);

  if(test < 0) e.preventDefault();

}

<input type="text" onkeydown='inputPattern(event)'>


查看完整回答
反对 回复 2023-07-14
?
泛舟湖上清波郎朗

TA贡献1818条经验 获得超3个赞

另一种方法是使用 keydown 事件(不推荐使用 keypress)。


function inputPattern(e) {

  var test = e.key.search(/[a-zA-Z]/);

  if(test < 0) e.preventDefault();

}

<input type="text" onkeydown='inputPattern(event)'>


查看完整回答
反对 回复 2023-07-14
?
千巷猫影

TA贡献1829条经验 获得超7个赞

我不知道如何检查是否按下了某个键,但如果它只是一个输入,那么您可以这样做吗?

<input type="text" pattern="[A-Za-z]" onkeypress="someFunction()">


查看完整回答
反对 回复 2023-07-14
  • 4 回答
  • 0 关注
  • 133 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信