首页 > 解决方案 > Google 为美国地址设置自动完成 Angular 模式验证

问题描述

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

有效地址示例: 284 5th Ave, Chicago, IL, USA 284 Fifth Ave, Chicago, IL, USA 284 Fifth Ave Unit 203, Chicago, IL, USA 284 Fifth Ave Apt 203, Chicago, IL, USA

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

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

一旦我在其中添加 USA,它就会停止验证:

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>

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

标签: javascriptangularregexvalidationgoogleplacesautocomplete

解决方案


推荐阅读