【问题标题】:Checking text is only decimal numbers or not?检查文本是否只是十进制数字?
【发布时间】:2020-10-07 08:06:26
【问题描述】:

有没有最有效的方法来验证 JavaScript 中的十进制数?

例如如下:

01. IsDec('-7.7')      => true
02. IsDec('-18')    => true
03. IsDec('0')       => true
04. IsDec('.845')    => true
05. IsDec('0.957')     => true
06. IsDec('0x45f')  => false
07. IsDec('15,87')   => false
08. IsDec('#text') => false
09. IsDec('75.95.69')   => false
10. IsDec('')        => false
11. IsDec('someText')    => false

【问题讨论】:

    标签: javascript validation numbers decimal


    【解决方案1】:

    试试这样:

    console.log(isDec("-12.5"));
    console.log(isDec("12.5"));
    console.log(isDec("0"));
    console.log(isDec(".45"));
    console.log(isDec("1,5"));
    console.log(isDec("#ssdr"));
    
    function isDec(txt) {
        return !isNaN(parseFloat(txt)) && isFinite(txt);
    }

    【讨论】:

      【解决方案2】:

      这是一个用于检查的正则表达式。

      /^-?\d*\.?\d*(?<!^\.?)$/
      

      console.log('--- true cases ---');
      console.log(isDec('-7.7'));
      console.log(isDec('-18'));
      console.log(isDec('0'));
      console.log(isDec('.845'));
      console.log(isDec('0.957'));
      console.log(isDec('16.'));
      
      console.log('--- false cases ---');
      console.log(isDec('0x45f'));
      console.log(isDec('15,87'));
      console.log(isDec('#text'));
      console.log(isDec('75.95.69'));
      console.log(isDec(''));
      console.log(isDec('someText'));
      console.log(isDec('.'));
      
      function isDec(txt) {
        const regex = /^-?\d*\.?\d*(?<!^\.?)$/;
        return regex.test(txt);
      }

      查看结果here

      【讨论】:

        【解决方案3】:

        请尝试以下检查十进制数的功能

        function isDecimal(n) {
           return !isNaN(parseFloat(n)) && isFinite(n);
        }
        

        答案:

        isDecimal('-7.7')      => true
        

        【讨论】:

        猜你喜欢
        • 2023-03-19
        • 2014-10-22
        • 2012-07-20
        • 1970-01-01
        • 1970-01-01
        • 2015-05-23
        • 2013-01-13
        • 2018-08-20
        • 2014-11-14
        相关资源
        最近更新 更多