【问题标题】:Regex laravel validation正则表达式 laravel 验证
【发布时间】:2016-01-14 21:39:38
【问题描述】:

大家好,我正在尝试验证输入是否具有正确的数据。我需要检查输入是模式 xx、xx 或 xxx 中的数字。例如,如果用户输入 100 或 120,32,它将通过验证。我正在尝试为此制作正则表达式,但我不擅长这个主题。我有 xx,xx 的工作代码,但是如何添加检查第一个或第二个选项以不引发错误?这是我所拥有的:

/^[+]?\d+\,\d+/ 

【问题讨论】:

    标签: php regex validation


    【解决方案1】:

    您的问题

    对于您提到的示例,这将匹配所有出现:

    /\d{2,3}(,\d{2})?)/
    

    它说(基本英语):两到三位数字,后跟可选的“逗号和两位数字”。解释见Regex101上的例子:https://regex101.com/r/hU5kJ7/1

    但是,我看不出有任何理由将浮点数之前的数字限制为 3 位,因此要使其打开,您可以省略 3:

    /\d{2,}(,\d{2})?)/
    

    它说(基本英语):两位到无限位,后跟可选的“逗号和两位数”。

    除此之外

    我真的不建议您自己再次实施基本的数字(或货币?)验证。这就像重新发明*。你会在互联网上找到很多很多类似的验证实现,在所谓的验证库或框架中。

    【讨论】:

      【解决方案2】:

      这个正则表达式应该可以解决你的问题:

      /^\d+(,\d+)?/
      

      【讨论】: