Heim  >  Artikel  >  Web-Frontend  >  So überprüfen Sie, ob es sich in Javascript um einen numerischen Typ handelt

So überprüfen Sie, ob es sich in Javascript um einen numerischen Typ handelt

藏色散人
藏色散人Original
2021-10-19 14:22:314132Durchsuche

Methoden für JavaScript, um zu überprüfen, ob es sich um einen numerischen Typ handelt: 1. Verwenden Sie die Funktion isNaN(), um zu beurteilen, ob der Wert eine Zahl ist. 2. Verwenden Sie reguläre Ausdrücke, um zu beurteilen. 3. Verwenden Sie die Funktion parseFloat(), um zu beurteilen.

So überprüfen Sie, ob es sich in Javascript um einen numerischen Typ handelt

Die Betriebsumgebung dieses Artikels: Windows 7-System, JavaScript-Version 1.8.5, Dell G3-Computer.

Javascript Überprüfen Sie, ob es sich um einen numerischen Typ handelt? JS bestimmt, ob der Wert eine Zahl ist

1. Der Nachteil der Verwendung der Funktion isNaN()

isNaN() besteht darin, dass Nullen, Leerzeichen und leere Zeichenfolgen als 0 behandelt werden

NaN: Keine Zahl

/**
*判断是否是数字
*
**/
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; 
  } 
}

Die Funktion

isNaN() zur Bestimmung, ob ein Wert eine Zahl ist, ist die korrekteste Methode:

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

isNaN() Ausführliche Erklärung

Referenzlink: https://wangdoc.com/javascript/types/number .html#isnan

Für leere Arrays und Arrays mit nur einem numerischen Element gibt isNaN false zurück.

isNaN([]) // false
isNaN([123]) // false
isNaN(['123']) // false

Der Grund, warum der obige Code false zurückgibt, ist, dass diese Arrays mit der Number-Funktion in numerische Werte konvertiert werden können. Weitere Informationen finden Sie im Kapitel „Datentypkonvertierung“.

Vor der Verwendung von isNaN ist es daher am besten, den Datentyp zu bestimmen.

function myIsNaN(value) {
  return typeof value === 'number' && !isNaN(value);
}

2. Verwenden Sie reguläre Ausdrücke

  (1), prüfen Sie, ob es sich um eine Zahl handelt (einschließlich positiver und negativer Ganzzahlen, 0 und positiver und negativer Gleitkommazahlen), es wird true zurückgegeben

/**
* 校验只要是数字(包含正负整数,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), Überprüfen Sie, ob Sie die positiven und negativen Zahlen überprüfen. Es wird „true“ zurückgegeben.

/**
* 校验正负正数就返回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;
    } 
}

3. Verwenden Sie die Funktion parseFloat()

Das obige ist der detaillierte Inhalt vonSo überprüfen Sie, ob es sich in Javascript um einen numerischen Typ handelt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn