php - 使用正则表达式验证街道地址

时间:2017-06-24 16:49:31

标签: php preg-match street-address

我使用的是php版本7.0.14。尽管stackoverflow上有几个很好的例子,我无法让我的php正则表达式工作。我已经尝试了几个小时的每一个可以想象的组合。问题在于尝试允许句点和斜杠,必须将其转义。我试过用双引号和单引号括起正则表达式。我试过用一个反斜杠,两个,三个,四个来逃避。它要么出错,要么一切都通过(比如$)或者不允许句号和斜线。

mkdir("uploaded images", 0777, true);
move_uploaded_file($sourcePath,$targetPathNew);

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:3)

这里有两个问题:

  1. 您的角色类中没有.(在.不需要转义的角色类中)
  2. 字符类中的-需要进行转义,或者移到前端或末尾(在其他正则表达式引擎中,转义不可用)。就其本身而言,它会在每一侧创建一系列字符。
  3. 这样:

    ^[-a-z0-9 ,#'\/.]{3,50}$
    

    应该适合你。 (如果你使用不同的分隔符,正斜杠也不需要被转义)

    演示:https://regex101.com/r/PfZAlO/1/