2011-03-06 1 views
0

J'utilise les éléments suivants pour la validation email:Quel regex est bon pour la validation d'email?

var filter = /^(\w+)(\.\w+)*@(\w+)(\.\w+)+$/; 

viens de remarquer que ne supporte pas [email protected] (il ne supporte pas la partie générique +). Un moyen d'obtenir cela ajouté?

+1

Il ne prend pas en charge les autres caractères d'e-mail courants tels que les chiffres, les tirets ou les traits de soulignement. –

+0

Non, il prend en charge _ – AnApprentice

+0

Mon mauvais. '\ w' comprend des chiffres et des traits de soulignement, mais inclut-il des tirets? Exemple: 'an.apprentice @ experts-exchange.com' –

Répondre

1

J'ai aimé la réponse de SLak. J'ai en fait une expression régulière que j'ai écrite il y a quelques temps, c'est encore plus ouvert.

^[email protected]+\..+$ 

L'idée est similaire. N'essayez pas si fort. Au lieu de cela, péchez du côté d'accepter trop. A ma connaissance cette regex devrait accepter toutes les adresses e-mail valides et concevables (ainsi que certaines adresses invalides).

+0

Mais cela rejette toujours les caractères génériques, quel est le problème? [email protected] est rejeté – AnApprentice

+0

Non, le + est correct. Voici des cas de test ... http://regexhero.net/tester/?id=4b398738-f887-4eb1-817a-09398ca30c43 –

2

Vous devez utiliser \[email protected]\S+\.\S+, qui correspond à n'importe quoi avec un @ et un ..
Tout plus que cela rejettera les adresses valides mais obscures.

Même cela rejettera les adresses valides mais obscures, telles que "Test Me"@localhost.
Cependant, ils ne sont jamais utilisés en pratique. [citation nécessaire]

+0

Ya mais c'est rejeter les jokers + – AnApprentice

+0

@AnA: Cela ne va pas rejeter '+'. – SLaks

Questions connexes