2013-04-30 40 views
0

大家好我需要一個if和else語句來檢查是否最小和最大兩個字段是數字,這些數字可以是整數如0或12,或者他們可以將0.50至1,300.99沒有人知道如何檢查數字我的代碼是按以下格式:正則表達式檢查如果數字是整數或浮點數我認爲

的jQuery:

$(document).ready(function(e) { 

    $('#price_range').click(function(e) { 
     var price_min = $('#min').val(); 
     var price_max = $('#max').val(); 
     var error_msg = ""; 

     if(price_min.macth(.../) && price_max.match(.../)) { 
      error_msg = "Please enter a valid number." 
     }else if(price_min > price_max) { 
      error_msg = "Min is greater than max." 
     } 
    } 
+0

檢查我的答案,看看是否是你的作品還是不請.. – 2013-04-30 04:42:49

回答

1

我覺得你並不需要對數的確認正則表達式。您可以使用初始值做一個parseFloat and loose compare結果。

function isNumber(number) { 
    var i; 
    return (!isNaN(i = parseFloat(number)) && number == i); 
} 
+0

是的!爲什麼你會在這些簡單的任務中使用正則表達式。 – Bart 2013-04-30 04:46:41

0
var data = [ 
    "hello.world", 
    "33", 
    "25.", 
    "2.345", 
    "h.50", 
    ".50", 
]; 


var regex = /^(?:\d+)?(?:\.)?(?:\d+)?$/; 

for (var i=0; i<data.length; ++i) { 
    if (data[i].match(regex)) { 
    console.log(data[i] + " is a number!"); 
    } 
    else { 
    console.log(data[i] + ": NOT"); 
    } 
} 

    --output:-- 
    hello.world: NOT 
    33 is a number! 
    25. is a number! 
    2.345 is a number! 
    h.50: NOT 
    .50 is a number! 
相關問題