Es gibt zwei Möglichkeiten, ganze Zahlen zu beurteilen: reguläres Urteil und wörtliches Urteil.
Da die Wort-für-Wort-Beurteilung zu ineffizient ist, wird sie hier nicht beschrieben. Interessierte Leser können sie selbst googeln.
1. Regelmäßiges Urteil
var r = /^ ?[1-9][0-9]*$/; //Positive ganze Zahl
console.log(r.test(1.23));
Wirksamkeitstest:
http://jsfiddle.net/wzsdp9Lc/
Erweiterte Funktionsliste
"^\d $" //Nicht negative Ganzzahl (positive Ganzzahl 0)
"^[0-9]*[1-9][0-9]*$" //Positive Ganzzahl
"^((-\d )|(0 ))$" //Nicht positive Ganzzahl (negative Ganzzahl 0)
"^-[0-9]*[1-9][0-9]*$" // Negative Ganzzahl
"^-?\d $" //Integer
"^\d (
\.\d )?$" //Nicht negative Gleitkommazahl (positive Gleitkommazahl 0)
"^(([0-9] \.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\. [0-9] )|([0-9]*[1-9][0-9]*))$" //Positive Gleitkommazahl
"^((-\d (
\.\d )?)|(0 (\.0 )?))$" //Nicht positive Gleitkommazahl (negative Gleitkommazahl 0)
"^(-(([0-9] \.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]* \.[0-9] )|([0-9]*[1-9][0-9]*)))$" // Negative Gleitkommazahl
"^(-?\d )(
\.\d )?$" //Gleitkommazahl
2. Rundungsurteil
Die Idee dieser Methode besteht darin, nach dem Runden zu bestimmen, ob er dem ursprünglichen Wert entspricht
var num=1.23;
if (parseInt(num) != num) {
console.log(num „ist keine Ganzzahl“);
}
sonst{
console.log(num "ist eine ganze Zahl");
}
Wirksamkeitstest
http://jsfiddle.net/euvn0L1g/1/