2016-04-21 1 views
0

Je suit regex:Quel est le problème avec mon e-mail regex?

var emailRegex = "^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-][email protected][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])?)*$" 

Et quand je suis en train de taper:

[email protected] 

Il correspond. Pourquoi?

+1

Parce que c'est une adresse e-mail valide. – JJJ

+0

@Juhana, pouvez-vous expliquer? – uksz

+1

Selon les spécifications, un TLD par lui-même est autorisé dans une adresse. En pratique, personne n'a une telle adresse publique, mais c'est toujours valable. – JJJ

Répondre

2

Les services de messagerie n'ont pas besoin d'être connectés à un domaine. e-mails suivants sont tous corrects:

Voir plus sous "adresses e-mail valides" : https://en.wikipedia.org/wiki/Email_address

Donc, si vous voulez autoriser uniquement les emails publics, essayez d'autres expressions rationnelles: -)