Bagaimana cara membuat fungsi validasi email pada javascript ? validasi email sangat diperlukan, khususnya pada saat pengiriman form input.

Tipe data email adalah string (bagian dari karakter ASCII), dan dibagi menjadi dua bagian dengan simbol @, bagian pertama kita sebut sebagai informasi dan kedua adalah domain mis. informasi@domain.com.

Contoh email yang valid :
  • namaemail@kodingspace.com
  • nama.email@namadomain.com
  • nama.email.12345@namadomain.co.id
Contoh email yang tidak valid :
  • nama.email.com
  • nama.email@.co.id
  • @nama.email@domain.com
  • .namaemail@domain.com

Di tutorial ini saya akan membuat fungsi validasi email dimana terdapat dua parameter :

  • Parameter pertama memvalidasi karakter alamat email
  • Parameter kedua domain whitelist (optional), yaitu hanya domain-domain yang diperbolehkan saja yang bisa masuk.

Di fungsi yang akan dibuat karakter yang dibolehkan adalah alphanumeric, undescore ( _ ), dan dash (-). Kemudian tidak boleh angka terlebih dahulu di awal email mis. 123namaemail@domain.com.

                    
/* Fungsi Validasi Email 
			* Parameter email, dan (optional) allowEmail
			* @email string
			* @allowEmail string dengan delimiter |
			*/
			
			function validasiEmail(email, allowEmail = ""){	

				// filter_depan adalah regular expression sebelum @ 
				// filter_belakang adalah regular expression setelah @
				console.log(allowEmail);
				
				var filter_depan = "^([A-z.a-z])(\\w+[\\.-]?\\w+)*",
					filter_belakang = "@\\w+([\\.-]?\\w+)((\\.\\w{2,3}){1})$";
					
				if(allowEmail != ""){
					// ganti filter_belakang dengan regular expression yang baru
					filter_belakang = "@(\\b(" + allowEmail + ")\\b)*((\\.\\w{2,3}){1,2})$";
				}
							
				// buat konstruktor RegExp
				var filter = new RegExp(filter_depan + filter_belakang,'g');
				var found = filter.test(email);
				console.log(filter.source);
				
				if(!found){
					
					alert("Email Salah");
				}else{
					alert("Email Benar");
				}
								
			}
Download link demo di bawah.