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

<!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("粘贴出现错误!");

    }

   

}

//正则float

function 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"  οncοntextmenu=window.event.returnValue=false οnkeydοwn=" valNum(event);" style="ime-mode: Disabled;"  /> 
 
        浮点数<input id="Text2" type="text" οncοntextmenu=window.event.returnValue=false οnkeydοwn=" valFloat(event,this.value);" style="ime-mode: Disabled;" />  </form> </body> </html>
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值