gpt4 book ai didi

javascript - 是否有任何 javascript 或 jquery 函数可以确定字符串是数字还是日期?

转载 作者:太空宇宙 更新时间:2023-11-04 16:29:54 24 4
gpt4 key购买 nike

我想知道是否有一个 JavaScript 函数可以确定输入字符串是数字还是日期还是两者都不是。

这是我的函数和 codepen :

function isNumeric(n) {
// http://stackoverflow.com/questions/9716468/is-there-any-function-like-isnumeric-in-javascript-to-validate-numbers
return !isNaN(parseFloat(n)) && isFinite(n);
}
function number_or_string(i) {
// http://stackoverflow.com/questions/7657824/count-the-number-of-integers-in-a-string
if (i.length == 10 && i.replace(/[^0-9]/g, "").length) {
result = 'date'
} else if (isNumeric(i)) {
result = 'number'
} else {
result = 'string'
}
return result
}

是否有一个预构建的函数可以执行此操作(或者可能是一个更好的函数,因为上述函数显然有局限性)?

最佳答案

简短回答:不,不是。

这是因为日期可以多种格式显示。您可以使用字符串日期、日期日期或数字日期。 Unix 时间戳本质上只是一个 1 到 10 位的整数。您需要上下文才能确定该整数代表什么。

但是,您的代码中需要这样的函数这一事实表明存在更大的问题。理想情况下,您应该了解函数输出的数据类型和格式。如果您使用 API,它应该有一个记录良好的接口(interface),从而帮助您避免此问题。

但如果您只需要 90% 的时间都有效的东西,您可以尝试一下。

function isDate (x) {
if (x instanceof Date) { return true; }

if (typeof x === String && !isNaN(Date.parse(x))) { return true; }

return false;
}

关于javascript - 是否有任何 javascript 或 jquery 函数可以确定字符串是数字还是日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39905222/

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