Dans WINDEV, il existe une procédure native pour contrôler la validité d'une adresse mail :
EmailVérifieAdresse
Ci-dessous une procédure qui fait de même mais par le biais d'une expression régulière (REGEXP) :
PROCÉDURE
REGEX_ContrôleAdresseMail
(
s_EmailAContrôler
est
une
chaîne
)
:
booléen
ts_REGEX
est
un
tableau
de
chaîne
ts_REGEX
.
AjouteLigne
(
"
[-.a-z0-9]+"
)
// partie locale
(lettres, chiffres, point, tiret), au moins 1 caractère
ts_REGEX
.
AjouteLigne
(
"
[@]"
)
// arobase obligatoire
ts_REGEX
.
AjouteLigne
(
"
[-.a-z0-9]+"
)
// nom de domaine
(lettres, chiffres, point, tiret), au moins 1 caractère
ts_REGEX
.
AjouteLigne
(
"
[.]"
)
// point séparateur
ts_REGEX
.
AjouteLigne
(
"
[a-z]{2,}"
)
// TLD de 2 caractères minimum
(com, fr, info, museum...)
// Passage en minuscules pour simplifier la regex
RENVOYER
VérifieExpressionRégulière
(
Minuscule
(
s_EmailAContrôler
),
TableauVersChaîne
(
ts_REGEX
,
""
))
b_Etat
est
un
booléen
b_Etat
=
REGEX_ContrôleAdresseMail
(
"bdi@test.fr"
)
SI
b_Etat
ALORS
Trace
(
"OK : bdi@test.fr"
)
SINON
Trace
(
"KO : bdi@test.fr"
)
FIN
b_Etat
=
REGEX_ContrôleAdresseMail
(
"bditest.fr"
)
SI
b_Etat
ALORS
Trace
(
"OK : bditest.fr"
)
SINON
Trace
(
"KO : bditest.fr"
)
FIN
b_Etat
=
REGEX_ContrôleAdresseMail
(
"bdi@test"
)
SI
b_Etat
ALORS
Trace
(
"OK : bdi@test"
)
SINON
Trace
(
"KO : bdi@test"
)
FIN