RegularExpressionValidator, kullanıcıların Asp.Net kontrollerine girdiği verilerin belirli bir formatta olup olmadığını denetleyen geçerlilik kontrolüdür. Özellikle e-posta, internet adresi, telefon numarası, posta kodu gibi belirli ve düzenli bir formatı olan girdilerin kontrol edilmesinde kullanılmaktadır. En çok kullanılan ifade formatları kontrol içerisinde hazır sunulurken, ihtiyacınıza göre de düzenli ifadeler oluşturmanıza olanak verir.
Konuyu basit bir kayıt formu oluşturarak örnek üzerinden anlatalım. Örneğimiz de kullanıcının girdiği e-posta adresinin uygun formatta olup olmadığını denetleyeceğiz. Kayıt formunu aşağıdaki gibi tasarlayalım.
Daha sonra RegularExpressionValidator kontrolümüzü Toolbox içerisindeki Validation sekmesinden alıp, e-posta girişi için kullanacağımız TextBox’un sağına ekliyoruz.
Şimdide kontrolümüzün Properties penceresinden değiştireceğimiz, bizim için gerekli olan ayarlarına bir göz atalım.
ControlToValidate: Geçerlilik işleminin uygulanacağı kontrolü belirler.
ErrorMessage: Girdi istenilen formatta değilse gösterilecek hata mesajı.
ValidationExpression: Bu kısım girdilerin hangi formatta olacağını belirler. Önceden belirlenmiş olan birçok format arasından seçim yapabileceğiniz gibi, kendi düzenli ifadenizi de oluşturabilirsiniz.
ValidationExpression özelliğini örneğimizde ihtiyacımız olan internet e-mail adres olarak seçtiğimizde istediğimiz düzenli ifadenin otomatik olarak oluşturulduğunu göreceksiniz. Kontrolümüzün ayarlarını tamamladığımızda aşağıdaki gibi görünmesi gerekiyor.
Örneğimizi çalıştırıyoruz. Eğer e-mail adresini uygun şekilde girmezseniz, aşağıdaki gibi bir hata mesajıyla karşılaşmanız lazım.
Örneğimizi en çok ihtiyaç duyulan e-mail adresi kontrolü üzerine yaptık. E-mail adresi için gerekli olan düzenli ifade, kontrolün içerisinde hazır olarak geldiği için kendimiz yazmak zorunda kalmadık. Mesela Türkiye’de kullanılan telefon numaralarını kontrol etmek isteseydik, kendimiz oluşturmak zorunda kalacaktık. Bu ifadelerin yazılması kolay olmadığından http://regexlib.com/ adresinden ihtiyacınıza göre farklı kalıplarda oluşturulmuş ifadelere ulaşabilirsiniz.
En Çok Kullanılan RegularExpression İfadeleri
Kontrol | RegularExpression | Format Biçimi |
E-mail adresi | \w+([-+.’]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* | isim@domain.com |
Internet adresi | http(s)?://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)? | http://www.domain.com |
Telefon numarası (Türkiye) | (([\+]90?)|([0]?))([ ]?)((\([0-9]{3}\))|([0-9]{3}))([ ]?)([0-9]{3})(\s*[\-]?)([0-9]{2})(\s*[\-]?)([0-9]{2}) | 0(212) 345 67 89+90(212) 345678903123456789 |
Tarih-Saat | ^[0,1]?\d{1}\/(([0-2]?\d{1})|([3][0,1]{1}))\/(([1]{1}[9]{1}[9]{1}\d{1})|([2-9]{1}\d{3}))$ | 01/01/199012/12/99993/28/2001 |