使用javascript或jquery进行价格字段验证?

Aar*_*aru 3 javascript jquery

我的格式中有一个价格字段,我应该只允许小数或浮点数,而不是我的价格字段中的字符和任何其他特殊和空格.

我怎么能得到那个?

这是我的代码:

    $("#foo").blur(function() {
    var price = $("#foo").value;
    var validatePrice = function(price) {
   return /^(\d*([.,](?=\d{3}))?\d+)+((?!\2)[.,]\d\d)?$/.test(price);
}
    alert(validatePrice(price)); // False
});
Run Code Online (Sandbox Code Playgroud)

小提琴

Dav*_*ett 6

首先,这是更正后的代码:

$("#foo").blur(function() {
    var price = $("#foo").val();
    var validatePrice = function(price) {
      return /^(?:\d+|\d{1,3}(?:,\d{3})+)(?:\.\d+)?$/.test(price);
    }
    alert(validatePrice(price)); // False
});
Run Code Online (Sandbox Code Playgroud)

您需要分别测试空值(未定义).此外,如果要允许负值使用:

/^-?(?:\d+|\d{1,3}(?:,\d{3})+)(?:\.\d+)?$/.test(price);
Run Code Online (Sandbox Code Playgroud)

这个正则表达式取自JörnZaefferer的JQuery Validate插件.我建议您考虑使用该插件,因为它包含许多其他功能.