Ben alanı doğrulamak için bir çözüm yarattık. Bu özellikle tüm URL kapsamaz iken, çok detaylı ve özeldir. Eğer kendinize sormanız gereken soru "Neden bir etki doğrularken ben?" Olduğunu Bu etki aslında var olmadığını görmek için ise, o zaman (geçerli TLD'lere dahil) alanı onaylamanız gerekir. Sorun çok geliştiricileri ([az] {2,4}) kısayolunu almak ve iyi diyoruz, olduğunu. Eğer bu doğrultuda düşünüyorsanız, o zaman neden URL doğrulama diyoruz? Bu değil. Bu sadece bir regex ile URL geçiyor.
Ben TLD yönetimi (iana.org) için tek bir kaynak kullanarak etki alanını sadece doğrulamak sağlayacak bir açık kaynak kodlu sınıf var, ama aynı zamanda emin aslında var olmak için DNS kayıtları yoluyla etki doğrular. DNS Pasif isteğe bağlıdır, ancak etki TLD dayalı özel geçerli olacak.
For example: example.ay is NOT a valid domain as the .ay TLD is invalid. But using the regex posted here ([a-z]{2,4}), it would pass. I have an affinity for quality. I try to express that in the code I write. Others may not really care. So if you want to simply "check" the URL, you can use the examples listed in these responses. If you actually want to validate the domain in the URL, you can have at the class I created to do just that. It can be downloaded at:
http://code.google.com/p/blogchuck/source/browse/trunk/domains.php
It validates based on the RFCs that "govern" (using the term loosely) what determines a valid domain. In a nutshell, here is what the domains class will do:
Basic rules of the domain validation
- uzunluğunda en az bir karakter olmalı
- bir rakam veya harfle başlamalıdır
- harf, rakam ve tire içerir
- Bir harf veya rakamla bitmeli
- birden çok düğüm içerebilir (yani node1.node2.node3)
- Her düğüm yalnızca 63 karakter uzunluğunda max olabilir
- toplam alan adı yalnızca 255 karakter uzunluğunda max olabilir
- Geçerli bir TLD bitmeli
- Bir IP4 adresi olabilir
Ayrıca sadece yerel kopyasını kontrol ettikten sonra iana.org ana TLD dosyasının bir kopyasını indirir. Yerel kopyası 30 gün ile eskimiş ise, yeni bir kopyasını indirecektir. Dosyasında TLD'lerin size doğrulayarak olan etki TLD doğrulamak için Regex kullanılacaktır. Bu doğrulamayı geçmesini. AY (ve diğer geçersiz TLD'leri) önler.
Bu kod bir uzun biraz, ama çok kompakt ne yaptığını düşünüyor. Ve bu en doğrusudur. Ben daha önce bir soru sordu bu yüzden. Eğer "doğrulama" ya da basit "denetimi" yapmak ister misiniz?