Laravel-仅验证固定长度和所需空间的数字

时间:2018-07-11 08:54:17

标签: php regex laravel laravel-5 laravel-5.1

我正在编写一个用于验证邮政编码的正则表达式,该长度应恰好具有6个字符的长度,前3个字符是数字,后2个也是,但是字符4应该是空格。 > 这里有一些例子:

  • “ 123456”无效,因为字符4中没有空格。
  • “ 123 45”有效。
  • “ 123 4”无效,因为长度是5而不是6。

    这是我写的:

    / ^ [0-9] {6,6} $ /

工作正常,仅在上面的代码中,不需要空格(但应该是空格)。

2 个答案:

答案 0 :(得分:5)

您可以使用

/^\d{3} \d{2}$/

它匹配3位数字,空格和2位数字的字符串。参见regex demo

详细信息

  • ^-start of string
  • \d{3}-3位数字(\d默认与PHP正则表达式中的ASCII数字匹配,与[0-9]相同)
  • -空格
  • \d{2}-2位数字
  • $-end of string

请注意,{6,6} limiting quantifier{6}相同。

答案 1 :(得分:0)

您很近,但是错过了一些事情。

如果您将正则表达式更改为此,则应该可以。

^[0-9]{3}\s[0-9]{2}$

或者您也可以使用

^\d{3}\s\d{2}$

请注意,当您说{6,6}时,表示前面的表达式必须出现在m到n次之间。您可以将其命名为{6},尽管您的正则表达式是错误的,但这只是要知道的事情。

希望它会有所帮助:)