【发布时间】:2011-08-26 12:33:06
【问题描述】:
想知道如何只接受从 1 到 9 输入到输入框中的数字,如果输入例如 0 会发出警告消息,抱歉不是有效数字。
请检查我到目前为止所做的功能,但没有工作..谢谢
<input name="number1" type="text" size="1" id="number1"onkeyup="doKeyUpValidation(this)/>
doKeyUpValidation(text){
var validationRegex = RegExp(/[-0-9]+/, "g");
if(!validationRegex.match(text.value)
{
alert('Please enter only numbers.');
}
【问题讨论】:
-
认真的吗?你说
0-9并期望它拒绝0?!更不用说 HTML 无效并且 JS (至少)缺少大括号。 -
他说
[-0-9]。也许她/他希望它基于领先的-拒绝,就好像它是一个“不包含”的语法一样。它不是;正则表达式错误。 -
是的,对上述评论投了赞成票(来自-1)-还有问题本身,以删除-1。伙计们,我们不要太苛刻。
-
我希望人们会根据“这个问题有用吗?”来投票。而不是“这个问题值得这么多人认为(无)有用吗?” (请记住,您获得更多积分,而不是您因拒绝投票而失去的积分,因此这不是一种平衡行为)
-
...顺便说一句,请不要这样做。为如此小的数据输入问题发出一个非常侵入性的模态“警报”框是非常糟糕的风格。您应该简单地在输入框旁边添加一个文本(粗体或红色),但打开模式对话框是不好的。实际上,人们根本不应该再使用 1990 年代早期 Javascript 时代的“警报”和其他模式对话框。
标签: javascript input numbers inputbox