【问题标题】:regex for address field in LaravelLaravel中地址字段的正则表达式
【发布时间】:2018-03-01 04:28:47
【问题描述】:

您好,我需要验证如下地址

C/s-2, abc, pqr
C/s/2, abc, pqr
221B Baker Street
101, Baker Street, London, UK
221-B, Baker Street etc

基本上是在寻找我可以使用 laravel 的验证来验证的标准地址类型

我尝试了以下表达式

'address' => 'required|regex:/^(?=.*[0-9])[- ,\/0-9]+$/',
'address' => 'required|regex:/[^a-zA-Z0-9\/-]|[,\/]$/s',
'address' => 'required|regex:/(^([0-9]+ )?[a-zA-Z ]+$)/',
'address' => 'required|regex:/(^[A-Za-z0-9 ]+$)/',

但对我来说没有任何效果,请您帮忙为此类地址获取正确的正则表达式

谢谢你:)

【问题讨论】:

  • 英国的地址格式没有标准。如果有,则需要涵盖既没有编号也没有街道的地址(家庭成员有这样的地址)以及更常见的形式。唯一可行的方法是使用邮政编码查找,让一个人在该邮政编码的众多地址中选择正确的一个。其他任何事情都会产生太多不正确的结果。
  • 好的,那么如果假设我有我提到的地址,那么它的正则表达式是什么?实际上我需要验证我从 Google Place API 获得的地址
  • 为什么要验证来自地点查找服务的地址格式? (这是XY Problem吗?)
  • 实际上在 UI 中地址字段是可编辑的,所以我需要检查该字段是否包含真实地址?在客户同意之前,我们不能将其设为只读。

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


【解决方案1】:

终于得到了一些对我有用的东西,我不知道它是否会持续很长时间,但目前它运行良好。

'address' => 'required|regex:/(^[-0-9A-Za-z.,\/ ]+$)/'

但是之前发布的答案也很好用,我不知道他为什么删除了那个答案,我正在粘贴他的演示,它对我有用

'address' => 'required|regex:/([- ,\/0-9a-zA-Z]+)/',

WORKING DEMO

【讨论】:

  • 我做到了。谢谢和问候。
猜你喜欢
  • 2012-07-12
  • 1970-01-01
  • 1970-01-01
  • 2013-01-16
  • 2011-06-20
  • 2017-03-15
相关资源
最近更新 更多