js控制文本框只能输入数字(C#...Web)

<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>

<asp:TextBox ID="TBValNum" runat="server" onkeydown="valNum(event);" onpaste="clip(event);"></asp:TextBox>

原文地址:https://www.cnblogs.com/lf6112/p/1632865.html