Bonjour,
J'aimerais verifier que le string entré par l'utilisateur est bien sous le format IP c'es à dire xxx.xxx.xxx.xxx comment faire ca en java?
Merci
Version imprimable
Bonjour,
J'aimerais verifier que le string entré par l'utilisateur est bien sous le format IP c'es à dire xxx.xxx.xxx.xxx comment faire ca en java?
Merci
Tu peux utiliser une Regex, les objets String peuvent gérer en native les Regex.
Bonjour,
Renseigne toi sur la méthode matches de la classe String, elle permet de comparer ta String à une expression régulière assez simplement, tout est dans la javadoc, notamment pour l'expression à donner en paramètre.
a+!
ok merci
mon expressin erguliere est :si je me trompe pas commetn ensuite vérifier ca sur un String?Code:([0-9]{1,3}\.){3}
Code:boolean correct = "MonString".match("([0-9]{1,3}\.){3}");
voila ce que j'ai fait :
Le probleme est que si je donne 10.1.1.1.1.15Code:
1
2
3
4
5
6
7 public static boolean isIpFormat(String ip){ Pattern pattern; Matcher matcher; pattern= Pattern.compile("[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}"); matcher = pattern.matcher(ip); return matcher.find(); }
il me renvoie aussi true...
et aussi je peux ecrire 955.955.955.955
Jette un oeil
http://regexlib.com/Search.aspx?k=ip
j'ai reouvé celle la
Mais mon compilateur java ditCode:Pattern.compile("^(25[0-5]|2[0-4]\d|[0-1]?\d?\d)(\.(25[0-5]|2[0-4]\d|[0-1]?\d?\d)){3}$");
Invalid escape sequence (valid ones are \b \t \n \f \r \" \' \\ )
Petite question pourquoi ne passes tu pas directement ton IP a la method Match de la class String.
http://www.developpez.net/forums/sho...d.php?t=258099
Il faut doubler les "\" pour les déspécialiser dans le language java.
J'ai fait un test, ça a l'air de fonctionner...Code:"125.112.156.113".matches("^(25[0-5]|2[0-4]\\d|[0-1]?\\d?\\d)(\\.(25[0-5]|2[0-4]\\d|[0-1]?\\d?\\d)){3}$")
ya une autre solution, utilisé les InetAdress. Si tu essay de créer un objet de cette classe, ya un try/ctach qui te génère une exception si ta chaine n'est pas au format ip.