猿问

检查变量是否为JavaScript中的数字或字符串

检查变量是否为JavaScript中的数字或字符串

有谁知道如何在JavaScript中检查变量是数字还是字符串?



qq_笑_17
浏览 744回答 3
3回答

慕神8447489

最好的方法是使用isNaN +类型转换:更新了全押方法:function isNumber(n) { return !isNaN(parseFloat(n)) && !isNaN(n - 0) }使用正则表达式相同:function isNumber(n) { return /^-?[\d.]+(?:e-?\d+)?$/.test(n); } ------------------------isNumber ('123'); // true  isNumber ('123abc'); // true  isNumber (5); // true  isNumber ('q345'); // falseisNumber(null); // falseisNumber(undefined); // falseisNumber(false); // falseisNumber('   '); // false

汪汪一只猫

我找到的最好的方法是检查字符串上的方法,即:if (x.substring) {// do string thing} else{// do other thing}或者如果您想对数字属性进行数字检查,if (x.toFixed) {// do number thing} else {// do other thing}这有点像“鸭子打字”,这取决于你哪种方式最有意义。我没有足够的业力来评论,但是对于盒装字符串和数字,typeof失败,即:alert(typeof new String('Hello World'));alert(typeof new Number(5));会警告“对象”。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答