<script>
/**
* @description 判断一个变量是否为数字
* @author shuxiaokai
* @create 2020-11-02 09:24
* @param {any} variable - 任意类型变量
* @return {boolean} 如果是数字则返回true,否则返回false
* @remark
* null NaN undefined => false
* "0.2" "5" => false
* Infinity => false
*/
isNumber(val) {
if (val == null) {
return false;
}
if (typeof val === "number" && Number.isFinite(val) && !Number.isNaN(val)) {
return true;
}
return false;
},
/**
* @description 判断一个变量是否为类数字(严格意义数字或者可以转换为数字的字符串)
* @author shuxiaokai
* @create 2020-11-02 09:29
* @param {any} variable - 任意类型变量
* @return {boolean} 返回字符串
* @remark
* null NaN undefined => false
* Infinity => false
* "0.2" "5" => true
*/
isNumberLike(val) {
if (val.toString().match(/^-?(0\.\d+|[1-9]+\.\d+|[1-9]\d{0,20}|[0-9])$/) || this.isNumber(val)) {
return true;
}
return false;
},
</script>