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>
链接地址: http://www.djcxy.com/p/26413.html
上一篇: Javascript Approved Number in RegExp
下一篇: How to get validation to work properly on my input fields