Javascript isNaN()函数被忽略

时间:2014-05-22 10:59:47

标签: javascript html

我正在尝试开发一个小小的财务页面,您可以在其中放置对象的价格,您可以承受的前期存款以及您想要支付的年数,并且当您提交时,它会告诉您您的价格是多少每个月要付钱。

我遇到的问题是,如果有人在其中一个字段中输入字母,则该过程仍然完成。

在理想的宇宙中,我想在结果字段“请仅输入数字”中输入,但我的isNaN测试完全被忽略。目前,当您在存款字段中输入字母时,它只是将其视为0。

我如何让它发挥作用?

这是我的小提琴: http://jsfiddle.net/overplugged/zq5wE/2/

if (!isNaN(deposit))
{
    $("#result").val(result);
}   
else{

    alert("Must input numbers");
    return false;
}

这就是我的问题所在

1 个答案:

答案 0 :(得分:1)

您可能希望使用正则表达式来检查数字输入

var regex = new RegExp('^[0-9]+$'); // for decimal point new RegExp('(?:^|(?<=\s))[0-9]*\.?[0-9](?=\s|$)');
if(regex.test(deposit)) 
{
    $("#result").val(result);
}   
else
{
    alert("Must input numbers");
    return false;
}