1:我想让用户全部输入的数字,我是这样写的
if(isNaN(document.getElementById('txtP10_02').value))
{
return alert("请输入数字!");
}
但是,我用的onKeyUp,但是我想让用户如果输入了一个字母的时候,自动提示,并且自动把这个字母给取消了。
如当前值为12,当用户再输入一个a的时候,这个a就不写入文本框,直接提示“请输入数字”
2:字符截取的问题
就是我想保留两位小数,我是这样写的:
fP10_04 = Math.round(document.getElementById('txtP10_04').value*100)/100;
这样写其实很麻烦,而且在做加运算的时候,加起来的数也必须math一下,要不要有可以成为如1.25999999999的这种情况,请问大家是怎么做的,谢谢
if(isNaN(document.getElementById('txtP10_02').value))
{
return alert("请输入数字!");
}
但是,我用的onKeyUp,但是我想让用户如果输入了一个字母的时候,自动提示,并且自动把这个字母给取消了。
如当前值为12,当用户再输入一个a的时候,这个a就不写入文本框,直接提示“请输入数字”
2:字符截取的问题
就是我想保留两位小数,我是这样写的:
fP10_04 = Math.round(document.getElementById('txtP10_04').value*100)/100;
这样写其实很麻烦,而且在做加运算的时候,加起来的数也必须math一下,要不要有可以成为如1.25999999999的这种情况,请问大家是怎么做的,谢谢
if(isNaN(document.getElementById('txtP10_02').value))
{
return alert("请输入数字!");
}
但是,我用的onKeyUp,但是我想让用户如果输入了一个字母的时候,自动提示,并且自动把这个字母给取消了。
如当前值为12,当用户再输入一个a的时候,这个a就不写入文本框,直接提示“请输入数字”
<script>
function IsNumeric(evt)
{
code = evt.keyCode;
return IsNumericAllow(code);
}
function IsNumericAllow(code)
{
if ((code>95 && code<106) || (code>32 && code<41) || (code>47 && code<58) || code==8 || code==46 || code==9 || code == 13)
{
return true;
}
else
{
alert("只能输入数字");
return false;
}
}
</script><input type="text" onkeydown="IsNumeric(event);" />
接分
1. 你用isNaN来判定是不是数字是不行的... 如果我输入"222 " 也能通过验证,所以应该用正则表达式...
var regs=/^\d+$/;
if(!regs.test(document.getElementById('txtP10_02').value))
{
return alert("请输入数字!");
}2.想保留2位数字var regs2=/(\+|\-)?\d+(?=\.\d+)\.\d{2}/i;
var str=document.getElementById('txtP10_04').value.match(regs2)[0];
你输入其它非数字字符的时候根本输入不进去的,大家可以试一下,我就想达到那个效果
alert(a.toFixed(2));