【问题标题】:How to validate negative, float numbers in parsley validation如何在欧芹验证中验证负数、浮点数
【发布时间】:2017-07-15 06:30:47
【问题描述】:

我有一个选择框,其中选项包含负数、浮点数。 我如何在解析中验证它。

<select class="form-control"  data-parsley-pattern="^[0-9]*\.[0-9]{2}$" id="duration"  name="duration">
    <option value="-1" >Not Strated</option>
    <option value="0" >Just Strated</option>
    <option value="1.6" >1.6 % Done</option>
    <option value="2">2 % Done</option>
    <option value="2.6">2.6 % Done</option>
    <option value="3">3 % Done</option>
    <option value="3.6">3.6 % Done</option>
    <option value="4">4 % Done</option>
    <option value="4.6">4.6 % Done</option>
    <option value="5">5 % Done</option>
   //And So on...
</select>

我在 SO 上尝试了一些解决方案,但没有奏效。

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

我发现验证欧芹中负数和浮点数的解决方案是。

^-?[0-9]\d*(\.\d+)?$

【问题讨论】:

  • 我从未听说过欧芹。但是您的正则表达式似乎强制使用两个尾随数字。你的数字都没有。试试这个,看看它是否适合你。 regex101.com/r/i5qt3m/1^[-0-9]*\.?[0-9]$
  • @Andreas Sir 您可以将您的建议添加到答案中,它正在工作。谢谢。
  • 对其进行了一些更改并添加了答案。不确定哪个最适合您。我相信他们是相当平等的。
  • @Andreas 它正在验证负数。你能帮忙验证负数吗

标签: php codeigniter validation parsley


【解决方案1】:

您的图案缺少一些部分。
它没有捕获负数,所以我在第一个“组”中添加了一个 -。
我加了?使浮动部分不是可选的。
我搬家了 。到 [ ] 并添加 * 以使零个或多个成为可能。

^[-0-9]+?[\.0-9]*$

https://regex101.com/r/i5qt3m/2

OP 找到了答案:^-?[0-9]\d*(\.\d+)?$

【讨论】:

  • 先生,它只验证浮点数而不是负数。
  • 我找不到任何有关欧芹正则表达式如何工作的文档。但我发现了一个例子,其中 - 被\- 转义,不知道这是问题还是什么。 @总是
  • 我在这里找到的。 SO question
  • @always 啊。所以问号应该在后面。我懂了。当您阅读此内容后,我将删除我的答案。
  • 先生,请勿删除。只需在您的答案中添加正则表达式即可。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-29
  • 1970-01-01
相关资源
最近更新 更多