Quelle serait la regex pour les nombres allant de 1 à 10 et de 1 à 5 ? Veuillez aider cette âme en peine.
Réponses
Trop de publicités?Vous pourriez y parvenir en vérifiant facilement les chiffres en javascript :
// Convert input to integer just to be sure
mynum = parseInt(mynum, 10);
// Check number-range
if(mynum >= 1 && mynum <=10)
and
if(mynum >= 1 && mynum <=5)
Si vous voulez vraiment utiliser le regex :
/^([1-9]|10)$/
and
/^[1-5]$/
UPDATE :
- Correction de la première regex pour qu'elle corresponde correctement aux limites de la chaîne de caractères
- Ajout de parseInt au premier exemple pour assurer une vérification correcte des nombres.
Utilisez la comparaison numérique. L'extension Nombre suivante permet de vérifier si un nombre se situe entre deux valeurs :
Number.prototype.between =
function(lower,upper, includeBoundaries){
lower = Number(lower);
upper = Number(upper);
noCando = isNaN(lower) ||
isNaN(upper) ||
lower>=upper;
if ( noCando ) {
throw 'wrong arguments or out of range';
}
return includeBoundaries
? this >= lower && this <= upper
: this > lower && this < upper
};
// usage:
(12).between(1,12); /=> false
(12).between(1,12,true); /=> true
(12).between(0,15,true); /=> true
(0).between(-5,1); //=> true
La fonction convertit les paramètres en nombre parce que 0 peut être évalué en booléen en javascript, pour pouvoir vérifier si les paramètres sont des valeurs réelles et pour pouvoir vérifier si lower n'est pas supérieur/égal à upper. Dans ces cas, une erreur est générée.
En includeBoundaries
vérifie également si un nombre est égal à inférieur ou supérieur, s'il n'est pas fourni, la fonction renvoie un véritable contrôle "entre".
- Réponses précédentes
- Plus de réponses