CRM dan Platform DataPemasaran & Otomasi Email

Cara Memvalidasi Alamat Email Dengan Ekspresi Reguler (Regex). Contoh Kode HTML5, PHP, C#, Python, dan Java.

Hampir setiap bahasa pemrograman mendukung ekspresi reguler saat ini. Sementara beberapa pengembang tidak menyukainya, mereka benar-benar merupakan praktik terbaik karena mereka biasanya melakukan fungsi seperti validasi dengan sangat cepat dengan sumber daya server yang lebih sedikit. Alamat email adalah contoh sempurna… di mana mereka dapat dengan mudah diperiksa untuk memastikan mereka diformat dengan benar.

Perlu diingat bahwa validasi tidak verifikasi. Validasi berarti bahwa data yang dikirimkan mengikuti format standar yang dibangun dengan benar. Beberapa hal menarik tentang alamat email yang mungkin terlewatkan saat validasi.

Apa Itu Alamat Email?

Alamat email, seperti yang ditentukan oleh Internet Message Format (RFC 5322), terdiri dari dua bagian utama: bagian lokal dan bagian domain. Bagian lokal datang sebelum @ simbol dan bagian domain muncul setelahnya. Berikut adalah contoh alamat email: example@example.com, Di mana example adalah bagian lokal dan example.com adalah bagian domain.

  • Bahan Makanan Lokal – Bagian lokal dari alamat email dapat berisi kombinasi karakter alfanumerik, titik, tanda hubung, tanda tambah, dan garis bawah. Ini biasanya digunakan untuk mengidentifikasi kotak surat atau akun tertentu di server.
  • Domain – Bagian domain dari alamat email terdiri dari nama domain dan domain tingkat teratasnya (TLD). Nama domain adalah serangkaian karakter yang mengidentifikasi server yang menghosting akun email. TLD menentukan jenis entitas yang bertanggung jawab atas nama domain, seperti kode negara (mis .uk) atau domain tingkat atas generik (mis .com, .org).

Meskipun ini adalah struktur dasar dari sebuah alamat email, aturan untuk apa yang merupakan alamat email yang valid itu rumit.

Berapa Lama Sebuah Alamat Email Bisa?

Saya harus melakukan penggalian hari ini untuk menemukannya, tetapi tahukah Anda berapa panjang valid alamat email? Ini sebenarnya dipecah menjadi beberapa bagian… Lokal@Domain.com.

  1. Lokal dapat terdiri dari 1 hingga 64 karakter.
  2. Domain dapat terdiri dari 1 hingga 255 karakter.

Artinya – secara teknis – ini bisa menjadi alamat email yang valid:

loremaipsumadolorasitaametbaconsectetueraadipiscin
gaelitanullamc@loremaipsumadolorasitaametbaconsect
etueraadipiscingaelitcaSedaidametusautanisiavehicu
laaluctuscaPellentesqueatinciduntbadiamaidacondimn
tumarutrumbaturpisamassaaconsectetueraarcubaeuatin
ciduntaliberoaaugueavestibulumaeratcaPhasellusatin
ciduntaturpisaduis.com

Coba pasang itu di kartu nama! Ironisnya, sebagian besar bidang alamat email dibatasi hingga 100 karakter di web… yang secara teknis tidak benar. Beberapa ekspresi reguler lain yang digunakan untuk memvalidasi alamat email juga mencari domain tingkat atas 3 digit, seperti .com; namun, tidak ada batasan untuk panjangnya domain tingkat atas (misalnya. Martech Zone memiliki 4 digit – .zone).

Ekspresi Reguler

RegEx adalah metode sempurna untuk menguji alamat email karena struktur terprogramnya. Ekspresi reguler banyak digunakan dalam bahasa pemrograman dan editor teks dan sering diintegrasikan ke dalam pustaka atau kerangka pemrosesan teks. Mereka didukung oleh banyak bahasa pemrograman, antara lain Python, Java, C#, dan JavaScript.

Standarisasi alamat email jauh lebih kompleks daripada yang Anda sadari. Saat ditulis ke standar, inilah ekspresi reguler yang sebenarnya untuk alamat email, kredit untuk ekspresi reguler:

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

Pola ekspresi reguler ini cocok dengan format dasar alamat email, termasuk karakter alfanumerik, titik, tanda hubung, tanda tambah, dan garis bawah di nama pengguna, diikuti dengan @ simbol, diikuti dengan nama domain. Penting untuk diperhatikan bahwa pola ini hanya akan memeriksa format alamat email dan bukan yang sebenarnya adanya dari alamat email.

HTML5 Termasuk Validasi Struktur Email

Cara termudah untuk memastikan email valid sesuai standar adalah dengan menggunakan kolom input email HTML5:

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

Namun, ada kalanya aplikasi web Anda masih ingin memvalidasi alamat email baik di browser saat dimasukkan maupun saat dikirimkan ke server Anda.

Regex Untuk Alamat Email yang Tepat di PHP

Hanya sedikit orang yang menyadarinya, tetapi PHP sekarang memiliki standar RFC yang terpasang di dalamnya fungsi validasi filter.

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

Regex Untuk Alamat Email yang Tepat di C#

Berikut validasi dasar alamat email di C#

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);
    }
}

Penggunaan praktis dari metode ini:

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.");
}

Regex Untuk Alamat Email yang Tepat di Jawa

Berikut validasi dasar alamat email di Java

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();
    }
}

Penggunaan praktis dari metode ini:

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.");
}

Regex Untuk Alamat Email yang Tepat dengan Python

Berikut validasi dasar alamat email dengan Python:

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

Penggunaan praktis dari metode ini:

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.")

Regex Untuk Alamat Email yang Tepat dalam JavaScript

Anda tidak perlu memiliki standar yang terlalu rumit untuk memeriksa struktur alamat email. Berikut cara sederhana menggunakan JavaScript.

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

Tentu saja, itu tidak sesuai dengan standar RFC, jadi Anda mungkin ingin memvalidasi setiap bagian data untuk memastikan validitasnya. Ekspresi reguler ini akan sesuai dengan sekitar 99.9% alamat email di luar sana. Ini tidak sepenuhnya standar, tetapi berguna untuk hampir semua proyek.

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);
}

Penghargaan untuk beberapa contoh ini diberikan kepada HTML.form.panduan.

Douglas Karr

Douglas Karr adalah CMO dari Buka WAWASAN dan pendiri dari Martech Zone. Douglas telah membantu lusinan startup MarTech yang sukses, membantu uji tuntas lebih dari $5 miliar dalam akuisisi dan investasi Martech, dan terus membantu perusahaan dalam menerapkan dan mengotomatiskan strategi penjualan dan pemasaran mereka. Douglas adalah pakar dan pembicara transformasi digital dan MarTech yang diakui secara internasional. Douglas juga merupakan penulis panduan Dummie dan buku kepemimpinan bisnis.

Artikel terkait

Kembali ke atas tombol
Penyelesaian

Adblock Terdeteksi

Martech Zone dapat memberi Anda konten ini tanpa biaya karena kami memonetisasi situs kami melalui pendapatan iklan, tautan afiliasi, dan sponsor. Kami akan sangat menghargai jika Anda menghapus pemblokir iklan saat Anda melihat situs kami.