当前位置: 代码迷 >> Web前端 >> 整型、实型文本框的输入统制
  详细解决方案

整型、实型文本框的输入统制

热度:380   发布时间:2012-06-29 15:48:46.0
整型、实型文本框的输入控制
1、整型控制:其中onkeypress事件说明只能输入0--9之间的数字,其他则无法输入。onKeyDown事件说明当用户按下回车时,将转成tab键,即跳至下一下编辑位置。
<input type="text" name="one" maxlength="8" onkeypress="return event.keyCode>=48 && event.keyCode<=57" onKeyDown="if(event.keyCode==13) event.keyCode=9 ;"/>


2、实型控制:和上面相比,输入时多允许了 一个小数点.(46)和副号-(45)
另:onblur失去焦点事件调用了一个js方法isPlusNum,用于判断实数输入是否有误,如输入了两个小数点的情况
<input type="text" name="one" maxlength="8" onkeypress="return event.keyCode>=48 && event.keyCode<=57 || event.keyCode==46|| event.keyCode==45" onblur="isPlusNum(this,'数值格式有误!')" onKeyDown="if(event.keyCode==13) event.keyCode=9 ;"/>

<script type="text/javascript">
function isPlusNum(obj,info)
{
	var Str=obj.value;
	var StrNum="0123456789.-";
	var IsRight=1;
	var DotNum=0;
	
	if(Str!="")
	for(i=0;i < Str.length;i++)
	{
	   ch=Str.charAt(i);
	   if(ch==".")
	   {
	    if(i==0)
	    {
	     IsRight= 0;
	     break;
	    }
	    else
	       DotNum++;
	   }
	  
	   if(DotNum > 1)
	   {
	    IsRight= 0;
	    break;
	   }
	   if(StrNum.indexOf(ch)==-1)
	   {
	    IsRight= 0;
	    break;
	   }
	}
	else
	{
	   IsRight=0;
	    }
	    
	if(IsRight==0)
	{  
	   alert(info);
	   obj.value=0;
	   obj.focus();
	}
	return IsRight;
}
</script>
  相关解决方案