Maison > développement back-end > Golang > Comment utiliser des expressions régulières pour vérifier la légitimité des lignes d'objet des e-mails dans Golang

Comment utiliser des expressions régulières pour vérifier la légitimité des lignes d'objet des e-mails dans Golang

王林
Libérer: 2023-06-24 11:51:35
original
1092 Les gens l'ont consulté

Avec la popularité d'Internet, le courrier électronique prend de plus en plus d'importance dans notre vie quotidienne et notre travail. Cependant, nous recevons parfois des lignes d'objet d'e-mails illégales, ce qui non seulement perturbe notre habitude normale d'envoyer et de recevoir des e-mails, mais apporte également beaucoup de problèmes dans notre travail et notre vie. Par conséquent, pour les développeurs, la vérification de la légitimité des lignes d’objet des e-mails est une tâche importante lors de la rédaction d’applications liées au courrier électronique. Cet article explique comment utiliser les expressions régulières dans Golang pour vérifier la légitimité des lignes d'objet des e-mails.

Tout d'abord, nous devons comprendre le format de la ligne d'objet de l'e-mail. La ligne d’objet de l’e-mail est composée de 3 parties : une partie nom et adresse, une partie symbole @ et une partie nom de domaine. Parmi eux, la partie adresse du nom peut être en chinois, en anglais ou en chiffres. Le symbole @ est le séparateur reliant les parties adresse du nom et le nom de domaine. La partie nom de domaine peut être un nom de domaine unique ou plusieurs noms de domaine reliés par ".". Par exemple, voici quelques lignes d'objet d'e-mail légitimes :

  • "王小明"
  • "Tom"

Ensuite, nous pouvons utiliser des expressions régulières en golang pour vérifier si la ligne d'objet de l'e-mail est légale. En Golang, nous pouvons utiliser le package regexp pour opérer des expressions régulières. Ce qui suit est un morceau de code Golang pour vérifier la légitimité de la ligne d'objet de l'e-mail :

package main

import (
    "fmt"
    "regexp"
)

func main() {
    // 邮件主题行正则表达式
    pattern := `^([p{Han}w]+|"[p{Han}ws]+"|w+)s*<(w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*)>$`
    // 邮件主题行数据
    subject1 := "王小明<wangxiaoming@example.com>"
    subject2 := "“Tom”<tom@abc.example.com>"
    subject3 := "tom@abc.example.com"
    // 验证邮件主题行
    match1, _ := regexp.MatchString(pattern, subject1)
    match2, _ := regexp.MatchString(pattern, subject2)
    match3, _ := regexp.MatchString(pattern, subject3)
    // 输出验证结果
    fmt.Println(subject1, "匹配结果:", match1)
    fmt.Println(subject2, "匹配结果:", match2)
    fmt.Println(subject3, "匹配结果:", match3)
}
Copier après la connexion

Le code ci-dessus définit d'abord une expression régulière pour la ligne d'objet de l'e-mail, puis utilise la méthode MatchString pour vérifier si la ligne d'objet de l'e-mail correspond au mode d'expression régulière. A noter que nous utilisons la catégorie Unicode en golang, à savoir p{Han} pour faire correspondre les caractères chinois. De plus, pour faciliter la lecture, nous écrivons l'expression régulière sur plusieurs lignes. Si vous souhaitez l'utiliser dans le code, vous devez l'écrire sur une seule ligne ou utiliser des barres obliques inverses pour la séparer en lignes.

Avec le code ci-dessus, nous pouvons vérifier que la ligne d'objet légitime de l'e-mail est vérifiée sans aucun doute. Bien entendu, le format de la ligne d'objet de l'e-mail est bien plus que cela. Les développeurs doivent vérifier tous les différents formats de l'e-mail pour garantir la robustesse du programme.

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