CRM ve Veri PlatformlarıE-posta Pazarlama ve Otomasyon

Normal İfadelerle (Regex) Bir E-posta Adresi Nasıl Doğrulanır? Örnek HTML5, PHP, C#, Python ve Java Kodu.

Hemen hemen her programlama dili, günümüzde düzenli ifadeleri desteklemektedir. Bazı geliştiriciler onları sevmese de, genellikle doğrulama gibi işlevleri daha az sunucu kaynağıyla son derece hızlı bir şekilde gerçekleştirdikleri için gerçekten en iyi uygulamadır. E-posta adresleri, uygun şekilde biçimlendirildiklerinden emin olmak için kolayca kontrol edilebilecekleri mükemmel bir örnektir.

Doğrulamanın olmadığını unutmayın doğrulama. Doğrulama, basitçe, iletilen verilerin uygun şekilde oluşturulmuş standart bir biçimi izlemesi anlamına gelir. Doğrulama sırasında gözden kaçabilecek e-posta adresleri hakkında bazı ilginç şeyler.

E-posta Adresi Nedir?

İnternet İleti Biçimi tarafından tanımlandığı şekliyle bir e-posta adresi (RFC 5322), iki ana bölümden oluşur: yerel bölüm ve etki alanı bölümü. yerel kısım önce gelir @ sembol ve etki alanı kısmı sonra gelir. İşte bir e-posta adresi örneği: example@example.com, Burada example yerel kısımdır ve example.com etki alanı parçasıdır.

  • Yerel – Bir e-posta adresinin yerel kısmı, alfasayısal karakterler, noktalar, kısa çizgiler, artı işaretleri ve alt çizgilerden oluşan bir kombinasyon içerebilir. Genellikle bir sunucudaki belirli bir posta kutusunu veya hesabı tanımlamak için kullanılır.
  • domain – Bir e-posta adresinin alan kısmı, alan adından ve onun üst düzey alanından (TLD). Etki alanı adı, e-posta hesabını barındıran sunucuyu tanımlayan bir karakter dizisidir. TLD, ülke kodu gibi alan adından sorumlu varlık türünü belirtir (örn. .uk) veya genel bir üst düzey etki alanı (örn. .com, .org).

Bu, bir e-posta adresinin temel yapısı olsa da, geçerli bir e-posta adresini neyin oluşturduğuna ilişkin kurallar karmaşıktır.

Bir E-posta Adresi Ne Kadar Uzun Olabilir?

Bugün onu bulmak için biraz araştırma yapmak zorunda kaldım, ancak bir e-posta adresinin geçerli uzunluğunun ne olduğunu biliyor muydunuz? Aslında parçalara ayrılmış ... Yerel@Etki Alanı.com.

  1. Yerel, 1 ila 64 karakter arasında olabilir.
  2. Etki alanı 1 ila 255 karakter arasında olabilir.

Bu, teknik olarak bunun geçerli bir e-posta adresi olabileceği anlamına gelir:

loremaipsumadolorasitaametbaconsectetueraadipiscin
gaelitanullamc@loremaipsumadolorasitaametbaconsect
etueraadipiscingaelitcaSedaidametusautanisiavehicu
laaluctuscaPellentesqueatinciduntbadiamaidacondimn
tumarutrumbaturpisamassaaconsectetueraarcubaeuatin
ciduntaliberoaaugueavestibulumaeratcaPhasellusatin
ciduntaturpisaduis.com

Bunu bir kartvizite sığdırmayı deneyin! İronik olarak, çoğu e-posta adresi alanı web'de 100 karakterle sınırlıdır… bu teknik olarak yanlıştır. E-posta adreslerini doğrulamak için kullanılan diğer bazı normal ifadeler de .com gibi 3 basamaklı üst düzey bir alan arar; ancak, uzunluk için bir sınırlama yoktur üst düzey alanlar (Örneğin. Martech Zone 4 basamaklıdır – .zone).

Düzenli ifadeler

RegEx programatik yapısı nedeniyle bir e-posta adresini test etmek için mükemmel bir yöntemdir. Düzenli ifadeler, programlama dillerinde ve metin editörlerinde yaygın olarak kullanılır ve genellikle metin işleme kitaplıklarına veya çerçevelerine entegre edilir. Diğerleri arasında Python, Java, C# ve JavaScript dahil olmak üzere birçok programlama dili tarafından desteklenirler.

E-posta adresi standardizasyonu sandığınızdan çok daha karmaşıktır. Standarda yazıldığında, bir e-posta adresinin gerçek normal ifadesi şu şekildedir: normal ifade:

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

Bu normal ifade kalıbı, kullanıcı adında alfasayısal karakterler, noktalar, kısa çizgiler, artı işaretleri ve alt çizgiler dahil olmak üzere bir e-posta adresinin temel biçimiyle eşleşir ve ardından bir @ sembol, ardından bir alan adı. Bu kalıbın yalnızca e-posta adresinin biçimini kontrol edeceğini ve gerçek adresi kontrol etmeyeceğini unutmamak önemlidir. varoluş e-posta adresinin.

HTML5, E-posta Yapısı Doğrulamasını İçerir

Bir e-postanın standarda göre geçerli olmasını sağlamanın en kolay yolu, bir HTML5 e-posta giriş alanı kullanmaktır:

<input type='email' name='email' placeholder='name@domain.com' />

Yine de, web uygulamanızın e-posta adresini hem girildiğinde hem de sunucunuza gönderildiğinde tarayıcıda doğrulamak isteyeceği zamanlar vardır.

PHP'de Uygun Bir E-posta Adresi İçin Regex

Çok az insan bunun farkındadır, ancak PHP artık kendi içinde RFC standardına sahiptir. filtre doğrulama işlevi.

if(filter_var("name@domain.com", FILTER_VALIDATE_EMAIL)) {
    // Valid
}
else {
    // Not Valid
}

C#'ta Uygun Bir E-posta Adresi İçin Normal İfade

İşte C# dilinde bir e-posta adresinin temel doğrulaması

using System;
using System.Text.RegularExpressions;

public class EmailValidator
{
    public static bool IsValidEmail(string email)
    {
        string pattern = @"^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$";
        return Regex.IsMatch(email, pattern);
    }
}

Bu yöntemin pratik kullanımı:

string email = "example@example.com";
if (EmailValidator.IsValidEmail(email))
{
    Console.WriteLine(email + " is a valid email address.");
}
else
{
    Console.WriteLine(email + " is not a valid email address.");
}

Java'da Uygun Bir E-posta Adresi İçin Normal İfade

İşte Java'da bir e-posta adresinin temel doğrulaması

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class EmailValidator {
    private static final Pattern VALID_EMAIL_ADDRESS_REGEX = 
        Pattern.compile("^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,6}$", Pattern.CASE_INSENSITIVE);

    public static boolean isValidEmail(String email) {
        Matcher matcher = VALID_EMAIL_ADDRESS_REGEX .matcher(email);
        return matcher.find();
    }
}

Bu yöntemin pratik kullanımı:

String email = "example@example.com";
if (EmailValidator.isValidEmail(email)) {
    System.out.println(email + " is a valid email address.");
} else {
    System.out.println(email + " is not a valid email address.");
}

Python'da Uygun Bir E-posta Adresi İçin Regex

İşte Python'da bir e-posta adresinin temel doğrulaması:

import re

def is_valid_email(email):
    pattern = re.compile(r'^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$')
    return True if pattern.match(email) else False

Bu yöntemin pratik kullanımı:

email = "example@example.com"
if is_valid_email(email):
    print(f"{email} is a valid email address.")
else:
    print(f"{email} is not a valid email address.")

JavaScript'te Uygun Bir E-posta Adresi İçin Regex

Bir e-posta adresi yapısını kontrol etmek için aşırı karmaşık bir standarda sahip olmanız gerekmez. İşte JavaScript kullanarak basit bir yol.

function validateEmail(email) 
{
    var re = /\\S+@\\S+/;
    return re.test(email);
}

Tabii ki, bu RFC standardına uygun değildir, bu nedenle geçerli olduğundan emin olmak için verilerin her bir bölümünü doğrulamak isteyebilirsiniz. Bu normal ifade, oradaki e-posta adreslerinin yaklaşık %99.9'u ile uyumlu olacaktır. Tamamen standart değil, ancak hemen hemen her proje için kullanışlıdır.

function validateEmail(email) 
{
  var re = /^(?:[a-z0-9!#$%&amp;'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&amp;'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])$/;

  return re.test(email);
}

Bu örneklerden bazıları için kredi HTML.form.kılavuzu.

Douglas Karr

Douglas Karr CMO'su AÇIK İÇGÖRÜLER ve kurucusu Martech Zone. Douglas düzinelerce başarılı MarTech startup'ına yardımcı oldu, Martech satın almaları ve yatırımlarında 5 milyar doların üzerindeki durum tespitine yardımcı oldu ve şirketlere satış ve pazarlama stratejilerini uygulama ve otomatikleştirme konusunda yardımcı olmaya devam ediyor. Douglas, uluslararası alanda tanınan bir dijital dönüşüm ve MarTech uzmanı ve konuşmacısıdır. Douglas aynı zamanda Dummie's Guide ve iş liderliği kitabının yayınlanmış yazarıdır.

İlgili Makaleler

Başa dön düğmeye
Kapanış

Adblock Algılandı

Martech Zone sitemizden reklam geliri, bağlı kuruluş bağlantıları ve sponsorluklar yoluyla para kazandığımız için size bu içeriği ücretsiz olarak sağlayabilir. Sitemizi gezerken reklam engelleyicinizi kaldırırsanız seviniriz.