如何写if条件的数字必须在9到11位之间



我是新手。我希望用户将账号设置在9到11之间不大于11位或不小于9位。那么该怎么做呢

这是我的代码

validateInputs = () => {
if (!this.state.accountNo.trim()) {
this.setState({ accountError: 'Please enter account no' })
return;
}
else {
Alert.alert("All fields validated")
return;
}
}

您可以根据正则表达式模式^d{9,11}$:

验证帐号。
validateInputs = () => {
if (!this.state.accountNo.trim()) {
this.setState({ accountError: 'Please enter account no' })
return;
}
if (!/^d{9,11}$/.test(this.state.accountNo)) {
this.setState({ accountError: 'Account no must be 9 to 11 digits' })
return;
}
Alert.alert("All fields validated")
}

旁注:通常最佳实践是通知外部用户他们的身份验证尝试失败的原因。泄露这些信息可能会导致安全漏洞。

所以你可以找出一行中的位数replace(/D+/g, ").length

validateInputs = () => {
if (!this.state.accountNo.trim()) {
this.setState({ accountError: 'Please enter account no' })
return;
}
else if ((this.state.accountNo.trim().replace(/D+/g,'').length>11)
|| (this.state.accountNo.trim().replace(/D+/g,'').length<9)) {
this.setState({ accountError: 'Account  must be contains from 9 to 11 digits' })
return;
}
else {
Alert.alert("All fields validated")
return;
}
}

最新更新