[英]How to restrict user from entering numbers or special characters in to text input field in react class components
im trying to restric user from entering numbers using regex in to my text type input.我试图限制用户在我的文本类型输入中使用正则表达式输入数字。 how can i achieve it,
我怎样才能实现它,
nameChangeHandler=(e)=>{
const userInput={...this.state.userInput};
const reg=/[0-9]/;
if(reg.test(e.currentTarget.value))
e.preventDefault();
userInput[e.currentTarget.name]=e.currentTarget.value
this.setState({
userInput
})
}
<input id="nameInput" type="text" name="username" value={username} onChange={this.nameChangeHandler} />
This is what i have tried doing这就是我尝试做的
The regex pattern to "not allow" for numbers (= check whether numbers are not in the string): /^([^0-9]*)$/
正则表达式模式“不允许”数字(= 检查数字是否不在字符串中):
/^([^0-9]*)$/
Example regex to additionally check for special characters ($ and %): /^([^0-9$%]*)$/
额外检查特殊字符($ 和 %)的示例正则表达式:
/^([^0-9$%]*)$/
Assuming your current handler works, this should prevent users from typing a number and % and $:假设您当前的处理程序有效,这应该会阻止用户输入数字和 % 和 $:
nameChangeHandler=(e)=>{
const reg=/^([^0-9$%]*)$/;
if (reg.test(e.currentTarget.value)) {
this.setState({ ...this.state.userInput, username: e.currentTarget.value })
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.