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 :
- function IsValidIp2(ip)
- {
- 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})$)" );
- if (str.test(ip))
- {
- var SplitIpArray=ip.split("." );
- for (i=0;i<SplitIpArray.length;i++) if (SplitIpArray[i]>255) return false;
- return true;
- }
- else return false;
- }
|
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
Merci d'avance !
Message édité par SCREAM78 le 20-08-2002 à 17:11:38
---------------
Gates gave us the windows ... Linux gave us the whole house ...