JQuery:验证价格浮动(7,2)

时间:2016-07-11 16:28:10

标签: javascript php jquery validation

我正在使用jquery验证插件。
我必须验证价格输入。
我的数据库中的列是浮点数(7,2) 所以我的价格接受

  • 最多7个数字,不带逗号 或
  • 逗号之前的5个数字和逗号之后的2个(最多)

我已经使用此php代码在服务器端进行了验证

if (strstr($price, '.') && (strlen(substr(strrchr($price, "."), 1)) > 2 || strlen($price) > 8 )  ) {
    echo "invalid format";
}
elseif (!strstr($price, '.')) {
    if(strlen($price) > 5 )
    {
        echo "invalid format";
    }
}

我需要在客户端进行相同的验证,并使用jquery验证插件添加新方法。
但我无法找到真正的reg表达来做到这一点。

更新

详细说明:
 我需要接受任何小于或等于7位数的数字,如(12 - 1234 - 1234567).. - ..和逗号前少于或等于5位的任何数字,逗号后小于或等于2位数(123.1 - 12345.12 - 12.23)

1 个答案:

答案 0 :(得分:2)

  

更新

     

详细说明:我需要接受任何小于或等于7的数字   数字如(12 - 1234 - 1234567).. - ..和任何数字少于   逗号前小于或等于5位数且小于或等于2位数   在逗号之前(123.1 - 12345.12 - 12.23)

“和逗号之前是否小于或等于2位数 ”逗号之后<2>位 < / p>

修改,更新

您可以将pattern属性与RegExp \d{1,5},\d{1,2}|\d{1,7}

一起使用

<form>
  <input type="text" 
         pattern="\d{1,5},\d{1,2}|\d{1,7}" 
         title="a) any number less than or equal 7 digits; b) any number with less than or equal 5 digits before comma and less than or equal 2 digits after comma" 
         required />
  <input type="submit" />
</form>