Javascript的批准号码在RegExp
这个问题在这里已经有了答案:
改变你的功能
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>
上一篇: Javascript Approved Number in RegExp
下一篇: How to get validation to work properly on my input fields
