gpt4 book ai didi

javascript - 验证节点请求正文参数类型

转载 作者:行者123 更新时间:2023-12-01 01:39:27 25 4
gpt4 key购买 nike

我正在开发一个 API 路由 Controller ,我必须确保请求正文中发送的 count 参数是一个数字。检查 typeof count 始终返回 string

如何正确验证 count 是一个数字?

// sample request 1 -  { count: '90' }

(req, res, next) => {
const { count } = req.body;

console.log(typeof count);
// string
}

最佳答案

简单的检查就是使用typeof

const request = {val:4};
console.log(typeof request.val === 'number'); // true

问题会出现在这里:

console.log(typeof Number.NaN === 'number'); // true
console.log(typeof new Number(5) === 'number'); // false

对于更复杂的解决方案,您可以尝试这个。

function isNumberStrict(num) {
const check = num && typeof num.valueOf === 'function' ? num.valueOf() : num;
return typeof check === 'number' && Number.isFinite(check);
}


console.log(isNumberStrict('4')); // false
console.log(isNumberStrict(Number.NaN)); // false
console.log(isNumberStrict(5)); // true
console.log(isNumberStrict(new Number(4))); //true

如果您需要(想要),您可以从 npm 获取此信息

npm i is-number-strict

关于javascript - 验证节点请求正文参数类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52552540/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com