Maison >interface Web >js tutoriel >Comment déterminer si une valeur spécifiée est un nombre en javascript
Méthode de jugement : 1. Utilisez la fonction isNaN(), la syntaxe "isNaN(value)", si la valeur est un nombre, retournez false ; 2. Utilisez la valeur de retour de typeof, la syntaxe "typeof(value)" , si la valeur renvoyée est « Nombre », c'est un nombre ; 3. Utilisez des expressions régulières pour juger.
L'environnement d'exploitation de ce tutoriel : système Windows 7, JavaScript version 1.8.5, ordinateur Dell G3.
javascript détermine si la valeur spécifiée est un nombre
Méthode 1 : fonction isNaN() La fonction
isNaN() peut déterminer si la valeur n'est pas un nombre (Not-a-Number). Cette fonction renvoie vrai si la valeur est égale à NaN. Sinon, retournez false. L'inconvénient de
var c="hello"; //字符串 isNaN(c); //返回一个true; var c=10; //数字 isNaN(c);//返回一个false
isNaN() est que null, espace et chaîne vide seront traités comme 0, ce qui doit être optimisé
/** *判断是否是数字 * **/ function isRealNum(val){ // isNaN()函数 把空串 空格 以及NUll 按照0来处理 所以先去除, if(val === "" || val ==null){ return false; } if(!isNaN(val)){ //对于空数组和只有一个数值成员的数组或全是数字组成的字符串, //isNaN返回false,例如:'123'、[]、[2]、['123'],isNaN返回false, //所以如果不需要val包含这些特殊情况,则这个判断改写为if(!isNaN(val) && typeof val === 'number' ) return true; } else{ return false; } }
Méthode 2 : utilisez la valeur de retour de typeof
Méthode de vérification : si le retour la valeur est Number , c'est un nombre ; si la valeur de retour est une String ou autre, ce n'est pas un nombre. Comme indiqué ci-dessous :
var a=123; var b='123abc'; typeof(a) //Number typeof(b) //String
Méthode 3 : Utilisez des expressions régulières
(1) et vérifiez 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 sera return true
/** * 校验只要是数字(包含正负整数,0以及正负浮点数)就返回true **/ function isNumber(val){ var regPos = /^\d+(\.\d+)?$/; //非负浮点数 var regNeg = /^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$/; //负浮点数 if(regPos.test(val) && regNeg.test(val)){ return true; }else{ return false; } }
(2), Vérifiez les nombres positifs et négatifs et renvoie 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; } }
[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!