cs_Delphiprog
Messages postés4297Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 9 janvier 2013
-
1 avril 2009 à 21:06
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 2021
-
12 août 2009 à 18:14
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
cs_Delphiprog
Messages postés4297Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 9 janvier 201332 2 avril 2009 à 09:41
C'est encore moi ! :(
1199.1199.1199.1199 est validé alors qu'il ne le devrait pas. Si une valeur commence par le chiffre "1", alors elle ne peut être suivie que par deux digits maximum. Or, dans ton expression :
[1-9]|1*\d{2}|2[0-5]{2}
L'astérisque derrière le 1 dans la deuxième alternative permet de mettre autant de 1 que voulu. Il suffit donc de le retirer.
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 2 avril 2009 à 09:26
12 août 2009 à 18:14
gaffe, elle autorise:
127.0.0.0
0.0.0.1
0.0.0.0
12 août 2009 à 16:18
dans le temps j'avais trouvé ça, ça paraît plus court, non ?
^((25[0-5]|2[0-4]\d|1?\d?\d)\.){3}(25[0-5]|2[0-4]\d|1?\d?\d)$
2 avril 2009 à 18:05
Merci pour ce code.
2 avril 2009 à 09:46
je devais penser à un 1? (pour gérer les 11 -> 99)
\b(?:[1-9]|1?\d{2}|2[0-5]{2})\.(?:(?:\d|1?\d{2}|2[0-5]{2})\.){2}(?:[1-9]|1?\d{2}|2[0-5]{2})\b
Valide:
192.168.0.1 ss
127.0.0.1
10.40.1.10
255.12.3.255
7.123.2.23
1.0.0.1
42.21.32.45
Non-valide:
256.10.40.30
1199.1199.1199.119
255.255.255.no-ip
127.0.0.
127-0-0-1
127.0.0.0
0.0.0.1
9994.12.123.124
456.123.456.789
0.0.0.0
2 avril 2009 à 09:41
1199.1199.1199.1199 est validé alors qu'il ne le devrait pas. Si une valeur commence par le chiffre "1", alors elle ne peut être suivie que par deux digits maximum. Or, dans ton expression :
[1-9]|1*\d{2}|2[0-5]{2}
L'astérisque derrière le 1 dans la deuxième alternative permet de mettre autant de 1 que voulu. Il suffit donc de le retirer.
2 avril 2009 à 09:26
si ca choque, on peut utiliser :
\b(?:[1-9]|1*\d{2}|2[0-5]{2})\.(?:(?:\d|1*\d{2}|2[0-5]{2})\.){2}(?:[1-9]|1*\d{2}|2[0-5]{2})\b
Valide:
192.168.0.1 ss
127.0.0.1
10.40.1.10
255.12.3.255
7.123.2.23
1.0.0.1
Non-valide:
256.10.40.30
255.255.255.no-ip
127.0.0.
127-0-0-1
127.0.0.0
0.0.0.1
9994.12.123.124
456.123.456.789
0.0.0.0
2 avril 2009 à 09:12
Je sais, je suis ch...t :)
Bon courage.
2 avril 2009 à 08:51
corrigeons:
\b(?:(\d|1*\d{2}|2[0-5]{2})\.){3}(\d|1*\d{2}|2[0-5]{2})\b
Valide:
192.168.0.1 ss
127.0.0.1
10.40.1.10
255.12.3.255
7.123.2.23
Non-valide:
256.10.40.30
255.255.255.no-ip
127.0.0.
127-0-0-1
9994.12.123.124
456.123.456.789
1 avril 2009 à 21:06
Il serait bon aussi de préciser que cette expression n'est valable que pour les adresses IP V4.