首页 > web前端 > js教程 > 如何在 JavaScript 中有效验证十进制数字?

如何在 JavaScript 中有效验证十进制数字?

Barbara Streisand
发布: 2024-12-24 02:51:11
原创
327 人浏览过

How to Effectively Validate Decimal Numbers in JavaScript?

在 JavaScript 中验证十进制数:IsNumeric()

问题陈述:

确定在 JavaScript 中验证十进制数字最有效、最清晰的方法,确保跨平台兼容性。

测试用例:

    1. IsNumeric('-1') → true
    1. IsNumeric('-1.5') → true
    1. IsNumeric('0') → true
    1. IsNumeric('0.42 ') → true
    1. IsNumeric('.42') → true
    1. IsNumeric('99,999 ') → false
    1. IsNumeric('0x89f') → false
    1. IsNumeric('#abcdef ') → false
    1. IsNumeric('1.2.3') → false
    1. IsNumeric(' ') → false
    1. IsNumeric('blah') → false

解决方案:

为了实现通用数字验证,无论数据类型如何,组合建议使用 isNaN 和 isFinite:

function isNumeric(n) {
    return !isNaN(parseFloat(n)) && isFinite(n);
}
登录后复制

此代码有效地将任何输入强制转换为数字并检查有效性和有限性。但是,需要注意的是,它还会将十六进制和指数格式视为数字。

其他方法:

  • jQuery 的 isNumeric: 将原始输入字符串与其浮点表示形式进行比较,以确定它们的差异是否小于1.
  • Angular 4.3 isNumeric:从浮点表示中减去值并检查非 NaN 结果。

注意事项:

  • 利用ES6 中的 Number.isNaN 和 Number.isFinite 用于改进类型转换处理。
  • 提供的解决方案将所有数值视为有效,包括十六进制和指数格式。根据具体验证要求调整实施。

以上是如何在 JavaScript 中有效验证十进制数字?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板