如何在地址表单中限制PO Box地址:Google Place API相关问询
Google Place API PO Box地址限制方案
核心疑问确认
Google Place API 没有提供原生的PO Box地址过滤能力,不管是Place Autocomplete接口还是Place Details接口,均未开放直接过滤PO Box类地址的内置参数。
可落地的替代实现方案
- 利用返回的地址类型字段过滤:Google Place API返回的地址结果中,PO Box类地址的
types字段会包含post_box枚举值,你可以在获取Autocomplete预测结果、或者Place Details返回结果时,直接过滤掉所有types数组中包含post_box的条目,相比正则匹配误判率更低 - 正则表达式二次校验:可以在两个环节叠加正则校验,进一步降低漏判概率:
- 用户输入实时校验:使用正则
/P\.?\s*O\.?\s*Box|邮政信箱|邮箱/i匹配用户输入内容,命中就实时提示不允许提交PO Box类地址 - 接口返回结果校验:对API返回的
formatted_address字段做正则匹配,命中就拦截提交
- 用户输入实时校验:使用正则
- 地址字段完整性校验:针对家庭地址场景,要求返回的地址组件必须包含
street_number(街道号)、route(街道名)两类字段,缺少对应字段的地址直接判定为无效,自然过滤掉没有实际街道信息的PO Box地址
内容的提问来源于stack exchange,提问作者Srithar Rajendran
相关产品推荐
相关产品推荐

