15

想想全球,立足本地

這就是他們告訴你,在我所有的時間,我開發但我始終認爲,像谷歌,微軟,甲骨文大公司等做驗證中一種本地化的方式:他們知道我來自哪個國家,以便他們將嘗試使用適合我所在國家的驗證方法來驗證我的電話號碼,郵政編碼和其他詳細信息,例如銀行帳號。昨天我註冊了Google checkout,他們甚至向我展示了我國一些郵政編碼格式的例子!國際化驗證

所以我的問題是,他們如何做到這一點?我知道他們有成千上萬的員工,但我很難相信他們都必須重塑這口井。美國有無數的驗證方法,但世界其他地方呢?我還沒見過一個開源像樣的圖書館(除了極incomplete and outdated PEAR attempt)對國家的各種常見問題,如執行驗證:

  • 公民身份證
  • 稅號
  • SSN(社會安全號)
  • BBAN(基本銀行帳戶號碼)
  • 傳真,電話和手機號碼
  • 郵政/郵政編碼
  • 車牌
  • 鈔票序列號
  • 等等...

有任何我沒有意識到的隱藏資源?

+0

我不認爲SO是開始這樣一個項目的合適地點。您可以成功地使用SO來回答某個具體問題(例如「法國車牌的格式是什麼」),但是執行全面的研究並不有用。 – 2009-09-06 04:56:41

+0

@Martin:雖然我同意你的看法,但在刪除問題之前,我會等待一些更多的反饋意見,我認爲最好有一個像這樣的問題和幾個答案,而不是數百個問題。驗證XXX是否爲YYY「。 – 2009-09-06 06:09:07

+1

即使有數千名員工和本地分支機構,Google Checkout也錯過了我在阿根廷城鎮的正確郵政編碼。我被迫使用錯誤的代碼進行註冊。 – 2009-09-29 16:57:57

回答

1

簡單和完整驗證之間有巨大的差異。它往往是不可能完全標準化驗證在地區之間,這裏有幾個例子:

  • CivilID/SSN等數字可以允許/禁止替代值(系統專用),外國值,歷史價值等,我們根據具體情況,我們在同一領域的一個應用程序中有兩個不同的驗證系統,其他IT系統可能有其他驗證系統。

  • 郵政編碼驗證可能需要訪問有效值的列表,這是您需要訂閱的東西。在許多國家,這種訂閱不是自動的,並且由於版權規則,重新發布並不是微不足道的。

  • 電話號碼有類似的問題。你是否允許使用昂貴的號碼,手機號碼?你如何檢測它們?

你可能會說,一個簡單的驗證是在大多數情況下可能 - 但對於簡單的驗證,它往往更容易使用模式匹配,並讓每個市場當地主管部門確定的有效模式。

軟件服務合同也存在問題。如果您購買軟件並希望使用它5年,那麼至關重要的是您可以更改驗證規則,如果更改。我在我的國家經歷了4次電話號碼系統的變化,影響了簡單的驗證,如「位數」和「第一位數字是多少」。

因此,最好的解決方案是擁有一個集中的數據庫,其中包含特定於語言環境的模式,並允許管理員修改驗證模式。

0

維基百科收集的國家爲license plate information。同樣適用於postal codes

+0

有很多驗證,而不僅僅是車牌和郵政編碼,但萬國郵聯有更好的資源(http://www.upu。 int/post_code/en/postal_addressing_systems_member_countries.shtml)郵政編碼格式。關於維基百科在車牌上的條目非常有限(僅在30個國家或地區提供單張照片)。 – 2009-09-09 23:37:32

1

梨一個也不錯。例如,新西蘭的驗證器有各種有用的東西,如郵政編碼,稅號,電話號碼,銀行帳號 http://pear.php.net/manual/en/package.validate.validate-nz.php

它仍然在阿爾法,但涵蓋了不少國家。可能值得重新考慮?

+0

我不這麼認爲,主要是因爲新西蘭(或任何其他國家)的驗證方法與其他國家不一致:例如西班牙只有DNI驗證(民間ID)和葡萄牙(以及其他許多國家)有任何驗證方法。這在IMO的國際環境中幾乎沒用。 – 2009-09-09 23:30:16

+1

你見過這個嗎? http://www.thomasweidner.com/flatpress/2009/09/19/zend_validate_postcode/ – Steve 2009-09-20 21:02:44

+0

@Steve:這非常有趣,我怎樣才能看到代碼? – 2009-12-27 06:56:07

0

嗯,我想一切都需要從該國一個程序員和reasearch &幾天寫的驗證..沒什麼特別.. +有來自http://www.geonames.org/ 在維基百科

+0

就是這一點,我來自葡萄牙,我可以爲我的國家寫一套相當不錯的驗證方法,但我不瞭解西班牙的一些情況。維基百科很好,我在那裏做了一些很好的研究,但是有很多缺失。 – 2009-09-22 22:39:32

+0

是的..但你可以隨時問一些隨機的人在線..正確的..論壇,stackoverflow ..等..它只需要約2個braincells:P – Aviatrix 2009-09-23 20:32:28

+0

再次,這是這個問題的重點,如果你仔細閱讀它... – 2009-09-24 11:02:37

0

也許噸的信息他們也有一個美妙的API