Il existe deux manières de juger des nombres entiers : le jugement régulier et le jugement littéral.
Le jugement mot par mot étant trop inefficace, il ne sera pas décrit ici. Les lecteurs intéressés peuvent le rechercher eux-mêmes sur Google.
1. Jugement régulier
var r = /^ ?[1-9][0-9]*$/; //Entier positif
console.log(r.test(1.23));
Test d'efficacité :
http://jsfiddle.net/wzsdp9Lc/
Liste des fonctions étendues
"^\d $" //Entier non négatif (entier positif 0)
"^[0-9]*[1-9][0-9]*$" //Entier positif
"^((-\d )|(0 ))$" //Entier non positif (entier négatif 0)
"^-[0-9]*[1-9][0-9]*$" // Entier négatif
"^-?\d $" //Entier
"^\d (
\.\d )?$" //Nombre à virgule flottante non négatif (nombre à virgule flottante positif 0)
"^(([0-9] \.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\. [0-9] )|([0-9]*[1-9][0-9]*))$" //Nombre à virgule flottante positif
"^((-\d (
\.\d )?)|(0 (\.0 )?))$" //Nombre à virgule flottante non positif (nombre à virgule flottante négatif 0)
"^(-(([0-9] \.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]* \.[0-9] )|([0-9]*[1-9][0-9]*)))$" //Nombre à virgule flottante négatif
"^(-?\d )(
\.\d )?$" //Nombre à virgule flottante
2. Jugement arrondi
L'idée de cette méthode est de déterminer si elle est égale à la valeur d'origine après arrondi
var num=1.23;
if (parseInt(num) != num) {
console.log(num "est un nombre non entier");
>
autre{
console.log(num "est un entier");
>
Test d'efficacité
http://jsfiddle.net/euvn0L1g/1/