Maison > Article > interface Web > Comment vérifier s'il s'agit d'un nombre en javascript
Comment vérifier s'il s'agit d'un nombre en JavaScript : 1. Utilisez la fonction isNaN() pour vérifier ; 2. Utilisez des expressions régulières pour vérifier 3. Utilisez la valeur de retour de parseFloat() pour vérifier ;
L'environnement d'exploitation de cet article : système Windows 7, version JavaScript 1.8.5, ordinateur Dell G3.
Comment vérifier s'il s'agit d'un nombre en JavaScript ?
Méthode 1 : Utiliser la fonction isNaN()
La fonction isNaN() est une fonction globale fournie avec js. La fonction isNaN() est utilisée pour vérifier si son paramètre est une valeur non numérique.
Si la valeur x est la valeur non numérique spéciale NaN (ou peut être convertie en une telle valeur), la valeur renvoyée est vraie ; si la valeur x est une autre valeur, false est renvoyé. L'inconvénient de
isNaN() est que null, espace et chaîne vide seront traités comme 0
NaN : Not a Number
<script> document.write(isNaN(123)); //数字 document.write(isNaN(-1.23)); //数字 document.write(isNaN(5-2)); //数字 document.write(isNaN(0)); //数字 document.write(isNaN("Hello")); //字符串 document.write(isNaN("2005/12/12")); //字符串 </script>
Sortie :
false false false false true true
Inconvénient : isNaN() traitera null, espace et chaîne vide comme 0 0, le contrôle n'est donc pas rigoureux.
Alors traitez-le et utilisez-le avec le type d'opérateur.
Exemple :
// true:数值型的,false:非数值型 function myIsNaN(value) { document.write((typeof value === 'number' && !isNaN(value))+"<br>"); } myIsNaN(10); myIsNaN(null); myIsNaN( ); myIsNaN();
Sortie :
true false false false
Méthode 2 : Utilisez des expressions régulières
(1) pour vérifier que tant qu'il s'agit d'un nombre (y compris les entiers positifs et négatifs, 0 et les nombres à virgule flottante positifs et négatifs), il renverra true
/** * 校验只要是数字(包含正负整数,0以及正负浮点数)就返回true **/ function isNumber(val){ var regPos = /^[0-9]+.?[0-9]*/; //判断是否是数字。 if(regPos.test(val) ){ return true; }else{ return false; } }
( 2). Vérifiez les nombres positifs et négatifs et renverra true
/** * 校验正负正数就返回true **/ function isIntNum(val){ var regPos = / ^\d+$/; // 非负整数 var regNeg = /^\-[1-9][0-9]*$/; // 负整数 if(regPos.test(val) && regNeg.test(val)){ return true; }else{ return false; } }
Méthode 3 : utilisez la valeur de retour de parseFloat()
La fonction parseFloat() peut analyser une chaîne et renvoyer une virgule flottante. nombre.
Cette fonction précise si le premier caractère de la chaîne est un nombre. Si tel est le cas, la chaîne est analysée jusqu'à ce qu'elle atteigne la fin du nombre, et le nombre est renvoyé sous forme de nombre plutôt que de chaîne.
Utilisation : analysez la chaîne spécifiée dans le paramètre en un nombre à virgule flottante et renvoyez-la.
/** * 验证数据 是数字:返回true;不是数字:返回false **/ function Number(val) { if (parseFloat(val).toString() == "NaN") { return false; } else { return true; } } //isNaN(val)不能判断空串或一个空格 //如果是一个空串、空格或null,而isNaN是做为数字0进行处理的, //而parseInt与parseFloat是返回一个错误消息,这个isNaN检查不严密而导致的。
Apprentissage recommandé : "Tutoriel avancé javascript"
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!