javascript - 如何禁用字母和特殊字符的粘贴选项但为数字启用

标签 javascript asp.net textbox numbers paste

我使用此代码来限制输入字母字符

  <script type="text/javascript">
    function isNumber(evt) {
        evt = (evt) ? evt : window.event;
        var charCode = (evt.which) ? evt.which : evt.keyCode;
        if (charCode > 31 && (charCode < 48 || charCode > 57)) {
            return false;
        }
        return true;
    }

</script>
<asp:TextBox ID="txtCode" runat="server" Width="15%"   onkeypress="return isNumber(event)"/>

但我可以粘贴其中的字母字符(我不想要)。

当我使用这段代码时,粘贴选项禁用但是,我不能粘贴偶数

   <asp:TextBox ID="txtCode" runat="server" Width="15%" ondrop="return false;"
     onpaste="return false;" onkeypress="return isNumber(event)" />

但我想粘贴 数字 :(,我该怎么做?。

最佳答案

首先你应该使用 type="number" 来像现代浏览器中的 HtML5 一样具有语义意义和表单验证,并获得所有的实时功能你可以试试这个浏览器:

function isNumber(ev) {
    if (ev.type === "paste" || ev.type === "drop") {
        var textContent = (ev.type === "paste" ? ev.clipboardData : ev.dataTransfer).getData('text');
        return !isNaN(textContent) && textContent.indexOf(".") === -1;
    } else if (ev.type === "keydown") {
        if (ev.ctrlKey || ev.metaKey) {
            return true
        };
        var keysToAllow = [8, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57];
        return keysToAllow.indexOf(ev.keyCode) > -1;
    } else {
        return true
    }
}
<input type="number" placeholder="paste numbers only" name="" onpaste="return isNumber(event)" onkeydown="return isNumber(event)" ondrop="return isNumber(event)">

删除第二个条件 if && pasteContent.indexOf(".")===-1 如果你想允许 integer 以及 floating point 数字。但是如果你已经有一个 float ,允许 float 会导致一个问题,所以它会是两个 "."

的无效数字

关于javascript - 如何禁用字母和特殊字符的粘贴选项但为数字启用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45237183/

相关文章:

c# - 如何知道何时按下 ctrl+space?

javascript - js API 数据检测并上色

javascript - Google AppS 脚本 - 根据键合并数组

javascript - 为什么 JavaScript 负数不总是真或假?

asp.net - 解密 YSOD,破坏技术

asp.net - CSS,ASP.NET : fill a division with panels

winforms - TextBox C#中的Max Char?

javascript - 如何使用成功和失败处理程序的引用重试 Ajax 调用

c# - 学习 Active Directory 操作的好网站

iphone - 在 iPhone Web 应用程序文本框中显示 "clear button"(删除按钮)