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 (<input
value={this.state.value}
onChange={this.onChange}
/>);
}
}
https://codepen.io/anon/pen/QVMgrd