Trouver l'expression régulière utilisée par les formulaires HTML5 pour la validation
Certains HTML5 éléments d'entrée accepter la pattern
attribut, qui est une expression régulière pour la validation d'un formulaire. Certains autres HTML5 apport d'éléments, tels que, input type=email
ne la validation automatiquement.
Maintenant, il semble que la voie de la validation est géré, c'est à travers différents navigateurs. Étant donné un navigateur spécifique, dit Chrome, est-il possible par programmation extrait de l'expression régulière utilisée pour la validation? Ou peut-être il y a de la documentation là-bas?
Jetez un oeil ici : regular-expressions.info/email.html
Cela dépend de ce que votre notion de "adresse de courriel valide". Comme indiqué dans [cette réponse][stackoverflow.com/questions/201323/..., RFC822 peuvent être couverts par une expression régulière, mais RFC5322 ne peut pas. HTML5 spécifie un groupe beaucoup plus restreint la notion d'une "adresse de courriel valide", ce qui peut être validée à l'aide d'une expression régulière (voir ma réponse).
Cela dépend de ce que votre notion de "adresse de courriel valide". Comme indiqué dans [cette réponse][stackoverflow.com/questions/201323/..., RFC822 peuvent être couverts par une expression régulière, mais RFC5322 ne peut pas. HTML5 spécifie un groupe beaucoup plus restreint la notion d'une "adresse de courriel valide", ce qui peut être validée à l'aide d'une expression régulière (voir ma réponse).
OriginalL'auteur Randomblue | 2011-10-16
Vous devez vous connecter pour publier un commentaire.
La Spec HTML5 répertorie actuellement une adresse email valide car l'un correspondant à l'ABNF:
qui est élucidé dans cette question. @SLaks répondre fournit une expression régulière équivalente.
Cela dit, avec un peu de creuser par le biais de la source, montre que WebKit mis en œuvre adresse email de validation en utilisant essentiellement la même regex comme SLaks répondre, c'est à dire,
Cependant, il n'est pas nécessaire que les adresses e-mail sera validée par une expression régulière. Par exemple, Mozilla (Gecko) mis en œuvre l'email de validation à l'aide d'une assez basique la machine à état fini. Par conséquent, il n'a pas besoin d'être un regex impliqués dans l'email de validation.
Si vous lisez liés spec ci-dessus, vous remarquerez qu'il stipule que volontairement enfreint la RFC 5322, ou, en d'autres termes, la validation utilisée pour les mails HTML champs ne parvient pas à correspondre à une adresse de courrier électronique valide et correspond à certaines chaînes qui ne sont pas des adresses e-mail valides.
bien, merci pour cette précision
top notch, une grande creuser
OriginalL'auteur ig0774
La spec HTML5 donne maintenant un (non normatif) de regex qui est censé correspondre exactement à toutes les adresses e-mail qu'il indique comme étant valide. Il y a une copie de celui-ci sur mon blog ici:
http://blog.gerv.net/2011/05/html5_email_address_regexp/
et dans la spécification elle-même:
https://html.spec.whatwg.org/#e-mail-state-(type=email))
La version ci-dessus est incorrecte seulement en ce qu'il n'a pas de limite de composants de domaine à max 255 caractères et ne les empêche pas de début ou de fin avec un "-".
Gerv
La spec HTML5 est le meilleur endroit pour aller pour un permalien: html.spec.whatwg.org/#e-mail-state-(type=email) .
OriginalL'auteur Gervase Markham
cela fonctionne pour moi:
modèle="[^@]+@[^@]+.[a-zA-Z]{2,6}"
OriginalL'auteur lll