. Au alan adları doğrulamak için Regexp

3 Cevap php

Ben bir dize geçerli. Au etki alanı adı olduğunu doğrulamak için hızlı bir regexpi gerekir. Örneğin:

xxx.com.au
xxx.net.au
xxx.org.au
xxx.biz.au
xxx.--.au

tüm bu geçerli düşünülmelidir.

Bu benim kadar regexplerde gibi umutsuz olmayan biri için oldukça basit olmalıdır. Herhangi bir fikir?

3 Cevap

. Sadece au uzayda belirli ikincil TLD'lerinin izin vermek istiyorsanız:

/^[a-zA-Z0-9-]+\.(?:com|net|org|biz)\.au$/

Dilediğiniz gibi 's | ile ayrılmış sekonderlerindeki listesini değiştirebilir.

Eğer kesinlikle ikincil TLD doğrulayarak hakkında sakıncası yoksa:

^[a-zA-Z0-9-]+\.\a+\.au$

Ve daha alt etki alanlarını (yani xxxx.yyyy.com.au) izin vermek isterseniz:

^(?:[a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+\.\a+\.au$

Eğer kullandığınız belirli regex motoru ikinci destek vermezse yerine \a ve a-zA-Z kullanmanız gerekebilir.

^[\w\d-\.]+\.au$

Bu para cezası çalışması gerekir. Gerçekten the ones that already exist üstüne diğer ikinci düzey etki alanları ekleyebilirsiniz. Au önce gelir ne yana çok başka yapamaz.

/^(?:[a-z0-9\-]+\.){2,}au$/i

preg_match() veya diğer PCRE işlevleri ile kullanmak için:

if(preg_match('/^(?:[a-z0-9\-]+\.){2,}au$/i', $domain))
    echo "'$domain' is a valid domain\n";
else
    echo "'$domain' is invalid\n";