如何在Javascript中比较包含数字的两个字符串?

时间:2013-01-31 19:27:27

标签: javascript

例如,我想比较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,然后进行比较。

2 个答案:

答案 0 :(得分: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"

希望这有帮助

答案 1 :(得分:0)

如果您需要支持:

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

这是解决问题的一种方法:

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

Math.max(numberFromInput("91"), numberFromInput("0-93"));