Saya pikir orang-orang akan mengerjakan proyek kode kecil bersama-sama, tetapi saya tidak melihatnya, jadi inilah yang mudah:
Kode yang memvalidasi Kode Pos AS yang valid. Saya tahu ada database kode pos di luar sana, tetapi masih ada kegunaannya, seperti halaman web, validasi cepat, dan juga fakta bahwa kode pos terus dikeluarkan, jadi Anda mungkin ingin menggunakan validasi yang lemah.
Saya menulis sedikit tentang kode pos dalam proyek sampingan di wiki/blog saya:
https://benc.fogbugz.com/default.asp?W24
Ada juga jenis kode pos baru yang aneh.
https://benc.fogbugz.com/default.asp?W42
Saya bisa melakukan kode javascript, tetapi akan menarik untuk melihat berapa banyak bahasa yang bisa kita dapatkan di sini.
Javascript Regex Literal:
Kode Pos AS: /(^\d{5}$)|(^\d{5}-\d{4}$)/
var isValidZip = /(^\d{5}$)|(^\d{5}-\d{4}$)/.test("90210");
Beberapa negara menggunakan Kode Pos, yang akan gagal dalam pola ini.
Berikut ini adalah fungsi JavaScript yang memvalidasi kode ZIP/pos berdasarkan kode negara. Ini memungkinkan pemformatan yang agak liberal. Anda juga dapat menambahkan kasus untuk negara lain. Perhatikan bahwa kasus default memungkinkan kode pos kosong karena tidak semua negara menggunakannya.
function isValidPostalCode(postalCode, countryCode) {
switch (countryCode) {
case "US":
postalCodeRegex = /^([0-9]{5})(?:[-\s]*([0-9]{4}))?$/;
break;
case "CA":
postalCodeRegex = /^([A-Z][0-9][A-Z])\s*([0-9][A-Z][0-9])$/;
break;
default:
postalCodeRegex = /^(?:[A-Z0-9]+([- ]?[A-Z0-9]+)*)?$/;
}
return postalCodeRegex.test(postalCode);
}
FYI Tautan kedua yang merujuk pada kode ZIP vanity tampaknya merupakan lelucon April Mop.
Apakah yang Anda maksudkan adalah validasi alamat? Seperti jawaban Mike sebelumnya, Anda perlu memenuhi 95% lainnya.
Apa yang dapat Anda lakukan adalah ketika pengguna memilih negara mereka, maka aktifkan validasi. Validasi alamat dan validasi kode pos adalah 2 hal yang berbeda. Memvalidasi ZIP hanya memastikan bahwa ZIP adalah integer. Validasi alamat adalah memvalidasi alamat yang sebenarnya untuk keakuratan, lebih disukai untuk pengiriman surat.