为什么我的函数在传递字符串时返回 true
Why is my function returning true when a string is passed?
>我创建了一个函数来检查传递的参数是整数还是浮点数。但是由于某种原因,当我传入字符串时,它会继续返回 true。我不明白这是怎么回事??
如果有人能帮助我解决这个问题,我将不胜感激
function isNumeric(val){
var patt = new RegExp('^[0-9]+$');
return (patt.test(val) || Math.floor(val) !== val);
}
console.log(isNumeric("Hello")); //Returns true??
此外,您可以参考下面的小提琴。正则表达式模式是成功的,但 Math.floor() 评估是有问题的。
https://jsfiddle.net/joedonahue/8uw0cr4y/1/
function isNumeric(val){
var patt = new RegExp('^[0-9]+$');
return (patt.test(val));
//return Math.floor(val) !== val;
}
alert(isNumeric("Hello")); //Returns true??
传入字符串时,具有以下表达式:
patt.test("Hello") || Math.floor("Hello") !== "Hello"
然后变成:
false || NaN !== "Hello"
然后变成:
false || true
由于如果 ||
的任何一个参数为真值,则返回真值,因此返回 true
。
请参阅 JavaScript 中是否有一种(内置)方法来检查字符串是否为有效数字?了解如何正确执行检查。
相关文章:
- PHP strtotime()为JavaScript日期字符串返回false
- 如何将表单数据传递给PHP并将json字符串返回给Javascript
- 解析JSON字符串返回未定义的结果
- Javascript:解析csv中的字符串返回NaN(不是数字)
- 使用$se.trustAsHtml呈现字符串返回未定义的结果
- 将字符串返回到类型为“0”的输出字段;数字“;针对用户错误javascript
- 如何使用一些变量参数从javascript函数调用 asp.net C#函数并从C#函数获取字符串返回
- 函数:根据字符串中是否存在子字符串返回 True/False
- 如何使用 JavaScript 区分布尔值和字符串返回值
- 将 React 的方法 'return' 作为字符串返回
- 调用不带括号的函数会将整个函数作为字符串返回
- 如何在 ajax 调用中接受来自控制器的字符串返回
- Jquery - 匹配动态日期字符串返回使用长度的匹配量
- json_encode使用 jquery.get() 发布数据时将数组作为字符串返回
- 缓冲区中的nodejs解码字符串返回多行字符串
- 如何将关联数组键作为字符串返回
- python's mechanize和forms:javascript字符串返回
- 将呈现的ejs视图作为服务内的html字符串返回
- CSV文件作为单个字符串返回
- jQuery中的HTML字符串返回错误