Comment puis-je vérifier si une variable est un nombre entier en Javscript et lancer une alerte pour le confirmer ? Cela ne fonctionne pas ?
Réponses
Trop de publicités?
krisk
Points
940
Cela dépend, voulez-vous aussi pour lancer des chaînes en tant que potentiel entiers?
Cela va faire:
function isInt(value) {
return !isNaN(value) &&
parseInt(Number(value)) == value &&
!isNaN(parseInt(value, 10));
}
Avec des opérations bit à Bit
Simple d'analyser et de vérifier
function isInt(value) {
var x = parseFloat(value);
return !isNaN(value) && (x | 0) === x;
}
De court-circuit, et l'enregistrement d'une opération d'analyse:
function isInt(value) {
if (isNaN(value)) {
return false;
}
var x = parseFloat(value);
return (x | 0) === x;
}
Ou peut-être les deux d'un seul coup:
function isInt(value) {
return !isNaN(value) && (function(x) { return (x | 0) === x; })(parseFloat(value))
}
Tests:
isInt(42) // true
isInt("42") // true
isInt(4e2) // true
isInt("4e2") // true
isInt(" 1 ") // true
isInt("") // false
isInt(" ") // false
isInt(42.1) // false
isInt("1a") // false
isInt("4e2a") // false
isInt(null) // false
isInt(undefined) // false
isInt(NaN) // false
Voici le violon: http://jsfiddle.net/opfyrqwp/28/
Blake Regalia
Points
554
François Wahl
Points
13752
user603749
Points
308