Heim > Artikel > Web-Frontend > js bestimmt, ob der Wert eine Zahl ist
JS-Methode, um zu bestimmen, ob der Wert eine Zahl ist: 1. Verwenden Sie die Funktion isNaN(), um zu bestimmen, ob der Wert eine Zahl ist. 2. Verwenden Sie reguläre Ausdrücke, um zu bestimmen, ob der Wert eine Zahl ist. 3. Verwenden Sie die Funktion parseFloat(; )-Funktion, um zu bestimmen, ob der Wert eine Zahl ist.
Die Betriebsumgebung dieses Artikels: Windows 7-System, DELL G3-Computer
JS, um zu bestimmen, ob der Wert eine Zahl ist
1 Verwenden Sie die Funktion isNaN()
Der Nachteil von isNaN() ist null und Leerzeichen. Und die leere Zeichenfolge wird als 0 behandelt.
NaN: Keine Zahl
isNaN() Ausführliche Erklärung [Empfohlen:js-Basis-Tutorial
]Referenzlink: https://wangdoc.com/javascript/types/number.html#isnanFür leere Arrays und Arrays mit nur einem numerischen Mitglied , isNaN
gibt false
zurück.
/** *判断是否是数字 * **/ 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; } }
Der Grund, warum der obige Code false
zurückgibt, ist, dass diese Arrays mit der Funktion Number
in numerische Werte umgewandelt werden können. Weitere Informationen finden Sie im Kapitel „Datentyp“. Konvertierung".
Vor der Verwendung von isNaN
ist es daher am besten, den Datentyp zu bestimmen. isNaN
返回false
。
// true:数值型的,false:非数值型 function myIsNaN(value) { return typeof value === 'number' && !isNaN(value); }
上面代码之所以返回false
,原因是这些数组能被Number
函数转成数值,请参见《数据类型转换》一章。
因此,使用isNaN
isNaN([]) // false isNaN([123]) // false isNaN(['123']) // false
2. Verwenden Sie reguläre Ausdrücke
(1),prüfen Sie, ob es wahr ist, solange es sich um eine Zahl handelt (einschließlich positiver und negativer Ganzzahlen, 0 und positiver und negativer Gleitkommazahlen)
function myIsNaN(value) { return typeof value === 'number' && !isNaN(value); }(2 ),
check Positive und negative Zahlen geben true zurück
/** * 校验只要是数字(包含正负整数,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; } }
3 Verwenden Sie die Funktion parseFloat()
/** * 校验正负正数就返回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; } }
Das obige ist der detaillierte Inhalt vonjs bestimmt, ob der Wert eine Zahl ist. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!