【问题标题】:Javascript length limit of regex with given decimal conditions给定十进制条件的正则表达式的Javascript长度限制
【发布时间】:2022-11-02 00:09:26
【问题描述】:

我可以用 2 个小数点和 3 个整数制作 Javascript 正则表达式,但问题是我必须将其设为 6 位数,包括小数点“点”。

所以这个结果应该是最小的 0 到 999.99,条件是它的最小长度是 0 到 6 位。

以下是我的解决方案到目前为止:

^(\d{0}(?:\d{1,3})|\d{1}\.(?:\d{1,2})|\d{2}\.(?:\d{1,2})|\d{3}\.(?:\d{1,2}))$

解释:如果它是 0 位数,那么最少 1 到 3 位数,这样我就可以使它最大 999。 如果它是带小数的 1 位数字,则最多 2 个小数点(例如)2.22 如果是带小数的 3 位数字,则最多 2 个小数点。 (例如) 3.33

这是针对我的 JSP 输入(文本类型)中的正则表达式,我确实为这个问题苦恼了好几天。 (此正则表达式用于特定版本..)

任何帮助或更好的替代方法都会帮助我很多。

google search,自己试试,在线课程,Youtube

【问题讨论】:

    标签: javascript regex jsp string-length


    【解决方案1】:

    如果我理解得好:您需要匹配长度为 6 的小数,包括小数点。

    可以做到以下几点:

    ^(d{1,3}(?:.d{1,2})?)$
    

    它指定了一个最多 3 位的整数部分,然后是一个可选的小数部分。

    它当然有一些边缘情况,例如匹配:000.00,如果需要,可以根据您的预期输入进一步清理。

    样品:https://regex101.com/r/LrOHvt/1

    【讨论】:

      猜你喜欢
      • 2012-07-18
      • 1970-01-01
      • 1970-01-01
      • 2017-01-24
      • 1970-01-01
      • 2017-01-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多