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

新手上路,请多包涵

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

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

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

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

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

我假设 onChange() 事件应该与 setState()event.target.value 结合使用。

谢谢。

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

原文由 user8608046 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 366
2 个回答

我会试试这个 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字符

原文由 bozdoz 发布,翻译遵循 CC BY-SA 4.0 许可协议

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

     <input pattern = “[A-Za-z]”>

原文由 Kevin Lewis 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题