1

例如,我想比较 0-91 和 0-93 ,在我使用的逻辑中,0-93 比 0-91 大,因为我只查看 0- 之后的数字,即 91和 93 。基本上我正在构建一个表格,它检查数字范围,但在表格中,数字可以输入例如 91 和 93 ,但它们通常输入为 0-91 和 0-93 ,我怎么能编写javascript逻辑,以便在比较两个数字时忽略0-?

基本上将 0-91 和 0-93 转换为整数 91 和 93 ,然后比较它们。

4

2 回答 2

1

一种方法是:

var a = '0-91',
    b = '0-93',
    max = Math.max(a.slice(2), b.slice(2)), // for example
    max2 = Math.max(a.substr(-2), b.substr(-2)); // will work if a = "91" and b = "93"

希望这可以帮助

于 2013-01-31T19:31:28.783 回答
0

如果您想要支持:

  • 范围或无范围(“0-93”或“93”)
  • 更多或更少的数字(“0-999”或“9”)

这是解决它的一种方法:

function numberFromInput(value) {
  return Number(value.match(/[-]?(\d*)$/).pop());
}

Math.max(numberFromInput("91"), numberFromInput("0-93"));
于 2013-01-31T20:05:19.210 回答