Java :: Email Regex

Üzerinde çalıştığım bir Android projesinde EditText alanına girilen e-mail değerinin gerçekten de bir e-mail adresi mi olduğunun kontrol edilmesi gerekiyordu. Bunun için aşağıdaki kodu bulup kullandım.

boolean isEmailValid(String email) {
		String expression = "^[\\w\\-]([\\.\\w])+[\\w]+@([\\w\\-]+\\.)+[A-Z]{2,4}$";
		CharSequence inputStr = email;

		Pattern pattern = Pattern.compile(expression, Pattern.CASE_INSENSITIVE);
		Matcher matcher = pattern.matcher(inputStr);
		return matcher.matches();
	}

Girilen tüm değerleri doğru test ediyor mu bilemem ama benim işimi görecek kadar iyi çalışıyor. Aşağıdaki kod bloğu ile test ettiğimde;

ArrayList addresses = new ArrayList();
addresses.add(” “);
addresses.add(“test”);
addresses.add(“test.com”);
addresses.add(“test@com”);
addresses.add(“test@test.com”);
addresses.add(“test@test.com.”);
addresses.add(“test@test.com.tr”);
addresses.add(“test.test@test.com.tr”);
addresses.add(“test@türkçe.karakter.tr”);

for (int i = 0; i < addresses.size(); i++) { System.out.println(addresses.get(i) + " :: " + isEmailValid(addresses.get(i))); } [/java] şu aşağıdaki çıktıyı verdi:
:: false
test :: false
test.com :: false
test@com :: false
test@test.com :: true
test@test.com. :: false
test@test.com.tr :: true
test.test@test.com.tr :: true
test@türkçe.karakter.tr :: false

Yeniden anlamış olduk ki regular expressions hayat kurtarır :)
Kaynak: zparacha.com

İlgili olabilecek yazılar:

Java %100 Nesne Yönelimli Bir Programlama Dili Midir?
Java :: Jersey ile RESTful Webservislere Eclipse, Maven ve Apache Tomcat Kullanarak Giriş Yapalım
EcaHack Hackathon @ Android Developer Days 2013 Ardından
Android :: JSON Parse İşlemleri – 2
Android :: JSON Parse İşlemleri – 1


Java :: Email Regex” yazısına 1 yorum yapılmış.

  1. Teşekkür ediyorum öncelikle.

    Düzenli ifadeler gerçekten büyük kolaylık sağlıyor. Ama ne yazık ki tam olarak kaynak yok. regexone.com vardı ama orada hiçbir ipucu vermiyor. Kendinizi test ediyorsunuz sadece.

    Bir gün bu REGEX’i internete bakmadan yazmak isterdim. Aynı şekilde okuyabilmek de :)

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

*