Regex untuk alamat email

Gunakan /^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$/ untuk memeriksa apakah seluruh string merupakan alamat email yang valid. Setiap contoh di bawah telah diuji dengan pola ini, dan kamu bisa membukanya di Regex Tester dengan contoh yang sudah terisi.

Diperbarui

/^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$/
Buka di Regex Tester
InputHasil
user@example.com✓ Cocok
first.last+news@mail.example.co.uk✓ Cocok
x_y%z@sub.domain.io✓ Cocok
plainaddress✗ Tidak cocok
@example.com✗ Tidak cocok
user@domain✗ Tidak cocok
user name@example.com✗ Tidak cocok
user@@example.com✗ Tidak cocok

Cara kerja pola

BagianArti
^Awal string
[A-Za-z0-9._%+-]+Bagian lokal: satu atau lebih huruf, angka, titik, garis bawah, tanda persen, plus, atau strip
@Tanda @ secara harfiah
[A-Za-z0-9.-]+Nama domain, termasuk subdomain
\.Titik secara harfiah sebelum domain tingkat atas
[A-Za-z]{2,}Domain tingkat atas: dua huruf atau lebih (com, io, museum)
$Akhir string

Contoh kode

JavaScript

const re = /^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$/;
re.test(value); // true or false

Python

import re

bool(re.fullmatch(r'[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}', value))

PHP

preg_match('/^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$/', $value) === 1;

Catatan dan batasan

Ini adalah pola praktis yang dipakai sebagian besar formulir pendaftaran. Pola ini menerima beberapa alamat yang secara teknis janggal (dua titik berurutan) dan menolak beberapa alamat yang sebenarnya valid (bagian lokal dalam tanda kutip, domain berupa alamat IP). Satu-satunya cara pasti untuk menguji alamat email adalah dengan mengirim tautan konfirmasi. Di formulir HTML, <input type="email"> sudah memberi validasi bawaan dari browser tanpa perlu kode tambahan.

Pertanyaan yang sering diajukan

Apa regex untuk alamat email?
/^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$/ — pola ini mencocokkan seluruh string. Lihat tabel di atas untuk melihat fungsi setiap bagiannya.
Contoh mana yang cocok?
Dari contoh yang diuji, yang cocok adalah: user@example.com, first.last+news@mail.example.co.uk, x_y%z@sub.domain.io. Contoh lainnya tidak cocok.
Bagaimana cara menguji regex ini?
Klik “Buka di Regex Tester” — pola, flag, dan teks contoh akan termuat otomatis, dan kecocokan akan tersorot saat kamu mengedit.