【问题标题】:How can I check if x is an integer in javascript? [duplicate]如何检查 x 是否是 javascript 中的整数? [复制]
【发布时间】:2014-06-04 02:06:04
【问题描述】:

如何在 javascript 中检查 x 是否为整数?

  • 1 -> 好的
  • 11 -> 好的
  • 1.1 -> 不正确(小数位)
  • null -> 不行(null)
  • a -> 不行(字母)
  • 1e1 -> 不行(字母)
  • 1 1 -> 不正常(任何位置的空间(包括前端或末端))

    var x = document.forms["myForm"]["numofquestions"].value;    
    
    if (x==null || x=="" || isNaN(x) || x<1 || x>500 || (x%1 != 0)) {
       alert("Please fill in number between 1 - 1000");
    }
    

【问题讨论】:

标签: javascript


【解决方案1】:

您可以将您的值转换为整数并检查该数字是否等于您的值:

parseInt(n) === n;

【讨论】:

  • @undefined 不,为什么会失败?一个字符串被转换为一个数字(或 NaN),如果这与输入值不匹配,它将是假的,一切正常......
  • 我删除了我的评论,但我重复一遍,这不起作用。 parseInt('1') 不严格等于 '1'
  • @undefined: 这没关系,不是吗? '1' 不是整数,是字符串。
  • @FelixKling 好吧,问题中的x 指的是表单输入的值,它是一个字符串。 OP 正在验证用户输入。
【解决方案2】:

检查你可以使用

n % 1 === 0

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-23
    • 1970-01-01
    • 2016-02-29
    • 2018-05-19
    相关资源
    最近更新 更多