Vérifier qu'une variable est un nombre entier.

Soyez le premier à donner votre avis sur cette source.

Snippet vu 33 152 fois - Téléchargée 29 fois

Contenu du snippet

Salut !

Bon, voila, ça fait plusieurs fois que je vois cette demande sur le forum alors j'ai décidé de mettre ce petit bout de code.

En fait, c'est une fonction qui vérifie qu'une variable est un nombre. C'est à dire que la variable contient uniquement
des chiffres et aucun autres caractéres.

Source / Exemple :


<script type="text/javascript">
function verif_numeric(variable)
{
   var exp = new RegExp("^[0-9]+$","g");
   return exp.test(variable);
}
</script>

Conclusion :


Voila, c'est tout simple et bien optimisé je pense !

Et pour finir, quelques tests :

<script type="text/javascript">
la_variable = "cac40";
if(verif_numeric(la_variable))
{
window.document.write(la_variable+' : Cette variable est numérique. <br />');
}
else
{
window.document.write(la_variable+' : Cette variable n\'est pas un numérique. <br />');
}

la_variable = "2005";
if(verif_numeric(la_variable))
{
window.document.write(la_variable+' : Cette variable est numérique. <br />');
}
else
{
window.document.write(la_variable+' : Cette variable n\'est pas un numérique. <br />');
}
</script>

A voir également

Ajouter un commentaire

Commentaires

Messages postés
2
Date d'inscription
mardi 10 juillet 2012
Statut
Membre
Dernière intervention
10 juillet 2012

Il y a bien plus simple, comme le suggérait GILDIS:

if (parseInt(nombre) == nombre){alert("entier");}

c'est tout.
Messages postés
27
Date d'inscription
dimanche 12 novembre 2006
Statut
Membre
Dernière intervention
16 juin 2009

bon code simple efficace
Messages postés
454
Date d'inscription
samedi 16 avril 2005
Statut
Membre
Dernière intervention
18 avril 2007
1
GILDIS >> Comment comptes-tu utiliser parseInt() ?
Messages postés
454
Date d'inscription
samedi 16 avril 2005
Statut
Membre
Dernière intervention
18 avril 2007
1
Mais bon, c'est plus simple avec une RegExp. Au passage, tu peux encore alleger ton code :

var isEntier=function(variable){return new RegExp("^[0-9]+$","g").test(x)};
donnera :
if(isEntier(mavariable)){alert("entier")}else{alert("pas entier")};
Messages postés
454
Date d'inscription
samedi 16 avril 2005
Statut
Membre
Dernière intervention
18 avril 2007
1
Essaie mon code :

document.write(variable + !isNaN(Number(variable)) && Math.round(variable)==variable ? " : Cette variable est un nombre entier." : " : Cette variable n'est pas un nombre entier";

Number : Convertit "variable" en un nombre ("15692" >> 15692) ou renvoi NaN ("coucou" >> NaN)
isNaN : Vérifie si la variable est bien un nombre (Not a Number) revoie false si oui et true sinon.
Math.round(variable)==variable : arrondi la variable et verifie si elle est égale :
(15.692 >arrondi> 15 // 15!=15.692)
(8 >arrondi> 8 // 8=8)
Afficher les 17 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.