我正在为文本框使用脚本,以确保用户只能输入数字而不是文本。
这是我的文本框:
<input type="text" value="" id="tb1" name="tb1" onkeypress="return isNumber(event)" />
这是我的javascript:
function isNumber(evt) {
evt = (evt) ? evt : window.event;
var charCode = (evt.which) ? evt.which : evt.keyCode;
if (charCode > 31 && (charCode < 48 || charCode > 57)) {
return false;
}
return true;
}
我想升级我的JavaScript。我希望文本框接受带有点.
(仅1个点)的输入,例如11.5
我需要在脚本中更改什么才能接受点并将其限制为一个?
答案 0 :(得分:0)
试试这个
<script>
var isHav=false;
function isNumber(evt) {
evt = (evt) ? evt : window.event;
var charCode = (evt.which) ? evt.which : evt.keyCode;
if(charCode == 46){
if(isHav==true){
return false;
}else{
isHav=true;
return true;
}
}
if (charCode > 31 && (charCode < 48 || charCode > 57)) {
return false;
}
return true;
}
</script>
答案 1 :(得分:0)
JavaScript:
<input type="text" value="" id="tb1" name="tb1" onkeypress="return isNumber(event)" />
HTML:
{{1}}
答案 2 :(得分:0)
或者你可以使用它..
function isNumber(evt) {
var theEvent = evt || window.event;
var key = theEvent.keyCode || theEvent.which;
key = String.fromCharCode( key );
var regex = /^[0-9.,]+$/;
if( !regex.test(key) ) {
theEvent.returnValue = false;
if(theEvent.preventDefault) theEvent.preventDefault();
}
}
<input type="text" value="" id="tb1" name="tb1" onkeypress="return isNumber(event)" />
答案 3 :(得分:0)
请按照以下代码:
您需要通过添加此参数来更改函数onkeypress事件 如下所示:
<input type="text" value="" id="tb1" name="tb1" onkeypress="return isNumber(event, this)" />
并按以下方式更改您的功能:
function isNumber(evt, element) {
var charCode = (evt.which) ? evt.which : event.keyCode
if ((charCode != 46 || $(element).val().indexOf('.') != -1) && // “.” CHECK DOT, AND ONLY ONE.
(charCode > 31 && (charCode < 48 || charCode > 57)))
{
return false;
}
return true;
}
您可以查看以下正在运行的代码:
function isNumber(evt, element) {
var charCode = (evt.which) ? evt.which : event.keyCode
if ((charCode != 46 || $(element).val().indexOf('.') != -1) && // “.” CHECK DOT, AND ONLY ONE.
(charCode > 31 && (charCode < 48 || charCode > 57)))
{
return false;
}
return true;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" value="" id="tb1" name="tb1" onkeypress="return isNumber(event, this)" />
&#13;
答案 4 :(得分:-1)
如果符合您的要求,您可以使用type =“number”属性
<input type="text" value="" id="tb1" name="tb1" onkeypress="return isNumber(event)" type="number" />
或使用此
function isNumber(evt)
{
var charCode = (evt.which) ? evt.which : evt.keyCode;
if (charCode != 46 && charCode > 31
&& (charCode < 48 || charCode > 57))
return false;
return true;
}