首页 > 解决方案 > 如何在输入字段中只允许英文字母?

问题描述

所以,这是我的输入字段:

<input type={type} name={name} />

我怎样才能只允许英文字母?

这是RegEx,我相信我应该使用:/[A-Za-z]/ig

https://regex101.com/r/upWFNy/1

我假设onChange()事件应该与 和 的组合一起setState()使用event.target.value

谢谢。

PS。我需要在打字时进行此操作。

标签: javascripthtmlreactjsformsvalidation

解决方案


我会尝试这个onChange功能:

onChange={(e) => {
  let value = e.target.value

  value = value.replace(/[^A-Za-z]/ig, '')

  this.setState({
    value,
  })
}}

查看代码笔: https ://codepen.io/bozdoz/pen/vzJgQB

这个想法是用反转你的正则表达式匹配器^并将所有-Az 字符替换为''


推荐阅读