当你使用 JavaScript 时,可以编写一个函数来判断一个变量是否为数字,包括字符串中表示数字的情况。以下是一个示例函数:
function isNumeric(value) {
// 使用 typeof 来判断变量是否为数字类型
if (typeof value === 'number') {
return true;
}
// 使用正则表达式来检查字符串是否表示数字
if (typeof value === 'string' && value.trim() !== '') {
// 去除字符串两端的空格,并检查是否为空字符串
return /^\d+(\.\d+)?$/.test(value.trim());
}
return false;
}
该函数使用 typeof
操作符来检查变量是否为数字类型。如果是数字类型,则返回 true
。如果是字符串类型,它将使用正则表达式来检查字符串是否表示数字。正则表达式 /^\d+(\.\d+)?$/
匹配包含一个或多个数字的字符串,也可以包含一个小数点和小数部分。如果变量不是数字类型也不是符合上述正则表达式的字符串,则返回 false
。
下面是一些使用示例:
console.log(isNumeric(42)); // true
console.log(isNumeric('42')); // true
console.log(isNumeric('3.14')); // true
console.log(isNumeric('0')); // true
console.log(isNumeric('')); // false
console.log(isNumeric('abc')); // false
console.log(isNumeric(true)); // false
console.log(isNumeric(null)); // false
console.log(isNumeric(undefined)); // false