Cra*_*oiD 5 javascript regex reactjs react-native
我试图阻止我的 TextInput 获取诸如 之类的值$,%,^,&,(,) etc。基本上我的 TextInput 应该只允许字母。我的方法如下。但我仍然可以输入这些其他字符。如何防止 TextInput 中出现特殊字符
restrict(event) {
const regex = new RegExp("^[a-zA-Z]+$");
const key = String.fromCharCode(!event.charCode ? event.which : event.charCode);
if (!regex.test(key)) {
event.preventDefault();
return false;
}
}
<TextInput
underlineColorAndroid='transparent'
allowFontScaling={false}
style={styles.questionText}
onKeyPress={e => this.restrict(e)}
value={firstNameState}
/>
Run Code Online (Sandbox Code Playgroud)
小智 1
android 上的 onKeyPress 事件效果不太好。
这就是为什么我选择使用一种方法来消除这些字符,然后将其保存在任何您想要的地方,就像它可能会改变您的字段的状态一样。
restrict = text => text.replace(/[`~0-9!@#$%^&*()_|+\-=?;:'",.<>\{\}\[\]\\\/]/gi, '')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
21500 次 |
| 最近记录: |