如何用JS验证输入框只允许输入数字和小数点,且小数点不能超过1个?既小数点只能输入一个,不能输入多个!
<SCRIPT LANGUAGE="JavaScript">
<!--
function check(e){
if(isNaN(e.value)){
alert('你输入的不是一个数字!/n请重新输入')
e.value='';
setTimeout('document.all['+e.sourceIndex+'].focus()',10)
}
}
//-->
</SCRIPT>
<INPUT TYPE="text" NAME="a" οnchange="check(this)">
小数点的问题应怎么解决?
function validate(sDouble){
var re = /^/d+(?=/.{0,1}/d+$|$)/
return re.test(sDouble)
}
alert(validate("1.22")) //true
alert(validate("111")) //true
alert(validate("1..22")) //false
alert(validate("1.2a2")) //false
alert(validate("1.")) //false
#####################
一、
<script type="text/javascript">
function check(evt,me){
evt = evt?evt:window.event;
if(!/^/d+$/.test(me.value)){
if(evt.keyCode==46 && evt.keyCode<48 || evt.keyCode>57){
evt.returnValue=false;
}else{
if(me.value.indexOf(".")!=-1){if(me.value.split(".")[1].length>1){evt.returnValue=false;}}
}}}
</script>
<input type="text" name="t2" style="ime-mode:disabled" onKeyPress="check(event,this)" autocomplete="off" />
二、
<script type="text/javascript">
function check(evt,me){
evt = evt?evt:window.event;
if (evt.keyCode!=46 && evt.keyCode<48 || evt.keyCode>57){
evt.returnValue=false;
}else{
if(me.value.indexOf(".")!=-1){
if(evt.keyCode==46){evt.returnValue=false;}
if(me.value.split(".")[1].length>1){evt.returnValue = false;}
}else{
if(me.value==""){if(evt.keyCode==46){evt.returnValue=false;}}
}
}
}
</script>
<input type="text" name="t2" style="ime-mode:disabled" onKeyPress="check(event,this)" autocomplete="off" />
############限制小数点后面的位数
<HTML>
<HEAD>
<TITLE>limit Decimal</TITLE>
</HEAD>
<script type="text/javascript">
function limitDecimal(obj,length,event)
{
var e = window.event || event;
if(obj.value.indexOf(".") == -1 || obj.value.indexOf(".") > length)
return false;
if(e.keyCode == 37)
return false;//解决光标向左移动的问题
var index = obj.value.indexOf(".");
if(obj.value.length-index-1 < length)
return false;
obj.value = obj.value.substring(0,index) + obj.value.substr(index,length+1);
return false;
}
</script>
<BODY>
<form action="" name="testForm" id="testForm" method="post">
<input name="decimal" type="text" maxlength="5" value="" οnkeyup="limitDecimal(this,1,event)"/>
</form>
</BODY>
</HTML>