Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2561 connectés 

 


Dernière réponse
Sujet : [JavaScript] Une belle regex bien compliquée ...
SCREAM78 Oui je sais ... en plus g parlé un peu vite car 0.0.0.0 on peut le voir dans les logs (broadcast DHCP) (je me suis renseigné et je savais po) et vu que j'utilise cette regexp pour un outils de traitement-stats de log fo pas que je l'oubli. VOila merci encore !

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
SCREAM78 Oui je sais ... en plus g parlé un peu vite car 0.0.0.0 on peut le voir dans les logs (broadcast DHCP) (je me suis renseigné et je savais po) et vu que j'utilise cette regexp pour un outils de traitement-stats de log fo pas que je l'oubli. VOila merci encore !
gm_superstar Bah, des IP non valides il y en a des millions (classes non attribuées, broadcast...) la regexp n'est la que pour vérifier le format des IP, par pour vérifier l'existence de chacune d'elles.
SCREAM78 Juste pour le fun ... la regex marche nickel sauf pour 0.0.0.0 qui n'est pas une IP valide :D !! [:koa] (oui je sais !! "tu pousses le bouchon un peu trop loin maurice" lol) ... donc faut faire un split après pour tester ca et la boucle est bouclé héhé !
SCREAM78 Ca marche ... g comprit pq ca marchait pas ... fo pas utiliser le new RegExp() ca le fait chier. J'avais mit ta regex dedans et ca posait des pb ... mais je pense savoir pq ... il doit mal interpreter le '.' '\.' ... il doit considérer ca comme l'expression "n'importe quel caractere" ... enfin c bizarre ... j'utiliserai plus ca ! Merci !
gm_superstar

SCREAM78 a écrit a écrit :

Ben elle marche comme la mienne ... meme bug ... on peut rentrer 200 ou 200-20 par ex ... t'avais testé ces cas ?



Hein ? Comment ça ?
 
200 -> Faux
200-20 -> Faux

SCREAM78 [:gotcha]
SCREAM78

El_Gringo a écrit a écrit :

Alors, elle marche finalement cette regex ?




Ben elle marche comme la mienne ... meme bug ... on peut rentrer 200 ou 200-20 par ex ... t'avais testé ces cas ?

SCREAM78 Je vais tester de suite ... je decrypte pour l'instant :D g les cheveux qui commence a tomber lol
El_gringo Alors, elle marche finalement cette regex ?
gm_superstar Bah en fait il y a un gros copier/coller dedans, mais vu que M. scream78 voulais aussi que x.x.x. et autres soient valides ça complique un peu :o
--greg--

gm_superstar a écrit a écrit :

hop ! une petite regex qui permet de savoir si ton IP est bonne
 

function IsValidIp2(ip) {
 
str = /^((((2(5[0-5]|[0-4][0-9]))|([0-1]?[0-9]{1,2}))\.){1,3}|(((2(5[0-5]|[0-4][0-9]))|([0-1]?[0-9]{1,2}))\.){3}((2(5[0-5]|[0-4][0-9]))|([0-1]?[0-9]{1,2})))$/;
 
return str.test(ip);
}





cte regex :ouch:

gm_superstar hop ! une petite regex qui permet de savoir si ton IP est bonne
 

function IsValidIp2(ip) {
 
str = /^((((2(5[0-5]|[0-4][0-9]))|([0-1]?[0-9]{1,2}))\.){1,3}|(((2(5[0-5]|[0-4][0-9]))|([0-1]?[0-9]{1,2}))\.){3}((2(5[0-5]|[0-4][0-9]))|([0-1]?[0-9]{1,2})))$/;
 
return str.test(ip);
}


 
Edit: cela dit la solution de --greg-- est certainement plus simple (mais j'avais un peu de temps à perdre :D )

--greg-- bah avec split notamment
enfin ché pas, c surement faisable avec une regex mais bon, c tordu.
tu splittes, tu testes si c un nbre<=255, etc.
SCREAM78 greg > je fais comment alors ??? La g un peu de mal a voir ...
--greg-- bah fait pas ça avec une regex......
SCREAM78 La version je c po ... en tout cas sur mozilla et opera derniere version ca marche pas mal
El_gringo les regexp en Javascript, c à partir de quelle version ?
c interprété par les vieux navigateurs ?
SCREAM78 Bonjour,
 
J'ai un petit pb avec une regex (en JavaScript).
Le but de cette regex est de valider une adresse IP.
Cette adresse peut etre de la forme : ( 0=<x<=255)
x.x.x.x (normal)
x. (c pour faire des ranges)
x.x. (idem)
x.x.x. (idem)
 
Voila la fonction que j'utilise qui ne marche pas pour tous les cas :
 

Code :
  1. function IsValidIp2(ip)
  2. {
  3. str=new RegExp("((^([0-9]{1,3}\.))([0-9]{1,3}\.){0,2}$)|((^([0-9]{1,3}\.))([0-9]{1,3}\.)([0-9]{1,3}\.)([0-9]{1,3})$)" );
  4. if (str.test(ip))
  5. {
  6.   var SplitIpArray=ip.split("." );
  7.   for (i=0;i<SplitIpArray.length;i++) if (SplitIpArray[i]>255) return false;
  8.   return true;
  9. }
  10. else return false;
  11. }


 
J'arrive à la faire planter ca un chiffre tout con genre 200 passe ... ou 2002-12 par exemple ... je comprend pas pq !
Y'a peut etre une histoire de parenthèses mal placées ... en tout cas celui qui trouve respect ... je me suis bien prit la tête dessus :D
Merci d'avance !


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)