Latihan 1 dari materi Common Patterns: Email di Regex — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.
Lengkapi dua function di starter.
validasiEmail(email): kembalikan true kalau seluruhemail berbentuk alamat email, false kalau bukan. Periksa dengan regex dan .test() (atau .match(), .exec(), .search()), bukan dengan memotong string. Bentuk yang sah, berurutan:
local part: huruf, angka, titik, garis bawah, strip, plus: [A-Za-z0-9._%+-]+
tanda @
domain: huruf, angka, titik, strip
titik, lalu TLD minimal 2 huruf
extractEmails(teks): kembalikan array berisi semua email di dalam teks, lewat teks.match(...) dengan regex yang sama tanpa ^ dan $, ditambah flag g. Saran (gak dicek): tambahkan || [], supaya teks tanpa email memberi [], bukan null.
Empat console.log di starter memanggil kedua function itu; biarkan. Output yang diharapkan, baris per baris:
Yang juga dicek: validasiEmail("[email protected]") mengembalikan false, karena TLD-nya cuma 1 huruf.
Hint
Validasi satu alamat butuh ^ di awal dan $ di akhir, supaya seluruh isian yang diperiksa. Mengambil banyak alamat dari teks justru tanpa ^ dan $, tapi dengan flag g.
Susun polanya per bagian: [A-Za-z0-9._%+-]+ untuk local part, lalu @, lalu [A-Za-z0-9.-]+ untuk domain, lalu \. dan [A-Za-z]{2,} untuk TLD minimal 2 huruf. validasiEmail me-return hasil .test(email); extractEmails me-return hasil teks.match(...).
return /^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$/.test(email); untuk validasiEmail, dan return teks.match(/[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}/g) || []; untuk extractEmails.
</>{ }.css=>#idfn()
Versi baru
HyperSheets
bagian dari BelajarWeb.dev
0%
Membuka gerbang…
HyperSheets
Memperbarui Aplikasi
Versi baru tersedia. Halaman akan dimuat ulang otomatis...