验证十进制数

时间:2012-05-28 20:47:47

标签: jquery jquery-validate

我有一个表单,我正在使用jQuery验证插件来验证它。现在我试图验证十进制数输入。

我尝试了以下代码,但它无法正常工作。正则表达式的问题或编写自定义规则的方法在我的代码中是错误的吗?

 rules: {
      paid_amount: {
              required:true,
                      rexp: ^[1-9]\d*(\.\d+)?$
      },

   }
     },

 messages: {
             paid_amount: {
                      required: "Enter Paid Amount",
              rexp:"Decimal Numbers Only"
    },  

     }
});

5 个答案:

答案 0 :(得分:14)

您可以使用找到的号码验证方法here

来自文档:

$("#myform").validate({
  rules: {
    field: {
      required: true,
      number: true
    }
  }
});

在你的情况下:

rules: {
    paid_amount: {
        required:true,
        number: true
    }
},
messages: {
    paid_amount: {
        required: "Enter Paid Amount",
        number: "Decimal Numbers Only"
    }
}

答案 1 :(得分:3)

我不熟悉jquery验证器插件,抱歉,但是 你的正则表达式是有效的。

另一种方法是

var reg = "/^[1-9]\d*(\.\d+)?$/"; //reg pattern<br/>
if(reg.test("1.23"))//validate
{
 //do something <br/>
}

答案 2 :(得分:2)

jQuery验证器还支持使用range方法进行十进制验证。

factor:
      {
        required: true,
        range:[0.08,20.09]  
      },

在此处阅读更多here demo

答案 3 :(得分:0)

使用jQuery isNumeric函数:http://api.jquery.com/jQuery.isNumeric/

答案 4 :(得分:0)

您的问题在于&#39; rexg&#39;。你应该使用&#39;模式&#39;。例如:

paid_amount: {
     required:true,
     pattern: ^[1-9]\d*(\.\d+)?$
}