美国地址的 Google Places 自动完成角模式验证

问题描述

出于某种原因,我无法找出合适的正则表达式来处理从 Google Places Autocomplete 插件中选择的验证地址。我希望地址通过以下约束通过验证:

  • 必须以数字开头
  • unit/apt 数字是可选的
  • 必须以“USA”结尾

有效地址示例: 284 5th Ave,芝加哥,IL,美国 284 Fifth Ave,美国 284 Fifth Ave Unit 203,Chicago,美国 284 Fifth Ave Apt 203,美国

我可以使用以下正则表达式获得有效响应,但最后不需要“USA”:

Validators.pattern(/^[0-9]+[A-z0-9,]$/i)

一旦我添加美国,它就会停止验证:

Validators.pattern(/^[0-9]+[A-z0-9,]+(usa)$/i)
Validators.pattern(/^[0-9]+[A-z0-9,]+usa$/i)

验证是这样实现的:

<span class="field-validation-error" *ngIf="AddressForm.controls['location'].hasError('pattern') && AddressForm.controls['location'].touched">Please select a valid address.</span>

我意识到这是一个非常基本的正则表达式,因此任何改进它的建议都将得到极大的赞赏。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)