preg: comment écrire un pattern pour obtenir un nom de domaine à partir d'un email?
À partir d'une adresse e-mail comme [email protected]
je veux récupérer le nom de domaine gmail.com
.
je veux utiliser ce modèle sur la zone de texte valeur en Javascript.
Pease me suggérer un optimisé et plus rapide preg modèle pour la condition ci-dessus...
source d'informationauteur Vin
Vous devez vous connecter pour publier un commentaire.
Vous pouvez remplacer tout jusqu'à et y compris la
@
symbole pour obtenir le domaine. En Javascript:Pourquoi ne pas le faire.
Regex n'est pas vraiment nécessaire, vous pouvez également aller
email = email.split("@")[1];
À l'aide d'un simple string split ne fonctionne pas sur les adresses comme
'abc@abc'@example.com
qui est une adresse valide (techniquement). Je crois que le fractionnement sur@
et de prendre les dernier élément devrait être bon, car aucun@
caractères sont autorisés à apparaître dans le domaine.Ou, puisque vous l'avez demandé, d'une expression régulière:
[^@]+$
Je viens de l'expérience nécessaire pour mettre en œuvre cette et est venu avec la solution qui allie la plupart des déjà mentionné techniques:
Donc, si l'e-mail a de multiples @ personnages ensuite, vous avez juste besoin de diviser par courriel chaîne par "@" et de calculer combien d'éléments sont là, dans une nouvelle matrice de
soustraire 1 de il et vous pouvez prendre à droite élément de tableau avec le nombre.
Voici le jsfiddle:
http://jsfiddle.net/47yqn/
Il a show 100% de réussite pour moi!
Je voudrais essayer
Ou peut-être accorder un peu de remplacer
\b
s par^
et$
.Avec cela, vous pouvez faire correspondre n'importe quel domaine avec A-Z, a-z et de 0 à 9 caractères.
Vous pouvez le faire
cela ira chercher le domaine à partir de n'importe quel message.
code jsbin
Que vous pouvez faire afin d'obtenir un nom de domaine à partir de l'url,e-mail,site web,avec http commencé,uniquement le nom de domaine