js控制文本框只能输入数字

 

http://www.cnblogs.com/lf6112/archive/2009/12/26/1632865.html

<script language="javascript">
  //只能输入数字
    function reginput(obj, reg, inputstr)
    {
        if(event.srcelement.getattribute("readonly")||event.srcelement.getattribute("disabled"))return false;
        if(event.keycode<46 || event.keycode>57)return false;
        var docsel = document.selection.createrange();
        if (docsel.parentelement().tagname != "input") return false;
        osel = docsel.duplicate()
        osel.text = ""
        var srcrange = obj.createtextrange()
        osel.setendpoint("starttostart", srcrange)
        var str = osel.text + inputstr + srcrange.text.substr(osel.text.length)
        return reg.test(str)
        }

        function valNum(ev)
        {
        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)
        {
            if(ev.ctrlKey == false)
            {
                //不允许的就清空!
                 ev.returnValue = "";
             }
            else
            {
                //验证剪贴板里的内容是否为数字!
                 valClip(ev);
             }
         }
    }
    //验证剪贴板里的内容是否为数字!
    function valClip(ev)
    {
        //查看剪贴板的内容!
        var content = clipboardData.getData("Text");
        if(content != null)
        {
            try
            {
                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("粘贴出现错误!");
             }
         }
    }
</script>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值