2008-11-24 64 views
16

隨着短信的時代以及類似的東西,在數據庫中存儲電話號碼的好方法是什麼?如何將手機號碼存儲在數據庫中?

在美國,短信是通過電話號碼處理的,但在其他國家我聽說他們使用電子郵件地址,所以我想有必要區分使用手機號碼作爲地址的國家/地區。

此外: 例如,美國人可能會使用432-342-3333或1-432-342-3333,而在英國他們可能會使用+44 800 400000,或者他們甚至可能會使用44。 44和1在自動發送短信時會有所不同。但是,檢查每個國家的電話號碼可能會很乏味。在這種情況下,你會拆分國家代碼還是將它合併到一個列中並在那裏處理?

+1

您是否正在儲存電話號碼?或消息地址?問題標題看起來很簡單,但是您可以通過電子郵件談談txt傳遞。什麼是實際問題? – ahockley 2008-11-24 16:34:48

回答

13

通常作爲文本,你不需要所有花哨的格式,除非你需要它來解析來自不同國家的數字,否則你無法區分。您以後可以隨時添加格式。

不是一個數字!前導零可能有問題。

+0

當然。 IntegerField的前導零的剝離讓我非常吃驚。 – ayaz 2008-11-24 17:03:55

26

即使因爲以下原因使用數字電話號碼,我也會主要使用文本字段或一系列文本字段。

  1. 電話號碼有很大的值範圍,包括可能導致數字列丟失精度的擴展號。
  2. 電話號碼丟失的精度相當差。
  3. 對電話號碼進行數學運算(加法/乘法)沒有理由。

此外,您可能要指定如何使用此數據。如果您計劃使用自動化消息傳遞服務,則需要一系列中繼代理進行廣播,因此您可以添加與該信息相關的中繼有關的標識符。然後,所有你必須擔心的是,中繼代理可以理解文本字段中的內容。

+1

雖然我仍然將其作爲字符串存儲,但可以使用固定點號消除1和2(實際上只是1個點)。 – umassthrower 2011-08-14 04:16:20

相關問題