web-dev-qa-db-fra.com

input type = "email" permet test @ test, pourquoi?

J'ai toujours pensé que le navigateur email-validation-regex était plus robuste que certains modèles de regex en JS/PHP.

Mon employeur vient de me montrer que les deux chaînes sont considérées comme correctes (enfin en FF28):

[email protected] // Expected to be true, is true
test@test     // Expected to be false, is true

Pourquoi ce dernier est-il vrai? Est-ce un bug ou quelque chose pour l'avenir? Parce que pour autant que je sache, il n'est pas correct de ne pas utiliser d'extention (à part peut-être des hôtes locaux).

Quelqu'un qui peut nous éclairer?

10
Martijn

Il est valide car test pourrait être un domaine de premier niveau et localpart@top-level-domain est une adresse électronique valide.

Voir par exemple adresse e-mail, partie de domaine

20
Matteo

Vous pouvez modifier votre fichier hôtes ou exécuter un serveur DNS sur un réseau local pour créer une machine avec un nom de domaine de niveau supérieur. L'adresse électronique ne sera accessible que si elle est acheminée uniquement au sein de ce réseau local, mais si sa configuration est possible.

3
Lie Ryan

Notez également que les navigateurs Web ne sont pas obligatoires pour effectuer des vérifications de validation. Les anciens navigateurs ne font rien de spécial avec l'adresse email. Les nouveaux navigateurs peuvent valider, mais le type 'email' est plus utile sur les appareils mobiles où un clavier spécialisé peut être montré à l'utilisateur.

2
Ron Lussier