2008-10-29 62 views
6

我想這是一個多部分的問題。我正在建立一個會員網站,並希望將這些帳戶儘可能國際化。國際電話和地址數據?

  1. 什麼是收集的形式允許國際號碼上的電話號碼的最佳方式?我並不擔心存儲它們,只是收集和驗證。我現在所擁有的是一個國家名單,它將添加國家代碼,然後根據國家代碼和我們的身份驗證我們/ can/uk,然後是擴展名。這些將作爲字符串存儲在cc/number/ext的3個字段中有沒有人有更好的,可靠的解決方案,或者可能在任何地方見過?

  2. 地址同上。什麼是最好的方式去?地址/城市/州/郵編/國家或只是線路?我希望能夠按這些排序,所以單個文本字段不是一個很好的解決方案,儘管它是最靈活的。

    這也很重要,因爲我們可能會發送實際的郵件給我們的會員。我記得有幾位成員在其他地方提供服務,這些服務在我從未聽說過的國家有地址,甚至連郵局的女性也不知道他們的格式是否正確。

  3. 我想有地理數據在數據庫中,至少國家/狀態,對於像選擇一個國家,現場標準化等填充後的狀態下拉有誰知道一個巨大的數據庫,可以用來作爲應用程序的地理數據庫?

回答

0

地址 - 只記得沒有到處你有州和郵政編碼。如果你有郵政編碼,他們可以以不同的格式([0-9]{2}-[0-9]{3}這裏)。 (編輯:通常郵政地址與2個地址線,城市,州(可選),郵政編碼(可選)和國家是好的)。

所以是地理數據 - 你可以用州和城市的順序下拉菜單,但想你不可能涵蓋所有的城市。爲什麼不顯示一張谷歌地圖,並允許用戶點擊那裏標記自己的位置?

2

電話號碼驗證 - 我不確定我是否會在此上花費大量時間。編號計劃經常發生變化(例如,在我住在英國的時候,倫敦地區代碼的電話號碼至少改變了一次,在我搬到那裏之前不久又發生了另一次改變),在德國它(或者至少用於)通常會增加特定交易所上可用電話號碼的數量,方法是採用舊號碼並在末尾添加一兩位數字。因此,關於給定電話號碼格式的任何假設都會改變,最終你會追趕。如果你堅持把電話號碼分成國際/地區代碼/主號碼,你可能會發現這是一種特定國家的信息表示方式,所以你需要爲每個國家和特定的驗證提供一個輸入掩碼規則。更不用說在像德國這樣的地方,地區代碼可以有兩到四位數字等等......

關於郵政地址,我最重要的建議是確保您可以接受非數字郵政/郵政代碼,否則你將無法在加拿大和英國(可能還有其他地方)處理地址。這是我的一個愛好馬,因爲我曾與其他國家的網站發生過幾次問題,他們拒絕讓我輸入非數字郵政編碼,因此我不得不通過傳真來查詢我的地址信息,因爲我無法填寫在線申請表。在我的書中,如果你允許國際客戶,這是不良的業力....

另外,假設地址的某些部分(例如州/縣)的存在並且要求它們通常比頭疼更值得。我會試圖提供標準的門牌號碼+街道(結合他們,不同的語言把房子號碼放在不同的地方,所以分開它們不是一個好主意恕我直言,除非你知道如何正確地重新組裝它們,有時你會最終得到一個房屋名稱而不是數字),城鎮和郵政編碼,可能還有一個可選的縣/州字段。如果您想爲您的國際受衆真正提供幫助,請爲這些地址提供自由形式的單一文本輸入字段,這些地址不符合我們對地址外觀的「標準」假設。請讓它們足夠大,以便地址相當長的人不會空間不足......

1

有一個international standard for telephone numbers,但它留下了很多喘息的空間。分隔符不是強制性的,但僅限於空格,句號和連字符。圓括號(又名圓括號)應放在可選的位數上,具體取決於您撥打的位置。例如,某些地區的區號是可選的。我會提供一個文本字段,讓用戶輸入他們的號碼,但他們想要的。

對於地址,提供了很多字段,並沒有太多限制。房屋號碼有時包含字母。道路類型有時全部寫入,其他時間縮寫。 (St = Street,Ave = Avenue等)如果可能(州/省),我會提供下拉菜單,但如果沒有列表,則允許自由形式輸入。當用戶輸入他們的地址時,可以確認安全風險,但是您可能需要等到稍後離開地理驗證。例如,如果用戶輸入T8N 4E3的郵政編碼並選擇安大略省作爲其省份,則該地址無效,因爲給定的郵政編碼用於阿爾伯塔省。向用戶顯示一條友好的消息,讓他們知道他們需要更正他們的地址,或者如果它正確(您的代碼中可能存在錯誤),請與您聯繫。