如何在输入字段中只允许英文字母?

4 html javascript forms validation reactjs

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

<input type={type} name={name} />
Run Code Online (Sandbox Code Playgroud)

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

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

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

我假设onChange()事件应被用于该用的组合setState()event.target.value

谢谢。

附注。我需要在打字时使用这个。

boz*_*doz 10

我会试试这个onChange功能:

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

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

  this.setState({
    value,
  })
}}
Run Code Online (Sandbox Code Playgroud)

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

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


小智 7

您可以在输入中使用模式属性。

    <input pattern = “[A-Za-z]”>
Run Code Online (Sandbox Code Playgroud)