【问题标题】:How to validate decimal positions with Parsley or HTML5?如何使用 Parsley 或 HTML5 验证小数位?
【发布时间】:2015-09-03 19:52:52
【问题描述】:

如何验证输入是否具有精确的小数位数? 例如,如果我想验证一个数字有 2 个小数,那么我想验证如下:

  • 2.888 -> 失败
  • 2.8 -> 失败
  • 2 -> 失败
  • 2.88 -> 验证

【问题讨论】:

    标签: html parsley.js


    【解决方案1】:

    您可以使用data-parsley-pattern 属性,并使用正则表达式将数字匹配到小数点后两位:

    data-parsley-pattern="^[0-9]*\.[0-9]{2}$"
    

    另外,请记住将required 属性添加到您的标签。

    【讨论】:

    • “可选”小数位怎么样?我的意思是,如果我输入“2.00”是有效的,“2”也是有效的。在这种情况下,正则表达式应该如何?谢谢!
    • 我找到了! ^[1-9]\d*(\.\d+)?$
    • @brugnner 我发现该正则表达式存在一些问题。一方面,您可能希望使用 [0-9],而不是 [1-9]。这种模式会更好:[0-9]*(\.?[0-9]{2}$)?
    【解决方案2】:

    您可以使用 data-parsley-pattern 属性,并使用正则表达式将数字匹配到小数点后 2 位或零。

    ^[0-9]{1,}\.?[0-9]{0,2}$
    

    例如:

    • 如果值为 1.00 则有效
    • 如果值为 123.00 则有效
    • 如果值为 .00,则无效
    • 如果值为 1.000,则无效

    【讨论】:

      【解决方案3】:

      From java script answer for decimal validation

      data-parsley-pattern="^\d+(.\d{1,2})?$"

      另外,请检查 input type="text"

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-10-25
        • 2016-12-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-08-28
        • 1970-01-01
        相关资源
        最近更新 更多