如何自定义 textInput 以确保用户只能添加数字而不添加逗号、点或其他符号?
How to custom textInput to be sure user can add only numbers no comma, dot or other symbols?
我可以在 textInput 中添加什么以确保用户只能输入数字而不能输入逗号、点或其他符号?
<TextInput
onChangeText={text => setTextInputValue(text)}
value={textInputValue}
placeholder=" perso"
keyboardType="numeric"
style={styles.inputRE1}
/>
越简单越好:
1- 在您的 TextInput 上添加 (keypress)="numberOnly($event)" 事件。
2- 使用代码仅输入数字:
numberOnly(event): boolean {
const charCode = event.which ? event.which : event.keyCode;
if (charCode > 31 && (charCode < 48 || charCode > 57)) {
return false;
}
return true;
}
您可以在 onChangeText 上用正则表达式替换文本。
onChangeText={text => setTextInputValue(text.replace(/[^0-9]/g, ''))}
/[^0-9]/g
正则表达式将删除数字以外的所有字符。
我可以在 textInput 中添加什么以确保用户只能输入数字而不能输入逗号、点或其他符号?
<TextInput
onChangeText={text => setTextInputValue(text)}
value={textInputValue}
placeholder=" perso"
keyboardType="numeric"
style={styles.inputRE1}
/>
越简单越好: 1- 在您的 TextInput 上添加 (keypress)="numberOnly($event)" 事件。
2- 使用代码仅输入数字:
numberOnly(event): boolean {
const charCode = event.which ? event.which : event.keyCode;
if (charCode > 31 && (charCode < 48 || charCode > 57)) {
return false;
}
return true;
}
您可以在 onChangeText 上用正则表达式替换文本。
onChangeText={text => setTextInputValue(text.replace(/[^0-9]/g, ''))}
/[^0-9]/g
正则表达式将删除数字以外的所有字符。