完美的文本只能输入数字问题!

来源:互联网 发布:传奇霸业数据汇总 编辑:程序博客网 时间:2024/05/01 12:51
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"><html><head>    <title></title>    <script type="text/javascript">    //正整数的验证function valNum(ev){   if(window.event.shiftKey)        {           ev.returnValue = "";        }        else        {    var e = ev.keyCode;    //允许的有大、小键盘的数字,左右键,backspace, delete, Control + C, Control + V    if(e != 48 && e != 49 && e != 50 && e != 51 && e != 52 && e != 53 && e != 54 && e != 55 && e != 56 && e != 57 && e != 96 && e != 97 && e != 98 && e != 99 && e != 100 && e != 101 && e != 102 && e != 103 && e != 104 && e != 105 && e != 37 && e != 39 && e != 13 && e != 8 && e != 46 && e != 9)    {        if(ev.ctrlKey == false)        {            //不允许的就清空!            ev.returnValue = "";        }        else        {            //验证剪贴板里的内容是否为数字!            valClip(ev);        }    }    }}//验证剪贴板里的内容是否为数字!function valClip(ev){    //查看剪贴板的内容!      try    {        var content = clipboardData.getData("Text");        if(content != null)        {            var test = parseInt(content);            var str = "" + test;            if(isNaN(test) == true)            {                //如果不是数字将内容清空!                clipboardData.setData("Text","");            }            else            {                if(str != content)                    clipboardData.setData("Text", str);            }        }    }    catch(e)    {        //清空出现错误的提示!        alert("粘贴出现错误!");    }   }//验证浮点数function valFloat(ev,thisValue){  if(window.event.shiftKey==false){    if(thisValue!="")    {        var e = ev.keyCode;        var re=//./g;        var arr;        if((arr = re.exec(thisValue)) == null)        {                //允许的有大、小键盘的数字,左右键,backspace, delete, Control + C, Control + V,小数点                if(e!=190 && e!=110&& e != 48 && e != 49 && e != 50 && e != 51 && e != 52 && e != 53 && e != 54 && e != 55 && e != 56 && e != 57 && e != 96 && e != 97 && e != 98 && e != 99 && e != 100 && e != 101 && e != 102 && e != 103 && e != 104 && e != 105 && e != 37 && e != 39 && e != 13 && e != 8 && e != 46 && e != 9)                {                    if(ev.ctrlKey == false)                    {                        //不允许的就清空!                        ev.returnValue = "";                    }                    else                    {                        //验证剪贴板里的内容是否为浮点数!                        valFloatClip(ev);                     }                }         }         else         {                                  //允许的有大、小键盘的数字,左右键,backspace, delete, Control + C, Control + V,小数点                if(  e != 48 && e != 49 && e != 50 && e != 51 && e != 52 && e != 53 && e != 54 && e != 55 && e != 56 && e != 57 && e != 96 && e != 97 && e != 98 && e != 99 && e != 100 && e != 101 && e != 102 && e != 103 && e != 104 && e != 105 && e != 37 && e != 39 && e != 13 && e != 8 && e != 46 && e != 9)                {                    if(ev.ctrlKey == false)                    {                        //不允许的就清空!                        ev.returnValue = "";                    }                    else                    {                        //验证剪贴板里的内容是否为浮点数!                        valFloatClip(ev);                     }                }                      }  }  else  {         valNum(ev);  } } else {    ev.returnValue = ""; }}//验证剪贴板里的内容是否为浮点数字!function valFloatClip(ev){    //查看剪贴板的内容!      try    {        //如果不是数字将内容清空!        var content = clipboardData.getData("Text");        if(content != null)        {                     var test = parseFloat(content);            var str = "" + test;            if(isNaN(test) == true)            {                //如果不是数字将内容清空!                clipboardData.setData("Text","");            }            else            {                if(str != content)                    clipboardData.setData("Text", str);            }        }    }    catch(e)    {        //清空出现错误的提示!        alert("粘贴出现错误!");    }   }//正则floatfunction validfloat(thisValue){    var rgExp=/((-//d+(//.//d+)?)|(0+(//.0+)?))/;    var str=thisValue;   if(rgExp.exec(str))   {       return  true;   }   else   {       return false;   }}    </script></head><body>    <form runat="server">        
        正整数<input id="Text1" type="text"  oncontextmenu=window.event.returnValue=false onkeydown=" valNum(event);" style="ime-mode: Disabled;"  /> 
 
        浮点数<input id="Text2" type="text" oncontextmenu=window.event.returnValue=false onkeydown=" valFloat(event,this.value);" style="ime-mode: Disabled;" />  </form></body></html>
原创粉丝点击