How to allow only English letters in input fields?

前端 未结 4 1689
无人及你
无人及你 2021-01-14 17:30

So, this is my input field:


How can I allow only English letters?

This is the RegEx

4条回答
  •  北荒
    北荒 (楼主)
    2021-01-14 17:41

    This should do the trick, all characters except ascii 0-127 which are English characters should be excluded, o through 127 also gives you space, +, -, / and punctuation which is useful, if you want only letters then [^A-z] should do the trick, if you need non-space characters then [^A-z\s] should work:

    document.getElementById('english').addEventListener('input', function(){
      this.value = this.value.replace(/[^\x00-\x7F]+/ig, '');
    });
    

    React Way:

    class InputEnglish extends React.Component {
      constructor(){
        super();
        this.state = {value: ''};
        this.onChange = this.onChange.bind(this);
      }
      onChange(e) {
        let val = e.target.value.replace(/[^\x00-\x7F]/ig, '');
        this.setState(state => ({ value: val }));
      }
      render() {
        return ();
      }
    }
    

    https://codepen.io/anon/pen/QVMgrd

提交回复
热议问题