moooonaaaa
Messages postés56Date d'inscriptionjeudi 26 juillet 2007StatutMembreDernière intervention29 novembre 2010
-
30 mai 2008 à 09:36
Twinuts
Messages postés5375Date d'inscriptiondimanche 4 mai 2003StatutModérateurDernière intervention14 juin 2023
-
30 mai 2008 à 22:37
<!-- / icon and title -->
<!-- message -->
Salem,
j'ai une chaine de caractére de la forme suivante"a.b.c.d"
je veux faire un test sur ces valeurs.Il faut que tous soit des entiers.
j'utilise Tokenizer pour prendre chaque partie à part(a puis b puis ...) avec le délimiteur point.
mais mon probléme est que lorsque j'utilise.intValue pour la conversion il me retourne un entier donc je sais si a est un entier ou caractére.
comment puis je faire ce test.
cs_jojolemariole
Messages postés519Date d'inscriptionmercredi 21 mars 2007StatutMembreDernière intervention19 décembre 201625 30 mai 2008 à 10:08
Salut,
Personnellement j'aurais fait :
public class TestIP {
public static void main(String[] args) {
String ip = "192.168.1.2";
System.out.println(isIPOK(ip));
}
public static boolean isIPOK(String ip) {
ip = ip.replace(".", "/");
String[] bytes = ip.split("/");
if (bytes.length != 4)
return false;
for (String b : bytes) {
try {
int i = Integer.parseInt(b);
if (i < 0 || i > 255)
return false;
} catch (NumberFormatException e) {
return false;
}
}
return true;
}
}
A noter que si je ne remplace pas les points par un autre caractère dans l'ip, ça ne marche pas car dans une expression régulière, le point vaut n'importe quel caractère.
moooonaaaa
Messages postés56Date d'inscriptionjeudi 26 juillet 2007StatutMembreDernière intervention29 novembre 2010 30 mai 2008 à 21:14
Salem,
je ne comprends pas ces lignes:
private static final Pattern IP_PATTERN =
Pattern.compile("^((25[0-5]|2[0-4]\\d|1?\\d?\\d)\\.){3}(25[0-5]|2[0-4]\\d|1?\\d?\\d)$");
ma chaine dont je veux faire le test est exactement la suivante adr_IP/netmask
comment je peux exploiter ce que vous me dire.
mouna