Javascript的批准号码在RegExp

这个问题在这里已经有了答案:

  • 验证JavaScript中的十进制数 - IsNumeric()48回答

  • 改变你的功能

    function myFunction()
    {
    var str = document.getElementById("number_field").value;
    var res = str.replace(/[^0-9.}]/g,"");
      if (res.indexOf('.') !== res.lastIndexOf('.')) {
        document.getElementById("approved_number").innerHTML="";
      } else {
       document.getElementById("approved_number").innerHTML=res;
      }
    }
    

    示例:

    http://jsbin.com/UNOHoYek/1


    请参阅http://jsbin.com/OKoJuloQ/3/获取可能的答案。

    改变用户输入而不提供反馈可能不是一个好主意。

    最好只处理可以作为一个数字,并报告其余的。

    window.alert只是报告它的一种方法。

    重要的一点是转换为Number并针对NaN进行测试。

    CODE (也可通过上面的链接获得)

    <!DOCTYPE html>
    <html>
    <body>
    <input type="text" value="" id="number_field">
    <button onclick="myFunction()">Submit</button>
    <p id="approved_number"></p>
    <script>
      function myFunction() {
        try {
          var str = document.getElementById("number_field").value;
          // var res = str.replace(/[^0-9.}]/g,"");
          var res = str;
          if (Number.isNaN(Number(res))) {
            window.alert(res + " is not a number (NaN)nOnly digits, decimal point,nand exponent (e.g. 3.2e4) are allowed");
          } else {
            document.getElementById("approved_number").innerHTML=Number(res).toString(10);
          }
        } catch (exception) {
          window.alert(exception);
        }
      }
    </script>
    </body>
    </html>
    
    链接地址: http://www.djcxy.com/p/26413.html

    上一篇: Javascript Approved Number in RegExp

    下一篇: How to get validation to work properly on my input fields