【发布时间】:2021-12-20 02:36:54
【问题描述】:
我需要你的建议(我是 JS 的初学者)。这是我的代码:
function fn(pin) {
if (pin.length === 4 && !isNaN(pin) && pin % parseInt(pin) === 0 && Number(pin) > 0) {
return true;
}
return false
}
console.log(fn("123a.78")) // false
所以我检查了长度,它是一个数字,它是整数并且它大于 0。 但是我应该如何编写条件来消除这种类型的字符串:“12.0”(因为它的长度也为 4 并且也是整数)?如果我尝试使用 pin.parseFloat 或 parseInt 的条件,它也会影响这种类型的字符串“1234”。或者我写错了……
【问题讨论】:
-
使用正则表达式,例如
return /^\d{4}$/.test(pin);。真的不涉及数学。 -
感谢您的快速响应!看起来正则表达式可以在 JS 的许多情况下提供帮助。我还没有研究它们))。现在去学习了)
-
你只是在解析字符串后寻找一个四位整数吗?或者
0123应该有效吗? -
0123 也会很好。我只想消除小数等于 0 的数字(如 16.0)
标签: javascript string integer numbers conditional-statements