PHP sıradanifade ABD adres

7 Cevap php

Ben bir ABD adresi doğrulamak için iyi bir yol olacağını görmek için çalışıyorum, ben bunu yapmanın uygun bir yolu yok olabileceğini biliyorum, ama ben temel yolu için gidiyorum: #, Street name, City, State, and Zip Code.

Herhangi bir fikir takdir edilecektir. Teşekkürler

7 Cevap

Kalkmayın. Birisi bir postane kutusu veya vb bir daire numarası olması muhtemeldir, ve sizinle gerçekten kızgın olacak. Hatta bir "normal" bir cadde adı New York'ta 125. Street gibi sayılar, (ve diğerleri) sahip olabilir. Hatta bir banliyösünde bazı numaralı sokaklar olabilir.

Ve şehir adları boşluk olabilir.

Ayrı alanlarda adresin bölümlerine girmeye kullanıcı isteyin (Sokak adı, Şehir, Eyalet ve Posta Kodu) ve kullanımı ne doğrulama uygun bir alan için. Bu genel bir uygulamadır.

Alternatif olarak, üç virgülle ayırarak dört telli maçları regex en basit istiyorsanız, bu deneyin:

/^(.+),([^,]+),([^,]+),([^,]+)$/

Şeyler uymuyorsa, adres bileşenleri kontrol etmek eşleşen ek desen kullanabilirsiniz. Sokak adresi geçerliliğini kontrol etmek ama posta kodları ve devlet kodları metne mümkün olabilir hiçbir şekilde yoktur.

Düzenli ifadeler kullanarak bunu yapmak mümkün adresi yol çok çeşitleri vardır. Sen adreslerini doğrulamak için bir web hizmeti bulma daha iyiyiz. USPS has one - Bunu kullanmak için izin istemek zorunda olacak.

Ben Salman katılıyorum:.. Kullanıcı (farklı alanlarda zip, biri devlet, biri şehir için bir tane, ve # / sokak adı için bir veri girmek var her alan için farklı düzenli ifade kullanın cadde # / adı için i ile geldi iyi ifadesi oldu

/^[0-9]{1,7} [a-zA-z0-9]{2,35}\a*/

Bu bir kurşun çözüm değil varsayımı bir adres sokak numara için sayısal bir ile başlar ve 5 veya 9 numara olabilir ya bir posta kodu ile biter olmasıdır.

([0-9] {1,} [\ s \ S] * [0-9] {5} (: -?? [0-9] {4}))

Sanki kurşun geçirmez değil, dedi, ama ben geçmişte marjinal başarı ile kullandım.

Size Yeni Zelanda every valid postal address ile bir tablo doldurmak için gerekli verileri veren - Yeni Zelanda'da burada üzerinde, sizden New Zealand Post posta adreslerinin listesini resmi lisanslayabilirsiniz.

Bu listede karşı doğrulayarak bir Regex ile gelip çalışırken daha bir sürü daha kolaydır - ve üç olgu ile son olarak doğruluk, much daha çok yanı olduğunu:

  • Eğer doğrulama konum adres listesinde olduğunu, o yüzden gerçek bir adres olduğunu biliyorum
  • Eğer doğrulama konum adres listesindeki birine çok benzer, o yüzden muhtemelen gerçek bir adres olduğunu biliyorum
  • Eğer doğrulama konum adres listesinde benzer değildir, bu yüzden ya da gerçek olmayabilir.

Eğer bir RegEx'in ile alırsınız iyi

  • Gerçek bir adres olabilir bu yüzden size doğrulayarak konum adresi, regex maçları
  • Eğer doğrulama konum adresi regex uymuyor, bu yüzden gerçek bir adres olmayabilir

Posta adreslerini bilmek gerek birçok işletme için oldukça yaygın bir durumdur, bu yüzden bir liste lisans çoğu alanlarda mümkün olacağına inanıyoruz.

Sadece yapışkan bit fiyatlandırma olacak.

http://semaphorecorp.com/cgi/zp4.html de böyle CASS yazılımı kullanın

Standart format usps.com olarak Publication 28 belgelenmiştir

Eğer nihai dupe tespiti için doğrulayarak ediyorsanız, okuma http://semaphorecorp.com/mpdd/mpdd.html