我是javascript的新学习者。 所以我有这个html文本框。
<form method="get" id="form" action="number.php">
<p><input type="text" id="number" name="number" value="0,0" size="4"/></p>
</form>
使用javascript(不是jquery),正则表达式并且不更改html代码,我只想允许输入正数或pos。数字后跟一个逗号,后跟逗号后只有一个数字。
E.g。 5或23或141或0
E.g。 15,9或0,0或356,4或77,7
这是我的javascript函数的样子,但我不知道如何调用该文本字段“number”的输入函数。并且不确定我的正则表达式是否正确。
number.onkeypress = function validate(s) {
var rgx = /^\d+(,\d{1,1})?$/ ;
if(rgx.test(s)) {
return true;
}
else {
return false;
}
}
所以我的两个问题是:
如何使用正则表达式函数检查文本框的输入,以便只允许使用数字和逗号?
我的正则表达式是否正确?
答案 0 :(得分:0)
你试试这个
<p><input type="text" id="number" name="number" value="0,0" onblur="javascript:validate()" size="4"/></p>
<script>
function validate() {
var numberVar = document.getElementById("number");
var rgx = /^\d+(,\d{1,1})?$/;
if(!rgx.test(numberVar.value)) {
numberVar.value = "";
numberVar.focus();
}
}
</script>