簡體   English   中英

如何比較兩個包含數字的字符串在Javascript中?

[英]How to compare two strings containing numbers in 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,然后進行比較。

一種方法是:

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"

希望這可以幫助

如果要支持:

  • 范圍或無范圍(“ 0-93”或“ 93”)
  • 或多或少的數字(“ 0-999”或“ 9”)

這是解決它的一種方法:

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

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM