RegEx ile E-Posta uygunluk kontrolü için kod
February 20, 2009 at 9:11 AM
—
oozturk
Bugünlerde bir e-posta'nın düzgün yazılıp yazılmadığını kontrol etmek hayli güç. Hergün yeni domain uzantıları çıkıyor ve bu ve bunun gibi sebeplerle farklı yapılarda e-posta hesapları mevcut. Bunları javascript ile kontrol etmek istiyorsak regex kullanmamız gerektiğini Javascript, web service, ajax ve membership kullanarak kullanıcı adı ya da e-posta uygunluk ya da kullanılabilirlik kontrolü isimli yazımda da belirtmiştim ve detaylı olarak nasıl yapılabileceğini yazmıştım.
Ancak o yazımda regex için kullandığım uygunluk kontrolü yazısı biraz eski, bu sebeple yenisini burada veriyorum.
/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i
yukarıda ki kodu mesela
var regexf = /^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i
şeklinde kullanabilirsiniz.