首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用正则表达式将表单输入限制为特定字符?

如何使用正则表达式将表单输入限制为特定字符?
EN

Stack Overflow用户
提问于 2022-01-28 14:10:28
回答 3查看 50关注 0票数 1

我已经为用户做了一个只允许输入这些字符的正则表达式。例如,如果用户写“@”,它应该不允许这样做,但是在我的代码中,如果用户按了@,然后按下选项卡,'@‘仍然存在。

代码语言:javascript
复制
function onlyAlphabet(inputVal) {
  var patt = /^[a-zA-Z.123456789]+$/;
  
  if (patt.test(inputVal)) {
    document.getElementById('facebook').value = inputVal;
  } else {
    var txt = inputVal.slice(0, -1);
    document.getElementById('facebook').value = txt;
  }
}
代码语言:javascript
复制
<div class="form-group mb-3">
  <label for="exampleFormControlTextarea1" class="fw-bold my-1 fs-7" id="text-color1">Facebook</label>
  <input type="text" placeholder="Facebook" onkeypress="onlyAlphabet(value)" id="facebook" class="form-control" name="facebook" value="<?php echo $row['facebook'] ?>" style="padding-left: 0 !important; border: none; border-bottom: 1px solid #E8E8E8; border-radius: 0 !important;">
</div>

EN

回答 3

Stack Overflow用户

发布于 2022-01-28 14:34:46

您应该添加onchange="onlyAlphabet(value)"onblur="onlyAlphabet(value)",以确保在任何情况下都会调用它

票数 2
EN

Stack Overflow用户

发布于 2022-01-28 14:55:02

你可以用这三种方法中的任何一种-

    1. onChange="onlyAlphabet(value)" -当输入changes

的值

    1. onKeyUp="onlyAlphabet(value)" -或onKeyDown,当密钥为released/pressed

    1. onBlur="onlyAlphabet(value)" -当焦点离开input...

票数 1
EN

Stack Overflow用户

发布于 2022-01-28 14:45:21

必须设置oninput而不是onkeypress

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70895114

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档