Methode: 1. test() mit regulärem Ausdruck; 2. parseFloat()-Funktion, Syntax „parseFloat(value).toString()=="NaN"“; 3. isNaN()-Funktion, Syntax „typeof value= = ='number'&&!isNaN(value)".
Die Betriebsumgebung dieses Tutorials: Windows 7-System, JavaScript-Version 1.8.5, Dell G3-Computer.
Methode 1: Verwenden Sie test()+regulären Ausdruck
Überprüfen Sie, dass, solange es sich um eine Zahl handelt (einschließlich positiver und negativer Ganzzahlen, 0 sowie positiver und negativer Gleitkommazahlen), true zurückgegeben wird
/** * 校验只要是数字(包含正负整数,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; } }
Methode 2: Verwenden Sie die Funktion parseFloat()
/** * 验证数据 是数字:返回true;不是数字:返回false **/ function Number(val) { if (parseFloat(val).toString() == "NaN") { return false; } else { return true; } }
Methode 3: Verwenden Sie die Funktion isNaN()
// true:数值型的,false:非数值型 function myIsNaN(value) { return typeof value === 'number' && !isNaN(value); }
isNaN() detaillierte Erklärung
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); }
【Empfohlenes Lernen: Javascript-Tutorial für Fortgeschrittene】
Das obige ist der detaillierte Inhalt vonSo ermitteln Sie, ob ein Wert in Javascript eine Zahl ist. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!