Quand RegExp et toString font bon ménage.

Date décembre 4, 2007

Pour vérifier qu’un nombre est un entier en Javascript, chacun sa méthode. La plus répandue : une boucle for qui vérifie que chaque caratère est un nombre décimal… Voici donc ma méthode où j’utilise les expressions régulières.

1
2
3
4
5
6
function isInt (num) {
	var regexp = new RegExp('^[0-9]+$');
	var result = regexp.test(num.toString());
 
	return(result);
}

Une chose importante à noter est l’appel à la fonction toString() pour pouvoir appliquer une expression régulière, sans ça bonjour les maux de tête !

2 commentaires pour “Quand RegExp et toString font bon ménage.”

  1. Jean dit:

    Une fonction isInt() devrait logiquement renvoyer false lorsqu’elle prend une chaîne en argument. Ta RegExp n’autorise pas non plus les entiers négatifs, voilà la fonction corrigée :


    function isInt(num) {
    if(typeof(num) == 'number') {
    var regexp = new RegExp('^-?[0-9]+$');
    var result = regexp.test(num.toString());
    return result;
    } else return false;
    }

  2. caedes dit:

    Ma méthode renvoie bien false au cas où ce n’est pas un int qui soit passé en paramètre… (???)

    Par contre je prends avec plaisir la modification conditionnelle du signe, merci !

Laisser un commentaire

XHTML: Vous pouvez utiliser ces tags : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>