A voir également:
- Javascript expression reguliere
- Telecharger javascript - Télécharger - Langages
- Avoir du ping expression - Forum Réseau
- Expression de recherche - Guide
- Tu es un amour expression ✓ - Forum Loisirs / Divertissements
- Javascript void 0 c'est quoi ✓ - Forum Réseaux sociaux
22 réponses
StreM
Messages postés
515
Date d'inscription
lundi 18 octobre 2004
Statut
Membre
Dernière intervention
28 février 2007
124
17 févr. 2006 à 15:21
17 févr. 2006 à 15:21
Ah lala !
Un peu de logique ;-))
Déja, il faudrait une adresse de ce type d'après ton expression :
6F:8F:FF:ED:8D:56:
Avec ":" a la fin.
Ensuite, si tu veux mettre les chiffres, c'est ca :
[a-fA-F0-9] et pas [[a-fA-F][0-9]]
Donc un truc qui marcherait, c'est ca :
/([a-fA-F0-9]{1,3}\:){5}([a-fA-F0-9]{1,3})/
Mais une adresse MAC a forcément 2 chiffres, non ?
Alors tu devrais mettre {2}, mais bon, tu fais comme tu veux
Un peu de logique ;-))
Déja, il faudrait une adresse de ce type d'après ton expression :
6F:8F:FF:ED:8D:56:
Avec ":" a la fin.
Ensuite, si tu veux mettre les chiffres, c'est ca :
[a-fA-F0-9] et pas [[a-fA-F][0-9]]
Donc un truc qui marcherait, c'est ca :
/([a-fA-F0-9]{1,3}\:){5}([a-fA-F0-9]{1,3})/
Mais une adresse MAC a forcément 2 chiffres, non ?
Alors tu devrais mettre {2}, mais bon, tu fais comme tu veux
Je suis debutant en prog lol
Merci pour l'info j'ai reussi a faire ma verif de saisie mais pour info il n'y a pas : apres la fin de l'@mac.
Merci pour l'info j'ai reussi a faire ma verif de saisie mais pour info il n'y a pas : apres la fin de l'@mac.
Zep3k!GnO
Messages postés
2025
Date d'inscription
jeudi 22 septembre 2005
Statut
Membre
Dernière intervention
18 novembre 2015
200
17 févr. 2006 à 16:44
17 févr. 2006 à 16:44
pour info il n'y a pas : apres la fin de l'@mac.
c'est bien ce qu'il te dit ...
Déja, il faudrait une adresse de ce type d'après ton expression :
6F:8F:FF:ED:8D:56:
Avec ":" a la fin.
mais pas de soushi ;P
c'est bien ce qu'il te dit ...
Déja, il faudrait une adresse de ce type d'après ton expression :
6F:8F:FF:ED:8D:56:
Avec ":" a la fin.
mais pas de soushi ;P
Autre petite chose comment on fait pour vérifier la saisie d'un mail . J'ai trouvé ca sur le net mais ca ne fonctionne pas apparament :
^[a-zA-Z0-9._%-]+@[neuf]+\.[fr]$
^[a-zA-Z0-9._%-]+@[neuf]+\.[fr]$
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
18 févr. 2006 à 10:06
18 févr. 2006 à 10:06
Salut,
à la fin de ton regex ^[a-zA-Z0-9._%-]+@[neuf]+\.[fr]$ on voit
[fr]$ qui veut dire : correspondre à un caractère énumeré dans la classe [fr] (normalement tu as besoin de f suit d'un r et pas seulement de f ou r, dont tlu peux écrire [fr]{2,} par exemple ) qui se trouve en fin de ligne $
Posibilités :
^[a-zA-Z0-9._%-]+@[neuf]+\.[fr] - pas logique tant que tu as besoin de reconnaître f suit d'un r($ est enlevé mai en ce cas tu vas reconnaître une addrese ponpon@neuf.ffffff est ce n'est pas ça qu'on veut)
^[a-zA-Z0-9._%-]+@[neuf]+\.[fr]{2,}$
pourquoi se limiter à neuf (en fait on lit n suit de e suit de u suit de f ) ?
^[a-zA-Z0-9._%-]+@[a-zA-Z]+\.[fr]$
et pareil pourquoi seulement f suit d'un r
[a-z]{2,} au lieu de [fr]{2,}
Quand on utilise un regex il faut savoir ce qu'on cherche et le contexte dans le quel on trouve ce qu'on cherche pour mieux adapter le regex.
Il faut lire un peut la documentation pour comprendre les métacaractères, les classes de caractères, les quantificateurs,...
Par exemple une façon de voir les choses.
Prenons le cas d'une classe de caractères complementé.
[^aeiou]
- on peux la lire : correspondre à tout caractère non enumeré
- ou : ne pas correspondre aux caractères enumeré
D'après toi la quelle version on choisi?
à la fin de ton regex ^[a-zA-Z0-9._%-]+@[neuf]+\.[fr]$ on voit
[fr]$ qui veut dire : correspondre à un caractère énumeré dans la classe [fr] (normalement tu as besoin de f suit d'un r et pas seulement de f ou r, dont tlu peux écrire [fr]{2,} par exemple ) qui se trouve en fin de ligne $
Posibilités :
^[a-zA-Z0-9._%-]+@[neuf]+\.[fr] - pas logique tant que tu as besoin de reconnaître f suit d'un r($ est enlevé mai en ce cas tu vas reconnaître une addrese ponpon@neuf.ffffff est ce n'est pas ça qu'on veut)
^[a-zA-Z0-9._%-]+@[neuf]+\.[fr]{2,}$
pourquoi se limiter à neuf (en fait on lit n suit de e suit de u suit de f ) ?
^[a-zA-Z0-9._%-]+@[a-zA-Z]+\.[fr]$
et pareil pourquoi seulement f suit d'un r
[a-z]{2,} au lieu de [fr]{2,}
Quand on utilise un regex il faut savoir ce qu'on cherche et le contexte dans le quel on trouve ce qu'on cherche pour mieux adapter le regex.
Il faut lire un peut la documentation pour comprendre les métacaractères, les classes de caractères, les quantificateurs,...
Par exemple une façon de voir les choses.
Prenons le cas d'une classe de caractères complementé.
[^aeiou]
- on peux la lire : correspondre à tout caractère non enumeré
- ou : ne pas correspondre aux caractères enumeré
D'après toi la quelle version on choisi?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
18 févr. 2006 à 10:26
18 févr. 2006 à 10:26
Tu peux toujour utiliser
au lieu de [a-zA-Z0-9_] le raccourci \w
au lieu de [0-9] le raccourci \d
\W est l'opposé de \w
\D est l'opposé de \d
au lieu de [a-zA-Z0-9_] le raccourci \w
au lieu de [0-9] le raccourci \d
\W est l'opposé de \w
\D est l'opposé de \d
Merci beaucoup je fais tester tout cela
et je veux juste neuf car je taff pour neuf donc il faut que je filtre les adresses ;-)
et je veux juste neuf car je taff pour neuf donc il faut que je filtre les adresses ;-)
function verifmailsaisie()
{
if(document.Feuille.mail.value.match
(^[a-zA-Z0-9._%-]+@[neuf]+\.[fr]{2,}$)
{
mail ();
}
else
{alert("mail invalide");
exit();}
}
Ca ne fonctionne pas
{
if(document.Feuille.mail.value.match
(^[a-zA-Z0-9._%-]+@[neuf]+\.[fr]{2,}$)
{
mail ();
}
else
{alert("mail invalide");
exit();}
}
Ca ne fonctionne pas
(/^[a-zA-Z0-9-]+@[neuf]+\.[fr]{2}$/)
Ca ca fonctionne mais par contre si je rentre neufff ca lance aussi le test lol
Est ce qu'il y a moyen de dire juste neuf ?
Ca ca fonctionne mais par contre si je rentre neufff ca lance aussi le test lol
Est ce qu'il y a moyen de dire juste neuf ?
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
18 févr. 2006 à 13:21
18 févr. 2006 à 13:21
Salut,
[neuf] c'est une classe de caractères qui reconnaît un des caractères
n ou e ou u ou f
si tu mets [neuf]+ ça veut dire que nnnneeuufff et aussi reconnu.
+ c'est un quantificateur qui veut dire une fois ou plusieurs fois que tu veux (il ne faut pas oublié la gourmandise des quantificateurs - enfin je travaille en Perl avec le regex, je n'ai pas étudier encore le cas de java)
Donc [neuf]+ veut dire n ou e ou u ou f une fois ou plusieurs fois.
Et comme + et gourmandes alors jusqu'à @ il va trouver une infinité des combinaison de n au moins une fois ou combiens des fois tu veux, e......
si tu as besoin seulement de neuf alors mets neuf et pas [neuf]+
en fait si tu as besoin que de neuf.fr tu mets neuf\.fr
[neuf] c'est une classe de caractères qui reconnaît un des caractères
n ou e ou u ou f
si tu mets [neuf]+ ça veut dire que nnnneeuufff et aussi reconnu.
+ c'est un quantificateur qui veut dire une fois ou plusieurs fois que tu veux (il ne faut pas oublié la gourmandise des quantificateurs - enfin je travaille en Perl avec le regex, je n'ai pas étudier encore le cas de java)
Donc [neuf]+ veut dire n ou e ou u ou f une fois ou plusieurs fois.
Et comme + et gourmandes alors jusqu'à @ il va trouver une infinité des combinaison de n au moins une fois ou combiens des fois tu veux, e......
si tu as besoin seulement de neuf alors mets neuf et pas [neuf]+
en fait si tu as besoin que de neuf.fr tu mets neuf\.fr
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
18 févr. 2006 à 13:37
18 févr. 2006 à 13:37
Chez moi ( et avec perl) ça fonctionne :
/^[a-zA-Z0-9-]+\@neuf\.fr$/
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
18 févr. 2006 à 13:42
18 févr. 2006 à 13:42
Affiche le regex et aussi la chaine sur laquelle tu testes ton regex
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
18 févr. 2006 à 13:43
18 févr. 2006 à 13:43
Tu peux tester tes regex http://www.annuaire-info.com/expression-reguliere.html
function verifmail()
{
if(document.Feuille.mail.value.match
(/^[a-zA-Z0-9-]+\@neuf\.fr$/) || (/^[a-zA-Z0-9-]+\@neufpnp$/))
{
mail();
}
else
{alert("Mail non valide");
exit();}
}
Ca ne me fait plus les tests et si je crée deux fonctions distinc il y en a une qui passe et pas l'autre normal ...
{
if(document.Feuille.mail.value.match
(/^[a-zA-Z0-9-]+\@neuf\.fr$/) || (/^[a-zA-Z0-9-]+\@neufpnp$/))
{
mail();
}
else
{alert("Mail non valide");
exit();}
}
Ca ne me fait plus les tests et si je crée deux fonctions distinc il y en a une qui passe et pas l'autre normal ...
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
18 févr. 2006 à 14:03
18 févr. 2006 à 14:03
J'ai mis \@ puisque dans Perl @ est utiliser pour les tableau donc si je mets @neuf perl leve une exception, donc j'ai utiliser \@neuf dans mon expressions régulière.
Donc j'ai tester le regex de mon message 12 et ça va.
Tu peux afficher quelques examples de chaine sur lequelles tu testes?
Donc j'ai tester le regex de mon message 12 et ça va.
Tu peux afficher quelques examples de chaine sur lequelles tu testes?
ponpon17430@neuf.fr
ponpon17430@neufpnp
((/^[a-zA-Z0-9-]+\@neuf\.fr$/) || (/^[a-zA-Z0-9-]+\@neufpnp$/))
j'ai fais un ou comme ca mais ca ne marche pas non plus le neuf.fr il passe mais pas le neufpnp
ponpon17430@neufpnp
((/^[a-zA-Z0-9-]+\@neuf\.fr$/) || (/^[a-zA-Z0-9-]+\@neufpnp$/))
j'ai fais un ou comme ca mais ca ne marche pas non plus le neuf.fr il passe mais pas le neufpnp
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
18 févr. 2006 à 14:24
18 févr. 2006 à 14:24
Salut,
ce n'est pas vraiment bien ce que tu veux
((/^[a-zA-Z0-9-]+\@neuf\.fr$/) || (/^[a-zA-Z0-9-]+\@neufpnp$/))
si tu mets
((/^[a-zA-Z0-9-]+\@neufpnp$/) || (/^[a-zA-Z0-9-]+\@neuf\.fr$/))
alors c'est ponpon17430@neufpnp qui passe ( || veut dire ou ) donc si 1ère expression est vraie alors on s'arrête là.
Tu peux utiliser /^[a-zA-Z0-9._%-]+\@neuf(\.fr|pnp)$/
pour reconnaître :
ponpon17430@neuf.fr
ponpon17430@neufpnp
ce n'est pas vraiment bien ce que tu veux
((/^[a-zA-Z0-9-]+\@neuf\.fr$/) || (/^[a-zA-Z0-9-]+\@neufpnp$/))
si tu mets
((/^[a-zA-Z0-9-]+\@neufpnp$/) || (/^[a-zA-Z0-9-]+\@neuf\.fr$/))
alors c'est ponpon17430@neufpnp qui passe ( || veut dire ou ) donc si 1ère expression est vraie alors on s'arrête là.
Tu peux utiliser /^[a-zA-Z0-9._%-]+\@neuf(\.fr|pnp)$/
pour reconnaître :
ponpon17430@neuf.fr
ponpon17430@neufpnp
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
18 févr. 2006 à 14:33
18 févr. 2006 à 14:33
Non, je suis chez free.
Gardez ces 2 liens pour tester tes regex (pour plus tard je parle), ça pourra servir.
http://www.aidejavascript.com/article146.html
http://www.annuaire-info.com/expression-reguliere.html
Gardez ces 2 liens pour tester tes regex (pour plus tard je parle), ça pourra servir.
http://www.aidejavascript.com/article146.html
http://www.annuaire-info.com/expression-reguliere.html
Derniere petite chose est ce que tu sais comment lire le contenu d'une page web genre j'ai une page ou se trouve un numéro de tel et j'aimerai pouvoir le recuperer automatiquement grace a une fonction
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
18 févr. 2006 à 14:52
18 févr. 2006 à 14:52
C'est possible bien sûr, et je sais le faire (pour repondre à ta question).
En revanche il faut savoir comment il est écrit le numéro de téléphone dans la page web que tu cherches.
C'est bien de savoir la structure de fichier quand on utilise le regex. Bien sûr on peut imaginer plusieurs façon de chercher, mais quand on sait la structure de fichier c'est plus facile.
Par exemple un numéro avec la forme tel. 01 22 22 22 22 se trouvant dans une page web blabla.html
tu peux le récuperer avec egrep (sous linux) tout simplement
En revanche il faut savoir comment il est écrit le numéro de téléphone dans la page web que tu cherches.
C'est bien de savoir la structure de fichier quand on utilise le regex. Bien sûr on peut imaginer plusieurs façon de chercher, mais quand on sait la structure de fichier c'est plus facile.
Par exemple un numéro avec la forme tel. 01 22 22 22 22 se trouvant dans une page web blabla.html
tu peux le récuperer avec egrep (sous linux) tout simplement
[lamitest@localhost corbeille]$ egrep -o 'tel\. 0[0-9] ([0-9][0-9]\s?){4}' test_mail_regex.pl tel. 01 22 22 22 22 [lamitest@localhost corbeille]$Bon le test et fait sur un fichier texte mais un fichier html est un fichier texte.