javascript - 修改数字输入以仅接受数字
问题描述
我的 HTML 页面有一个数字类型的输入。这与这一示例非常接近 。不幸的是,这个输入接受像'---'、'+++'、'eee'和其他非数字输入的值。
我的任务是禁用控件输入“----”等非数字的能力。
当用户拥有表单时,也可能显示错误消息。有什么办法吗?
解决方案
如果您将输入类型指定为数字,它将不接受非数字字符
KEYCODE 8 和 46 允许退格和删除。
尝试在下面的文本框中输入非数字字符
<input type="number" onkeydown="javascript: return event.keyCode === 8 || event.keyCode === 46 ? true : !isNaN(Number(event.key))" />
推荐阅读
- vue.js - 在 Microsoft Teams(个人选项卡)中运行的 Web 应用程序并不总是在桌面版本上运行
- apache-kafka - 错误的 Kafka consumer_offset
- python - 在 Pyspark 中修改数据框的列值
- x86 - x86 MOVSB:SI/DI 从 FFFF 递增到 0000 或从 0000 递减到 FFFF
- aws-lambda - 'functions['s3-thumbnail-generator'].events[0]' 处的配置警告:不支持的函数事件
- excel - 如何将邮件保存在本地文件夹中?
- sql - 如何将 SQL Server 2016 GETDATE() 函数输出转换为 MMM dd, yyyy?
- reactjs - 我正在使用 React Router,我希望我的一个带有 path="/" 的路由链接成为重新加载时的主页。你怎么能做到这一点?
- swift - SwiftUI 在 NavigationLink 上滑动/拖动
- c# - 如何从 ASP .NET Core 中的路由中排除某些路径