簡體   English   中英

國際電話號碼驗證和顯示

[英]International phone number validation and display

我的數據庫中有電話號碼,這些電話號碼是通過要在我的網站上列出的表單提交的。 有很多變化。 有些是國際性的,有些是美國的。 有些人只是使用本地版本,其他人則使用國際格式。

我正在嘗試使手機上的數字可點擊。

我正在使用php創建頁面,因此我可以在做出顯示決定之前先處理數字。

由於我從人工輸入開始,因此將其用於頁面顯示,並使用帶有href =“ tel:前綴的標簽。

<a href="tel:+12223334444">(222) 333-4444</a>

我的理解是,應該刪除所有非數字字符,可能是“ x”的例外,它可能表示一個擴展名,在國際電話中以“ +”開頭。 是否有任何理由不使用任何數字開頭的“ +”? 還是要求提供國家代碼? 是否要確保美國號碼以“ 1”開頭,就可以在國際上撥打該號碼了?

我已經讀到一些來自英國的人在提交數字時有時會錯誤地使用“(0)”。 應該將其刪除,還是保留“ 0”,或者將其替換為國家/地區代碼。

前導零在某些數字上有效嗎?

我想要實現的實質是:

1)確定數字(減去任何裝飾,括號,破折號等)是否已准備國際化,或者是否可以通過添加前導“ +”使其國際化。 我似乎找不到有效的國際號碼的確定性支票,但肯定存在。

2)如果可能,請使用鏈接使該號碼可撥打移動電話,而不會在桌面瀏覽器上造成混亂或錯誤。 如果該號碼不可撥號(無法通過驗證),或者無法設置為可撥號(使用某些基本維修方法),則它將僅作為用戶輸入顯示。

我向您保證,這幾乎是您想要的,您不會自己編寫代碼。
libphonenumber是滿足您需求的出色庫:
https://code.google.com/p/libphonenumber/

有關其的更多信息:
https://stackoverflow.com/questions/tagged/libphonenumber

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM