Maison > interface Web > js tutoriel > Comment déterminer si une valeur est un nombre en javascript

Comment déterminer si une valeur est un nombre en javascript

青灯夜游
Libérer: 2023-01-05 16:11:34
original
2380 Les gens l'ont consulté

Méthode : 1. test() avec expression régulière ; 2. fonction parseFloat(), syntaxe "parseFloat(value).toString()=="NaN"" ; type de valeur ==='numéro'&&!isNaN(value)".

Comment déterminer si une valeur est un nombre en javascript

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

Méthode 1 : Utilisez test() + expression régulière

pour vérifier que tant qu'il s'agit d'un nombre (y compris les entiers positifs et négatifs, 0 et positif et négatif nombres à virgule flottante), il renverra vrai

/**
* 校验只要是数字(包含正负整数,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;
    }
}
Copier après la connexion

Méthode 2 : utilisez la fonction parseFloat()

/**
* 验证数据 是数字:返回true;不是数字:返回false
**/
function Number(val) {
  if (parseFloat(val).toString() == "NaN") {
    
    return false;
  } else {
    return true;
  }
}
Copier après la connexion

Méthode 3 : utilisez la fonction isNaN()

// true:数值型的,false:非数值型
  function myIsNaN(value) {
    return typeof value === 'number' && !isNaN(value);
  }
Copier après la connexion

isNaN () Explication détaillée

Pour les tableaux vides et les tableaux avec un seul membre numérique, isNaN renvoie false.

isNaN([]) // false
isNaN([123]) // false
isNaN(['123']) // false
Copier après la connexion

La raison pour laquelle le code ci-dessus renvoie false est que ces tableaux peuvent être convertis en valeurs numériques par la fonction Number. Veuillez vous référer au chapitre "Conversion de type de données".

Par conséquent, avant d'utiliser isNaN, il est préférable de déterminer le type de données.

function myIsNaN(value) {
  return typeof value === 'number' && !isNaN(value);
}
Copier après la connexion

[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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal