如何經過手機號初始化所屬地區

在用戶系統中經常會須要用戶綁定手機號、填寫聯繫地址,而一旦表單一多,就會讓用戶感受異常繁瑣,註冊的門坎也就上升。這時候一個貼心的細節優化就會很好地改善用戶體驗,讓用戶眼前一亮。那麼有沒有一種方式能夠經過手機號直接判斷出用戶的聯繫地址呢?至少在必定程度上能夠減小用戶的輸入步驟!javascript

首先能夠藉助市面上的手機號查詢接口獲取一些地理信息,好比:java

IP138查詢網手機號查詢:http://user.ip138.com/mobile/doc/jquery

利用簡單的api調用就能夠獲取到地區信息數據庫

http://api.ip138.com/mobile/?mobile=13209760000&datatype=jsonp&callback=find&token=cc87f3c77747bccbaaee35006da1ebb65e0bad57

返回的數據接口json

{
    "ret": "ok",    // ret 值爲 ok 時 返回 data 數據 爲err時返回msg數據
    "mobile": "13209760000",  // 手機號
    "data": [
        "青海",     // 省會或直轄市
        "海西",     // 地區或城市
        "聯通130卡",// 卡類型
        "0977",    // 城市區號 
        "632800",  // 行政區劃代碼
    ]
}

能夠看出,接口中包含了許多信息,而咱們要用的就是裏面的「行政區劃代碼」。緣由在於,首先地理的文本信息不利於數據庫存儲,且不包含級聯關係;其次,市面上的城市三級聯動插件就是按「行政區劃代碼」關聯的。api

在這裏須要普及下什麼是「行政區劃代碼」jsonp

關於行政區劃代碼

使用《中華人民共和國行政區劃代碼》國家標準(GB/T2260). 這部分可分爲三個層次,從左到右的含義分別是:優化

  • 第1、二位表示省(自治區、直轄市、特別行政區)
  • 第3、四位表示市(地區、自治州、盟及國家直轄市所屬市轄區和縣的彙總碼)
  • 第5、六位表示縣(市轄區、縣級市、旗).

好比廈門市思明區的區劃代碼爲:350203,能夠經過簡單的運算得出其省級代碼爲:350000(福建),市級代碼爲:350200(廈門)。spa

有了統一的規範,就能夠利用代碼區初始化城市三級聯動插件了!下面介紹一個很好用的jQuery插件插件

城市三級聯動插件演示:http://jquerywidget.com/jquery-citys/

一樣簡單

HTML結構:

<div id="demo">
<select name="province"></select>
<select name="city"></select>
<select name="area"></select>
</div>

接口調用:

$('#demo').citys({nodata:'hidden',code:350206});

同時也能夠經過名稱初始化

$('#demo').citys({province:'福建',city:'廈門',area:'思明'});
相關文章
相關標籤/搜索