有個神秘的需求,使用者透過API 傳遞地址資料,接收後解析地址將城市及區域對應到
頁面上的兩個下拉選項,若對應不到則保留選項,這篇主要是留下思考脈絡...
依照需求,若地址輸入正確會正確對應到下拉選項,如下圖所示
實務面來看,若使用者輸入城市(city),如臺北市,一般都不會輸入錯誤,倒是區域很常出錯,
如輸入信區、義區,但照理說這類的文字應該是不會比對到選項的,如以下兩張圖
故在程式邏輯上,若城市選項有對應到,會去拉該城市對應的區域,此時再將
區域選項逐一去比對,match 到了就離開判斷
此舉的主要意義是,因為各城市(city)下的區域,其實是2~4的字都有,如新竹的
東區、北區,或是台東的太麻里鄉、三地門相等等的
故無法假定地址內容中扣除 city後,多少區間的文字內容就一定是區域,所以
透過下拉選項去取對應長度的地址片段來比對才是保險作法,如上述所示
當地址為新竹市東區...,城市(city) = 新竹市,會被對應到,並且帶出區域下拉
選項,用這些下拉選項逐項去比對,如要比對到「東區」,就會從地址中扣除
city 後,取長度 2 的字串當作區域比對,若比對到了,就離開判斷式;
若都沒有比對到,就保留選項不指定。
沒有留言:
張貼留言