Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

vérification d'une adresse email

1 réponse
Avatar
greg
Bonjour,

existe-t-il une m=E9thode et Transact SQL pour v=E9rifier la=20
syntaxe d'une adresse email.

J'ai une table avec des varchar correspondant =E0 une=20
adresse email et j'aimerais savoir si certaines adresses=20
ne sont pas valides (par exemple si elles comportent des=20
caract=E8res sp=E9ciaux).

Merci d'avance
Greg

1 réponse

Avatar
Med bouchenafa [MVP]
Il n'y a rien en natif.
l'idéal serait de developper une fonction.
Voici ci-bas un bon squelette de départ.
Si tu pouvais l'enrichir et me le renvoyer afin que je le mette sur le site
www.frenchsql.com

--
Salutations
Med Bouchenafa
TETRASET
75015 Paris

CREATE FUNCTION isEmailAddressValid (@emailAddress varchar(64))
RETURNS BIT
BEGIN

-- Le nom de domaine doit faire trois caractères tout au plus
IF CHARINDEX('.', REVERSE(@emailAddress) >= 3
RETURN 0

-- Pas de blanc.
IF CHARINDEX(' ', @emailAddress) = 0
RETURN 0

-- Tester sur le même modèle les caractères interdits dans une adresse
email


-- Interdire le caractère @ la première position
IF LEFT(@emailAddress, 1) <> '@'
RETURN 0
-- Interdire d'autres caractères à la pemière position sur le même modèle


-- Interdire le caractère '.' la dernière position
IF RIGHT(@emailAddress), 1) <> '.'
RETURN 0
-- Interdire d'autres caractères à la dernière position sur le même modèle



-- Autoriser une seule fois le caractère '@'
IF LEN(@emailAddress) - LEN(REPLACE(@emailAddress),'@','')) = 1
RETURN 0


-- Interdire certaines combinaisons de lettres
IF (CHARINDEX('.@', @emailAddress) = 0 AND CHARINDEX('..', @emailAddress) 0)
RETURN 0

--Autres contrôles ici

-- l'adresse est bonne
RETURN 1
END


"greg" a écrit dans le message news:
02e001c39e0a$68f62810$
Bonjour,

existe-t-il une méthode et Transact SQL pour vérifier la
syntaxe d'une adresse email.

J'ai une table avec des varchar correspondant à une
adresse email et j'aimerais savoir si certaines adresses
ne sont pas valides (par exemple si elles comportent des
caractères spéciaux).

Merci d'avance
Greg