Maison  >  Article  >  interface Web  >  Comment déterminer s'il s'agit d'un nombre en js

Comment déterminer s'il s'agit d'un nombre en js

藏色散人
藏色散人original
2021-03-17 15:36:2081593parcourir

Méthode JS pour déterminer s'il s'agit d'un nombre : 1. Utilisez la fonction isNaN() pour déterminer s'il s'agit d'un nombre ; 2. Utilisez des expressions régulières pour déterminer s'il s'agit d'un nombre ; 3. Utilisez le return ; valeur de parseFloat() pour réaliser le jugement.

Comment déterminer s'il s'agit d'un nombre en js

L'environnement d'exploitation de ce tutoriel : système Windows 7, JavaScript version 1.8.5, ordinateur DELL G3.

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, Les espaces et les chaînes vides sont traités comme 0, la vérification n'est donc pas stricte.

Alors traitez-le et utilisez-le avec le type d'opérateur.

Exemple :

// true:数值型的,false:非数值型
function myIsNaN(value) {
   document.write((typeof value === &#39;number&#39; && !isNaN(value))+"<br>");
}
myIsNaN(10); 
myIsNaN(null); 
myIsNaN( );
myIsNaN();

Sortie :

true
false
false
false

Méthode 2 : Utiliser une expression régulière

(1), cochez tant que S'il s'agit d'un nombre (y compris des entiers positifs et négatifs, 0 et des 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).

/**
* 校验正负正数就返回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 un nombre à virgule flottante.

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 : analyse la chaîne spécifiée dans le paramètre en un nombre à virgule flottante et la renvoie.

/**
* 验证数据 是数字:返回true;不是数字:返回false
**/
function Number(val) {
  if (parseFloat(val).toString() == "NaN") {
    
    return false;
  } else {
    return true;
  }
}
//isNaN(val)不能判断空串或一个空格
//如果是一个空串、空格或null,而isNaN是做为数字0进行处理的,
//而parseInt与parseFloat是返回一个错误消息,这个isNaN检查不严密而导致的。

Etude recommandée : "Tutoriel de base JS"

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn