HTML5 E-posta Doğrulaması

HTML5 ile, kullanıcının girdisinin geçerli bir e-posta veya url adresi olup olmadığını kontrol etmek için artık js veya sunucu tarafı koduna ihtiyacımız yok&quot deniyor;

Bir kullanıcı girdikten sonra e-postayı nasıl doğrulayabilirim? ve JS olmadan, kullanıcı e-posta adresinin yanlış bir biçimini girerse nasıl bir mesaj görüntülenir.

<input type="email" pattern="[^ @]*@[^ @]*" placeholder="Enter your email">
<input type="submit" value="Submit">

HTML5'te bu şekilde yapabilirsiniz:


<input type="email" placeholder="Enter your email">
<input type="submit" value="Submit">

Ve kullanıcı gönder düğmesine bastığında, otomatik olarak aşağıdaki gibi bir hata mesajı gösterir:

Yorumlar (12)

www.w3.org]2 sitesinin input type=email sayfasında, bir e-posta adresinin aşağıdaki düzenli ifadeyle eşleşen herhangi bir dize olduğu belirtilmektedir:

/^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/

Değerin regex deseniyle eşleşmesini zorunlu kılmak için required özniteliğini ve bir pattern özniteliğini kullanın.

<input
    type="text"
    pattern="/^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/"
    required
>
Yorumlar (8)

Sadece HTML5 "pattern" özniteliğini kullanarak E-postayı doğru bir şekilde doğrulamak çok zordur. Eğer bir "pattern" kullanmazsanız someone@ işlenecektir. bu geçerli bir e-posta DEĞİLDİR.

Using pattern="[a-zA-Z]{3,}@[a-zA-Z]{3,}[.]{1}[a-zA-Z]{2,}[.]{1}[a-zA-Z]{2,}" biçimin someone@email.com olmasını gerektirecektir, ancak gönderenin someone@email.net.au (veya benzeri) gibi bir biçimi varsa, bunu düzeltmek için doğrulanmayacaktır pattern="[a-zA-Z]{3,}@[a-zA-Z]{3,}[.]{1}[a-zA-Z]{2,}[.]{1}[a-zA-Z]{2,}[.]{1}[a-zA-Z]{2,}" bu ".com.au veya .net.au veya benzerlerini doğrulayacaktır.

Ancak bunu kullanarak someone@email.com'un doğrulama yapmasına izin vermeyecektir. Dolayısıyla, e-posta adreslerini doğrulamak için HTML5 kullanmak hala tamamen bizimle değil. Bunu tamamlamak için şöyle bir şey kullanmalısınız:


<input id="email" type="text" name="email" pattern="[a-zA-Z]{3,}@[a-zA-Z]{3,}[.]{1}[a-zA-Z]{2,}[.]{1}[a-zA-Z]{2,}" required placeholder="Enter you Email">
<br>
<input type="submit" value="Submit The Form">

ya da:


<input id="email" type="text" name="email" pattern="[a-zA-Z]{3,}@[a-zA-Z]{3,}[.]{1}[a-zA-Z]{2,}[.]{1}[a-zA-Z]{2,}[.]{1}[a-zA-Z]{2,}" required placeholder="Enter you Email">
<br>
<input type="submit" value="Submit The Form">

Ancak, HTML5 desen özniteliğini kullanarak e-posta adreslerinin her iki sürümünü veya tüm sürümlerini nasıl doğrulayacağımı bilmiyorum.

Yorumlar (3)