2012-11-16 3 views
0

J'ai l'expression rationnelle suivante pour la validation email en javalongueur de validation email regex

^[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@([a-zA-Z0- 9!#$%&'*+/=?^_`{|}~-]+(\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*|\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])$ 

Je veux vérifier que le courriel ne devrait pas dépasser 255 caractères, comment puis-je faire cela?
Merci

+3

* "Je veux vérifier que le courriel ne devrait pas dépasser 255 caractères, comment puis-je faire cela?" * Séparément. –

+3

ne pouvez-vous pas utiliser String.length() ?? – PermGenError

+0

Pourquoi ne pas simplement utiliser 'emailAddress.length() <= 255'? – Vicki

Répondre

6

Restez simple.

if (yourString.length() <= 255 && yourString.matches(YOUR_REGEX))

+2

* Techniquement *, vous voulez '<= 255'. L'OP a déclaré que la longueur ne devrait pas dépasser * 255 caractères. –

+0

^Modifié. Merci pour le rappel. –

1

Je ne voudrais pas utiliser une expression rationnelle pour cette autre que pour une simple vérification de santé mentale (at-il un « @ » et quelque chose qui ressemble à un TLD, peut-être), et un simple contrôle de longueur de la chaîne .

L'expression rationnelle pour une adresse de messagerie entièrement conforme est immense. Tu ne veux pas vraiment y aller.

1

Si vous voulez vraiment prolonger la Regexp concernant la longueur, vous pouvez préfixer une expression de préanalyse comme ceci:

^(?=.{255}$) 

Résultat:

=> ^(?=.{255}$)[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+............ 
0

Pour terminer la réponse Zhonk: ^ (? =. {6,255} $) [A-Z0-9a-z ._% + -] + @ [A-Za-z0-9 .-] +. [A-Za-z] {2,6}

4

Cette regex fonctionne pour tous les modèles d'e-mail possibles et pour différents domaines.

[email protected] 
[email protected] 
[email protected] 
[email protected] 

Le regex respectif est:

(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\]) 
+0

@KRUPA Super ... Fonctionne bien pour valider un modèle d'email pour différents domaines – Shastry