場景
最近做一個商城小程序, 服務端沒啥問題, 前端這裡用戶使用過程中要求能夠像順豐小程序一樣, 識別地址.
方案一
最簡單的方案就是自己擼一套正則, 然後要求用戶按照格式輸入即可. 這樣很快速, 但是容易出問題. 最常見一點, 用戶就不按你的規則來咋辦? 比如用戶的 Excel 表格保存的數據, 可能就保存到地級市, 然後你前端要求精確到"區". 然後你說服務端解決? 顯然, 我們這裡說的是純前端方案.
上面就要求用戶需要按照: 姓名 [空格] 手機號 [空格] 地址 [空格] 郵編
如果產品可接受, 就拿去用吧.
方案二
找輪子.
本來找了兩個, 這個直接引用 bundle.js 即可, 較為方便, 就選它了.
使用方法簡單, 如下:
- 拷貝或下載 dist/bundle.js;
- 如果是網頁或 npm 使用則直接看README說明即可;
- 小程序引用, 將內容放到本地後, const address_parse = require('path_to/address_parse.min') 文件名自己修改, 比如這裡我改成了 address_parse.min.js, require 可省略 ".js". 很重要的一步, 由於是小程序 CommonJS 規範, 而源碼是支持網頁的, 所以內部會有 window 引用, 所以需要在文件內, 將 window.AddressParse 替換成 module.exports, 否則小程序無法成功調用.
之後就可以愉快的按照文檔使用了, 放心, 文檔很短.
你也可以不看文檔, 仿寫這裡代碼即可:
導出的數據結構是這樣的, 請自行解構:
完事
閱讀更多 程序員有點田 的文章