function isFloat(textObj){
var tmpFloatValue = textObj.value;
var tmpLength = tmpFloatValue.length;
var count = 0;
for (var i = 0; i < tmpLength; i++){
aChar = tmpFloatValue.substring(i,i+1);
if (aChar != "." && !isNumber(aChar)){
alert("请输入合法数字!");
textObj.focus(this);
textObj.select(this);
return false;
}
}
for (var i = 0; i < tmpLength; i++){
aChar = tmpFloatValue.substring(i,i+1);
count = 0;
if (aChar == "."){
count++;
}
}
if (count > 1){
alert("请输入正确的浮点数!");
textObj.focus(this);
textObj.select(this);
return false;
}
return true;
}
var tmpFloatValue = textObj.value;
var tmpLength = tmpFloatValue.length;
var count = 0;
for (var i = 0; i < tmpLength; i++){
aChar = tmpFloatValue.substring(i,i+1);
if (aChar != "." && !isNumber(aChar)){
alert("请输入合法数字!");
textObj.focus(this);
textObj.select(this);
return false;
}
}
for (var i = 0; i < tmpLength; i++){
aChar = tmpFloatValue.substring(i,i+1);
count = 0;
if (aChar == "."){
count++;
}
}
if (count > 1){
alert("请输入正确的浮点数!");
textObj.focus(this);
textObj.select(this);
return false;
}
return true;
}
<script language="javascript">
function checkinput()
{
if (event.keyCode<48 || event.keyCode>57)
{
event.returnValue=false;
}
}
</script>
这样就搞定了。
if (event.keyCode<48 || event.keyCode>57 || event.keyCode==118)
event.returnValue=false;
if (event.keyCode==46)
event.returnValue=true;
}
if ((event.keyCode<48 && event.keyCode!=46)|| event.keyCode>57 )
event.returnValue=false;
}
可以在提交前再判断输入是否有效还有个方法是防止copy的方法,
<input type="text" onpaste="return false">忘记查阅这个属性是否有浏览器限制了,反正IE5.5 或者 IE6.0都支持的,,呵呵。
<input type=button onclick=go() value=验证>
<script>
function go()
{
var s=t1.value;
r=/^[0-9]$/;
a=r.test(s);
alert(a)
}
</script>