Golang : Validate email address with regular expression




This short tutorial is add on to my previous tutorial on how to validate email address with Golang. This time, the validation is done with regular expression instead of invoking external function.

There are couple of regular expressions that can be used to validate an email address. For this tutorial, we will use this

^[a-z0-9._%+\-]+@[a-z0-9.\-]+\.[a-z]{2,4}$ regular expression to validate the email address.

 package main

 import (
  "fmt"
  "regexp"
 )

 func validateEmail(email string) bool {
  Re := regexp.MustCompile(`^[a-z0-9._%+\-]+@[a-z0-9.\-]+\.[a-z]{2,4}$`)
  return Re.MatchString(email)
 }

 func main() {

  email := "abc@abc12"

  if !validateEmail(email) {
 fmt.Println("Email address is invalid")
  } else {
 fmt.Println("Email address is VALID")
  }

  email = "abc@abc123.com"

  if !validateEmail(email) {
 fmt.Println("Email address is invalid")
  } else {
 fmt.Println("Email address is VALID")
  }
 }

Sample output :

Email address is invalid

Email address is VALID

Note :

Some people, when confronted with a problem, think, “I know, I’ll use regular expressions.” Now they have two problems. — Jamie Zawinksi

Reference :

https://groups.google.com/forum/#!topic/golang-nuts/UAq5fio6xBQ

  See also : Golang : Validate email address





By Adam Ng

IF you gain some knowledge or the information here solved your programming problem. Please consider donating to the less fortunate or some charities that you like. Apart from donation, planting trees, volunteering or reducing your carbon footprint will be great too.


Advertisement