【问题标题】:javascript/jQuery: validating numbers coming from .val()javascript/jQuery:验证来自 .val() 的数字
【发布时间】:2012-06-22 18:45:29
【问题描述】:

我正在验证我的表单,只是检查用户是否在应该是数字的字段中输入了一个字符串。但是当我得到这样的所有字段值时:

var number=  $("#number").val();

我所有的变量都是字符串。

alert(typeof number);

显示带有所有数字字段值的“字符串”。

关于如何验证整数的任何想法?

非常感谢

【问题讨论】:

    标签: javascript jquery validation int


    【解决方案1】:

    你可以使用

    jQuery.isNumeric( value ) 
    

    为此目的的方法。因此,您不需要任何额外的解析工作。

    DEMO

    了解更多关于 $.isNumeric()

    用于手动解析(如果上面没有使用)

    var number = parseInt($("#number").val(), 10);
    

    检查

    if(isNaN(number)) {
       // do something
    } else {
       // do something else
    }
    

    【讨论】:

      【解决方案2】:

      isNaN(parseInt($("#number").val())); 应该可以解决问题!如果您想使用数字,这可能是一种更简单的方法:

      var value = parseInt($("#number").val());
      
      if (isNaN(value)) {
        console.log("invalid input");
      } else {
        console.log("user entered: " + value);
      }
      

      【讨论】:

      • 我放了一个,但又恢复了。例如,如果您尝试转换一个带有基数的十六进制,它会将其拉出为 0,这仍然通过了 NaN 测试,但比准确转换的情况更不准确。这取决于作者是否要明确禁止除 base10 整数之外的任何内容 - 如果他们这样做,代码需要更多修改,而基数并没有太大帮助
      猜你喜欢
      • 2018-10-22
      • 2022-01-14
      • 2023-04-09
      • 2014-01-17
      • 2012-03-29
      • 2013-03-02
      • 2016-10-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多