JavaScript - 如何检查是不是在数字输入字段中输入了字母字符或符号[重复]
Posted
技术标签:
【中文标题】JavaScript - 如何检查是不是在数字输入字段中输入了字母字符或符号[重复]【英文标题】:JavaScript - How to check if alphabetical characters or symbols have been entered in a number input field [duplicate]JavaScript - 如何检查是否在数字输入字段中输入了字母字符或符号[重复] 【发布时间】:2015-12-17 01:53:04 【问题描述】:我正在尝试制作一个 javascript 程序,您可以在其中将数值输入到输入字段中,然后程序会根据您输入的数字返回一条消息。
我想要的数字输入字段有两个主要参数:
1.您在字段中输入的数字必须介于 0-100 之间,如果不是,则会发出警报,告诉您输入正确的值。
我已经这样做了,但这是我遇到问题的下一个参数。
2.您只能在输入字段中输入数值。如果您不这样做(例如您输入字母字符),则会发出警报,提示您只能输入数字。
当用户点击一个按钮时,这两个参数都会被勾选;该按钮调用一些执行此操作的函数。但是,我在使用第二个参数时遇到了问题。
我不知道如何让程序查看用户键入的内容并确定其中的任何值是否是字母字符(字母)。
所以,回顾一下,我的总体问题是:如何通过按钮调用的函数检查输入到数字字段中的任何字符是否是字母?
如果我的问题令人困惑,请告诉我,我会尽力澄清。任何帮助将不胜感激。谢谢。
【问题讨论】:
您是否只针对支持 html5 的较新浏览器? @LGSon 是的,我使用的是 HTML5,但是,我实际上并没有发布网页;我只是在练习JS。我使用最新版本的 Mozilla Firefox,它支持 HTML5。 这篇文章有你需要的所有答案...***.com/questions/469357/… 谢谢。我去看看。很抱歉重复了一个问题。 不客气,不要抱歉,人们使用不同的方式来表达自己,我们试图引导他们找到一个好的答案,有时会有多个问题。 【参考方案1】:您可以使用 number 类型的 input 元素,浏览器将阻止用户输入字母。
<input type="number" name="quantity" min="1" max="5">
但并非所有浏览器都会限制输入。 Chrome 至少仍然允许输入“e”。
否则,您可以使用正则表达式来检查输入是否仅包含数字。
var has = /[0-9]/.test('12341');
【讨论】:
type=number 不会阻止用户跨浏览器输入文本 @charlietfl 确实,谢谢。我更新了答案。【参考方案2】:致 RegExMobile!
var goodInput = "3456"
var badInput = "34g8"
var regex = new RegExp(/[^0-9]/g);
console.log(goodInput.test(/[^0-9]/g)) // false
console.log(badInput.test(/[^0-9]/g)) // true
【讨论】:
以上是关于JavaScript - 如何检查是不是在数字输入字段中输入了字母字符或符号[重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何在 JavaScript 中检查字符串是不是包含数字和特殊字符?