如何显示特定范围的数字为真?
我想以20到30的间隔返回true,除了前三个字符后的21和28,请告诉我该怎么做?
const onHandleCorrectNumber = e => {
const numbers = e.target.value // +500(MYINTERVAL)-5555-55
phone.slice(0, 4)
if(numbers === 21 || numbers === 28) return false
return numbers.length === 2
}
UPD:
+500(19)-5555-55 // false
+500(20)-5555-55 // true
+500(21)-5555-55 // false
+500(22)-5555-55 // true
+500(28)-5555-55 // false
+500(30)-5555-55 // true
+500(31)-5555-55 // false
+500(32)-5555-55 // false
...
我假设您的所有电话号码都将采用相同的格式,即+ ddd(dd)-dddd-dd。 &您正在尝试将间隔与电话号码分开。
您可以搜索正则表达式,它会提供超级干净的解决方案。
或您使用javascript的substring()
函数。像这样的东西:
myInterval = phone.substring(5,7)
此外,您还需要添加更多条件来检查间隔是否在20-30之间。
if(myInterval >= 20 && myInterval <= 30 && myInterval != 21 && myInterval != 28)
应该做到这一点。