仅在粘贴时限制输入数字

2023-11-24

我有一个名为restrict-numbers 的类,我想将输入的字符限制为仅接受数字,我使用了以下代码,这很好,但问题是我想在输入中粘贴时进行相同的限制在不完全禁用粘贴的情况下提交:

function input_only_numbers(){
$("input[type=text]").each(function(){
if( $(this).hasClass("restrict-numbers") ){    
    $(this).keydown(function(event) {
    if ( event.keyCode == 46 || event.keyCode == 8 || event.keyCode == 9 || event.keyCode == 27 || 

        // Allow: Ctrl+A
    (event.keyCode == 65 && event.ctrlKey === true) ||

        // Allow: Ctrl+V
    (event.ctrlKey == true && (event.which == '118' || event.which == '86')) ||

        // Allow: Ctrl+c
    (event.ctrlKey == true && (event.which == '99' || event.which == '67')) ||

        // Allow: Ctrl+x
    (event.ctrlKey == true && (event.which == '120' || event.which == '88')) ||

        // Allow: home, end, left, right
    (event.keyCode >= 35 && event.keyCode <= 39)) {
    // let it happen, don't do anything
        return;
    }
    else {
    // Ensure that it is a number and stop the keypress
        if ( event.shiftKey|| (event.keyCode < 48 || event.keyCode > 57) && (event.keyCode < 96 || event.keyCode > 105 ) ){
        event.preventDefault(); 
        }
    }
    });
}




});

}


实施您的表单jquery.numeric plugin.

$(document).ready(function(){
    $(".numeric").numeric();
});

此外,这也适用于文本区域!

或者更好地在用户尝试提交时更改输入,

$('form').submit(function () {
    if ($('#numeric').value != $('#numeric').value.replace(/[^0-9\.]/g, '')) {
       $('#numeric').value = $('#numeric').value.replace(/[^0-9\.]/g, '');
    }
});

这就是你正在做的事情,你想要删除除数字之外的字符,所以为什么要付出如此大的努力,只是在最后删除它们。

这是我最喜欢的选择,

尝试 HTML5number input:

<input type="number" value="0" min="0"> 

对于不兼容的浏览器有现代化 and 网页表格2后备措施。

or

您也可以将“粘贴”操作绑定到函数,

$( "#input" ).on("paste", function() {
    if ($('"#input').val() != $('"#input').val().replace(/[^\d\.]/g,"")) 
    { $('"#input').val($('"#input').val().replace(/[^\d\.]/g,""));
    }
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

仅在粘贴时限制输入数字 的相关文章

  • 如何以编程方式处理 JqGrid 事件?

    我正在使用JqG rid 的 ASP NET 包装器 http www trirand net demoaspnet aspx 我想以编程方式连接一些网格的处理程序events http www trirand com jqgridwiki
  • jquery.validate 中是否有一个函数可以像重置表单一样重置单个字段?

    我想调用 jquery 函数来手动删除单个字段中的错误并重置错误标记 是否有一个函数可以执行此操作 类似于 resetForm 函数 您可以执行以下操作来验证单个字段 your field valid 也许它会对某人有所帮助 Thanks
  • 如何使输入字段和提交按钮变灰

    我想变灰这两件事 http doorsplit heroku com 歌曲输入字段和提交按钮 直到用户输入艺术家 有没有一种简单的方法可以通过 JQuery 来做到这一点 艺术家输入字段的id是 request artist 你可以这样做
  • jQuery 获取元素内的鼠标位置

    我希望制作一个控件 用户可以在 div 内单击 然后拖动鼠标 然后松开鼠标以指示他们想要的内容有多长 这是针对日历控件的 因此用户将指示特定事件的时间长度 看起来最好的方法是在父 div 上注册一个 mousedown 事件 而父 div
  • 如何获取给定 DOM 元素的所有定义的 CSS 选择器?

    如何使用 jQuery 获取给定 DOM 元素的所有定义的 CSS 选择器 定义后 我的意思是在应用于任何样式表的所有 CSS 选择器document 在某种程度上 这类似于 FireBug 实现的功能 其中显示所选 DOM 元素的所有应用
  • 使用 Ajax 请求作为源数据的 Jquery 自动完成搜索

    我想做的事 我想使用 jquery 自动完成函数创建一个输入文本字段 该函数从跨域curl 请求获取源数据 结果应该与此示例完全相同 CSS 在这里并不重要 http abload de img jquerydblf5 png http a
  • Javascript 或 jQuery Flot 中的仪表图 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在尝试获得一个看起来像仪表的图表 我已经在其他图表中使用 jQuery Flot 那么是否可以使用 Flot 或纯 Javascrip
  • 回调月、周、日标题栏按钮点击?

    当用户单击日 周 月按钮时 我需要运行一些 Javascript 代码来重新加载日历 有没有类似的回调dayButtonClicked 或者其他的东西 BUG发生 当我第一次加载日历时 最初的视图看起来不错 我的最初加载日 一旦我加载另一个
  • jquery循环遍历表,为每一行和td连接值

    我有一张有几行的桌子 每行都有一个产品字段 一个等级字段和一个系列字段 然后每个可用尺寸都有几个复选框 表中的一行如下所示 table class authors list border 0 tr td style font size 10
  • 如何更改 ModelForm 中所有 Django 日期字段的默认小部件?

    给定一组典型模型 Application A from django db import models class TypicalModelA models Model the date models DateField Applicati
  • JQuery:如何仅在完成调整大小后调用 RESIZE 事件?

    浏览器窗口大小调整完毕后 如何调用函数 我正在尝试这样做 但遇到了问题 我正在使用 JQuery Resize 事件函数 window resize function how to call only once the browser ha
  • 选择移动 Web HTML5 框架 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Jquery在quote中设置引号

    我有这样的代码 input id id slice 0 1 br brand qnt to cart show 这产生了我 input id 02620 br FEBI BILSTEIN qnt to cart 但我需要看到类似的东西 in
  • 当悬停时不透明度发生变化时,Google Chrome 中的背景会发生变化

    我使用 Jquery 设置了悬停效果 可以更改悬停元素的不透明度 它在所有最新的浏览器中都能正常工作 除了 Chrome 它会改变 body 元素的背景 这是链接 http wrong ro tataia http wrong ro tat
  • jQuery.getJSON:如何避免在每次刷新时请求 json 文件? (缓存)

    在此示例中 您可以看到生成的 HTML 列表 每次刷新时 脚本都会请求数据文件 ajax test json 并再次构建列表 生成的文件 ajax test json 被静态缓存 但是如何避免在每次刷新时请求此文件 source jquer
  • jquery 通过 div 选择复选框

    我想知道 jQuery 中是否有一种方法可以在有人单击整个 div 层时选中 取消选中复选框 本质上就像有一个巨大的选择区域 有任何想法吗 这是一个例子 我试图使复选框周围可单击以切换单个复选框 几乎如此 fieldset div div
  • jQuery Blur() 在 Chrome 上不起作用

    我在 MacOSX 上运行这个http jsfiddle net q84wv http jsfiddle net q84wv on Chrome最新版本 它不会工作 在 Firefox 上运行时它工作得很好 有什么线索吗 假设您想要aler
  • 如何清除隐藏上的引导模式

    如何在关闭 隐藏 关闭时清除引导模式 我有以下模态定义
  • 未捕获(承诺中)TypeError:无法读取 null popover.js 的属性“模板”

    当我触发时我注意到一个错误 popover dispose 当我上下滚动页面时 函数会发生错误 并且它会减慢我的页面速度 该函数按其应有的方式运行并关闭弹出窗口 但这就是错误Uncaught in promise TypeError Can
  • 获取淘汰赛中被点击元素的索引

    获取无序列表中单击元素的索引的最佳方法是什么 让我举个例子 假设我有以下 HTML 代码 ul li p p li ul 现在我有以下 javascript 代码来获取索引 self itemClicked function data it

随机推荐

  • Java 将接口转换为类

    我有一个关于接口和类实现接口的问题 这是我的代码 interface iMyInterface public iMethod1 public class cMyClass implements iMyInterface public iMe
  • 如果 APNS 设备令牌过期会发生什么?

    根据这个论坛帖子APNS 设备令牌创建后是否会更改 设备令牌可能已过期 或者 APNS 可能会更改设备令牌 我的问题是 如果服务器将这个过期的令牌发送给Apple APNS是否会使用过期的令牌进行通知 APNS 可以将此过期令牌用于其他设备
  • 为什么 (![]+[])[+!![]+[]] 产生“a”

    我有兴趣了解其内部结构JavaScript 我尝试阅读源代码蜘蛛猴 and Rhino但这是相当复杂的 我问的原因是 为什么会发生类似的事情 生产 a 生产alert 1 Source http sla ckers org forum re
  • C# 中抽象类的构造函数

    为什么可以在 C 中为抽象类编写构造函数 据我所知 我们无法实例化抽象类 那么它的用途是什么 你不能实例化这个类 对吗 因为您可能想要在抽象类中实例化数据的标准方法 这样 您就可以让从该类继承的类调用基本构造函数 public abstra
  • jquery - 对除单击的元素之外的每个元素运行函数

    作为一些示例代码 我可能有这样的东西 a parent click function a parent each function this stop true false animate width 140px 200 function
  • 内联变量如何工作?

    在 2016 年奥卢 ISO C 标准会议上 一项名为内联变量被标准委员会投票纳入C 17 通俗地说 什么是内联变量 它们如何工作以及它们有什么用 内联变量应该如何声明 定义和使用 提案第一句话 The inline说明符可以应用于变量以及
  • 在 docker 的构建阶段使用 github 私有仓库部署密钥进行 npm 安装

    我的用例是 我有多个使用相同中间件的 Express 微服务 我想为每个中间件以 npm 模块的格式创建不同的存储库 每个存储库都是私有存储库 并且可以附加部署密钥 可以是不同的密钥或相同的密钥 所有这些在本地都可以正常工作 但是 当我尝试
  • Typo3 V6:如何创建内容元素容器? (不带电视)

    对于一个项目 我使用 Typo3 v6 0 我正在寻找创建嵌套内容元素或内容元素容器 我希望能够创建内联两列布局 而不需要使用特定的模板 我想做这个without使用Templavoila 我尝试过的扩展是gridelements kb n
  • 如何在 Win32 桌面应用程序中使用自定义 WinRT 库?

    我的基于 Win32 的桌面应用程序中有一个 WinRT 类 C CX 引用类 它访问 WinRT API 并且工作得很好 我用了本指南让它发挥作用 现在我试图将此类放入桌面应用程序可以使用的库中 我在这方面遇到了一些麻烦 这是我在 Vis
  • 如何使用 ctypes.util.find_library 在 AWS lambda (python) 中导入 .so 库?

    我正在尝试什么 我在 Lambda 上使用的 python 包 OCRMYPDF 需要 leptonica 库libpt so 5 在隔离导入代码时 我发现问题在于find library lept 打印结果返回 None from cty
  • 将13位unixtime(以ms为单位)转换为python中的时间戳

    我想将以毫秒为单位的 13 位 Unix 时间转换为时间戳 1523126888080 gt gt Y m d H M S 我已经尝试过以下代码link 但我认为这是 10 位 Unix 时间 而我有 13 位 Unix 时间 所以 这段代
  • R:按值排除子集的 Data.table

    Using data table in R 我正在尝试对子集进行操作排除选定的元素 我正在使用by运算符 但我不知道这是否是正确的方法 这是一个例子 例如 的价值Delta in IAH SNA是 3 3 2 的平均值Stops in IA
  • 从 IntPtr(16 位)数组复制到托管 ushort

    我有一个IntPtr称为rawbits 它指向一个10MB的数据数组 16位值 我需要返回一个托管的ushort数组由此而来 下面的代码可以工作 但有一个额外的BlockCopy我想摆脱 Marshal Copy不支持ushort 我能做些
  • 使用矩阵中的行索引和列索引从矩阵中提取值

    我有一个矩阵 A 看起来像 A matrix 1 9 3 3 A 1 2 3 1 1 4 7 2 2 5 8 3 3 6 9 以及我感兴趣的元素索引矩阵 第 1 列包含行索引 第 2 列包含列索引 v matrix c 1 3 2 2 2
  • 如何在java程序中使用mkdir和rmdir命令

    我想使用系统命令 例如mkdir and rmdir运行java程序时 我怎样才能做到这一点 为什么要使用命令行 仅供参考 有内置的独立于平台的File类 http www exampledepot com egs java io dele
  • 以固定速率安排 Callable

    我有一个任务想要以固定速率运行 但是我还需要每次执行后任务的结果 这是我尝试过的 The task class ScheduledWork implements Callable
  • RoutedCommands 已执行和预览执行事件

    我的问题是我想在多个地方处理命令 例如 我有自定义用户控件 其中按钮绑定到某个命令 我在该控件中有一个命令绑定 但在使用该控件的窗口中也有一个命令绑定 我的目标是在控件内执行某些操作 同时不中断窗口中命令的处理 我尝试尝试执行和预览执行事件
  • 将列表元素向右移动并将列表元素从末尾移动到开头

    我想旋转列表中的元素 例如 将列表元素向右移动 a b c d 会成为 d a b c or 1 2 3 变成 3 1 2 我尝试了以下方法 但它不起作用 def shift aList n len aList for i in range
  • cpu使用率最高的进程名称

    我有一个Samurize配置显示类似于任务管理器的 CPU 使用率图表 如何同时显示当前CPU使用率最高的进程名称 我希望最多每秒更新一次 Samurize 可以调用命令行工具并将其输出显示在屏幕上 因此这也可以是一个选项 进一步澄清 我已
  • 仅在粘贴时限制输入数字

    我有一个名为restrict numbers 的类 我想将输入的字符限制为仅接受数字 我使用了以下代码 这很好 但问题是我想在输入中粘贴时进行相同的限制在不完全禁用粘贴的情况下提交 function input only numbers i