javascript 判断是否为数字
function isNumberTest(str) {
const method1 = (v) => {
let exp = /^[+-]?\d*(\.\d*)?(e[+-]?\d+)?$/;
// exp.test("+1.9"); // true
// exp.test("-.1e11"); // true
return exp.test(v) && str !== "";
};
const method2 = (v) => {
return !isNaN(parseFloat(v)) && isFinite(v);
};
// const test = () => {
// console.log("null", isNumberTest(null));
// console.log("undefined", isNumberTest(undefined));
// console.log("NaN", isNumberTest(parseInt("a")));
// console.log("empty string", isNumberTest(""));
// console.log("123", isNumberTest("123"));
// console.log("123abc", isNumberTest("123abc"));
// console.log("0.1", isNumberTest("0.1"));
// console.log(0, isNumberTest(0));
// console.log(0.1, isNumberTest(0.1));
// console.log(-0.1, isNumberTest(-0.1));
// };
return method1(str);
}