【问题标题】:jquery check if number is typed isNaNjquery 检查是否输入了数字 isNaN
【发布时间】:2015-04-03 10:31:17
【问题描述】:

我有一个快速表单字段,您可以在其中输入您的年龄。当用户以文字形式输入他/她的年龄时(例如:二十),它应该会给出一个快速提醒,告知年龄应该是数字。

这是我的代码,它不起作用

var formAge = $("<input class='inputClass' type='text' placeholder='bv.: 21'/>").appendTo(formDiv);    

$(formAge).blur(function(){
    if($(this).val() == isNaN){
        alert("insert a number");
    }
})

【问题讨论】:

  • 用这个条件替换你的 if 条件 if(isNaN($(this).value)){
  • 你最好用一个简单的正则表达式。

标签: javascript jquery focus onblur


【解决方案1】:
if(isNaN($(this).val())){
    alert("insert a number");
}

【讨论】:

    【解决方案2】:

    你需要使用javaScript isNaN()函数。

    修改你的代码

    if(isNaN($(this).val()))
    {
            alert("insert a number");
    }
    
    var a = isNaN(123) + "<br>";
    var b = isNaN(-1.23) + "<br>";
    var c = isNaN(5-2) + "<br>";
    var d = isNaN(0) + "<br>";
    var e = isNaN("Hello") + "<br>";
    var f = isNaN("2005/12/12") + "<br>";
    
    var res = a + b + c + d + e + f;
    

    输出

    false
    false
    false
    false
    true
    true
    

    【讨论】:

    • 您遗漏了一个重要案例:isNan("2.365") == true
    • @JuanMendes 这仍然是一个数字。这将导致 false.
    • @Jai 我的意思是说isNan("2.365") != true 这不是一个真正的数字,它是一个可以转换为数字的字符串,这是您从文本字段返回的数字
    猜你喜欢
    • 2023-04-07
    • 2010-11-19
    • 2020-04-30
    • 1970-01-01
    • 1970-01-01
    • 2013-08-12
    • 1970-01-01
    • 2011-06-18
    • 1970-01-01
    相关资源
    最近更新 更多