Bu benim için aşırı karmaşık görünüyor. Özellikle ben işe yaramaz bir kaç şey görebilirsiniz:
- Sizin regex gibi "Malmö" veya 서울, vb isimleri, ASCII olmayan harfler ile şehirler için başarısız olur
- Şifrenizi validator hatta birçok insan gibi olacak rakam veya noktalama, ek güvenlik için kendi şifreleri koymak için izin vermez (pass-cümleleri girmek için yararlı olan) şifre alanlar için izin vermez.
- Siz validator dairelerde yaşayan insanlar için izin vermez ele (12/345 Foo St)
(Bu ". \" Ne demek varsayarak yerine edilir "." Beri "." Şey maçları)
Ve böylece. Genel olarak, ben doğrulama için normal ifadeler üzerinde aşırı güven iyi bir şey olmadığını düşünüyorum. Muhtemelen bu alanları için bir şey için izin ve sadece onları başka bir şekilde doğrulayarak daha iyiyiz.
Örneğin, e-posta adresleri ile: bir adres geçerli sırf RFC standartlarına göre aslında bunun için e-posta göndermek mümkün olacak anlamına (veya gelmez o kişi için correct e-posta adresi olduğunu .) Bir e-posta adresini doğrulamak için tek güvenilir yolu aslında bir e-posta göndermek ve kişinin bir bağlantı veya bir şey üzerine tıklayın elde etmektir.
URL'ler ile aynı şey: Bu standarda göre geçerli sırf aslında bir web sayfası var var anlamına gelmez. Sen sayfayı almak için gerçek bir istek yapmaya çalışıyor URL'yi doğrulamak.
Ama benim kişisel tercihi sadece mümkün mutlak minimum doğrulama yapmak ve onları orada bırakmak olacaktır. Insanlar kendi profilini düzenlemek izin (ya da doğrulanıyor konum ne olursa olsun) durumda onlar bir hata yapar.