So, this is my input field:
<input type={type} name={name} />
How can I allow only English letters?
This is the RegEx
, I believe I should use: /[A-Za-z]/ig
https://regex101.com/r/upWFNy/1
I am assuming that onChange()
event should be used for this with the combination of setState()
and event.target.value
.
Thanks.
PS. I need to have this WHILE typing.
Advertisement
Answer
I would try this onChange
function:
onChange={(e) => { let value = e.target.value value = value.replace(/[^A-Za-z]/ig, '') this.setState({ value, }) }}
See the codepen: https://codepen.io/bozdoz/pen/vzJgQB
The idea is to reverse your regex matcher with ^
and replace all non-A-z characters with ''