Maison > développement back-end > Golang > Comment valider une adresse e-mail dans Golang à l'aide d'une expression régulière ?

Comment valider une adresse e-mail dans Golang à l'aide d'une expression régulière ?

WBOY
Libérer: 2024-05-31 13:04:57
original
367 Les gens l'ont consulté

要使用正则表达式在 Golang 中验证电子邮件地址,请执行以下步骤:使用 regexp.MustCompile 创建一个正则表达式模式,匹配有效的电子邮件地址格式。使用 MatchString 函数检查字符串是否与模式匹配。该模式涵盖了大多数有效的电子邮件地址格式,包括:局部用户名可以包含字母、数字和特殊字符:!.#$%&'*+/=?^_{|}~-`域名至少包含一个字母,后面可以跟字母、数字或连字符顶级域名(TLD)不能超过 63 个字符长

如何使用正则表达式在 Golang 中验证电子邮件地址?

如何使用正则表达式在 Golang 中验证电子邮件地址

正则表达式是一种用于匹配字符串模式的强大工具。在 Golang 中,我们可以使用 regexp 包提供的 MustCompile 函数来创建正则表达式,并使用 MatchString 函数来检查字符串是否与模式匹配。

要验证电子邮件地址,我们可以使用以下正则表达式模式:

emailRegex := regexp.MustCompile("^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$")
Copier après la connexion

这个模式涵盖了大多数有效的电子邮件地址格式,包括:

  • 局部用户名可以包含字母、数字和以下特殊字符:!.#$%&'*+/=?^_{|}~-`
  • 域名至少包含一个字母,后面可以跟字母、数字或连字符
  • 顶级域名(TLD)不能超过 63 个字符长

实战案例

package main

import (
    "fmt"
    "regexp"
)

func main() {
    // 创建正则表达式
    emailRegex := regexp.MustCompile("^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$")

    // 检查一些电子邮件地址
    addresses := []string{"john@example.com", "mary@example.net", "bob@example.org", "invalid@example"}
    for _, address := range addresses {
        if emailRegex.MatchString(address) {
            fmt.Printf("%s 是一个有效的电子邮件地址\n", address)
        } else {
            fmt.Printf("%s 不是一个有效的电子邮件地址\n", address)
        }
    }
}
Copier après la connexion

运行此程序将输出:

john@example.com 是一个有效的电子邮件地址
mary@example.net 是一个有效的电子邮件地址
bob@example.org 是一个有效的电子邮件地址
invalid@example 不是一个有效的电子邮件地址
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal