bonjour,
comment tester, à l'aide d'une expression régulière, si une valeur saisie est un nombre entier sauf 85 ?
Version imprimable
bonjour,
comment tester, à l'aide d'une expression régulière, si une valeur saisie est un nombre entier sauf 85 ?
je dirais: [ [0-9]+&&[^85]]Citation:
Envoyé par jakouz
à tester...
Pour tester si une chaine de caractères est un nombre entier avec une expression régulière c'est très simple : "\d+" ou "[0-9]+".
Par contre je pense qu'il serait assez compliqué (si c'est faisable) d'exclure une certaine valeur dans la même expression régulière.
Le plus simple est encore de faire deux tests différents, un pour vérifier s'il s'agit d'un entier et l'autre pour la valeur à exclure.
ou encoreCode:
1
2
3
4
5
6
7
8
9 if(value.matches("\\d+")) { if("85".equals(value)) { // valeur = 85 } else { // valeur OK } } else { // pas un entier }
Code:
1
2
3
4
5
6
7
8
9
10 if(value.matches("\\d+")) { int i = Integer.parseInt(value); if(i == 85) { // valeur = 85 } else { // valeur OK } } else { // pas un entier }
le problème est que cela doit etre fait au niveau du fichier validation.xml et donc avec une expression régulière obligatoirement. en effet, le formulaire qui contient la zone à controler dérive de ValidatorForm (Struts)
Et tu peux pas faire un composition de règle ?Citation:
Envoyé par jakouz
(Règle1: est un entier ) && (Règle2: différent de 85)
Matthieu