正则表达式检查数字是整数还是浮点数我认为

时间:2013-04-30 04:07:31

标签: javascript jquery

大家好我需要一个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."
        }
    }

2 个答案:

答案 0 :(得分:1)

我认为您不需要正则表达式进行数字检查。您可以使用初始值执行parseFloat and loose compare结果。

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

答案 1 :(得分: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!