Eine Toolbox für kanadische Postcodes: Validierung, Normalisierung und Erraten ihrer Region.
CAPostalCode . valid? ( "h1b2p3" )
# => true
CAPostalCode . normalize ( "e3b.4k5 " )
# => "E3B 4K5"
CAPostalCode . guess_region ( "K1A 0B3" )
# => "ON"
CAPostalCode . guess_region ( "X0C 1A1" )
# => "NU"
Überprüfen Sie nach der Normalisierung der Zeichenfolge, ob es für eine Postleitzahl für das Format passt.
Saiten mit Buchstaben D, F, I, O, Q und denen, die mit W oder Z beginnen, sind ungültig.
CAPostalCode . valid? ( "h1b2p3" )
# => true
CAPostalCode . valid? ( "F8G 1A1" )
# => false
CAPostalCode . valid? ( "potato" )
# => false
CAPostalCode . valid? ( "P0T 4T0" )
# => true
Normalisieren Sie die Zeichenfolge so, dass sie wie eine Postleitzahl aussieht.
Es wird nicht auf Gültigkeit geprüft. Vielmehr die .valid?
Die Methode basiert auf diesem, um ihre Arbeit zu erleichtern.
CAPostalCode . normalize ( "e3b.4k5 " )
# => "E3B 4K5"
CAPostalCode . normalize ( "g1c 4z9" )
# => "G1C 4Z9"
CAPostalCode . normalize ( "potato" )
# => "POT ATO"
Vermutet die kanadische Provinz oder das Territorium ( Region ) basierend auf der Postleitzahl.
Für Provinzen und Yukon wird es anhand des ersten Briefes erraten. Für Nordwestterritorien und Nunavut werden die ersten zwei oder drei Zeichen überprüfen.
CAPostalCode . guess_region ( "G1A 1A1" )
# => "QC"
CAPostalCode . guess_region ( "X0C 1A1" )
# => "NU"
CAPostalCode . guess_region ( "B6A 1A1" )
# => "NS"
In Ihrer GemFile:
gem "ca_postal_code"
Oder installieren Sie es selbst:
gem install ca_postal_code
Führen Sie bin/setup
nach dem Auschecken des Repo aus, um Abhängigkeiten zu installieren. Führen Sie dann rake spec
aus, um die Tests auszuführen. Sie können auch bin/console
für eine interaktive Eingabeaufforderung ausführen, mit der Sie experimentieren können.
Um dieses Juwel auf Ihrem lokalen Computer zu installieren, führen Sie bundle exec rake install
aus. Um eine neue Version zu veröffentlichen, aktualisieren Sie die Versionsnummer in version.rb
und führen Sie bundle exec rake release
aus, die ein Git -Tag für die Version erstellt, Git Commits und Tags drückt und die .gem
-Datei auf rubygemems.org weitergibt.
Fehlerberichte und Pull-Anfragen sind auf Github unter https://github.com/joallard/ca-postal-code willkommen.