gpt4 book ai didi

javascript - parseFloat 函数没有按预期工作

转载 作者:行者123 更新时间:2023-11-29 16:20:07 25 4
gpt4 key购买 nike

我需要验证文本框条目。它应该只允许整数,因为如果用户在绑定(bind)期间在此字段中输入字符,entityframework 将失败。

这里是问题:

当用户在此字段中输入 10-d 时,parseFloat 返回 true,因为它将 10 作为数字并忽略其余值。虽然 IMO 它应该抛出 NAN 错误,因为输入文本无法转换为 float 。

请看下面的例子,你可以玩一下。 http://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_parsefloat

我感兴趣的是在上面的示例中输入 NAN 40 年。

document.write(parseFloat("40 years") + "<br />");

如果我需要进行更多验证,请告诉我。

最佳答案

听起来您想使用 isNaN 函数。

isNaN('40'); //false, as '40' is a number
isNaN('40 years'); //true, as '40 years' is not a number

更新

如前所述,这不会检查整数。为此,您可以使用

function isInt(value) { 
return !isNaN(value) && value % 1 === 0;
}

对于“40”、“40”、“40”,这将返回 true。对于“40-d”、“40.12”、40.12、“40 年”为假。

jsFiddle Demo

如果您不想要尾随小数,那么@jakeclarkson 的正则表达式解决方案更好

关于javascript - parseFloat 函数没有按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11209345/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com