【发布时间】:2017-09-01 05:44:11
【问题描述】:
正如标题所说,我写了一个小代码片段来检测输入的字符是数字还是字母,下面是脚本代码。
function checkNum(i) {
//language=JSRegexp
var txt = i.value;
if (isNaN(txt)){
document.getElementById("msg").innerHTML = "Numbers only";
return false
}else{
return true
}
}
<label for="volume">Volume:</label>
<input type="text" name="volume" id="volume" size="4" onkeyup="checkNum(this)" style="margin-left:23px;">
<label for="noPl" style="margin-left: 35px;">No. of Product Lines:</label>
<input type="text" name="noPl" id="noPl" size="4" onkeyup="checkNum(this)">
<div id="msg"></div>
我试图进一步完善它,但当我改变它时,它由于某种原因停止工作。
我想要做的不仅是提示消息,还要从文本框中清除任何输入的字符,只允许输入数字。
在当前状态下,它只是提示用户不要输入字母。我确实在这里尝试了许多其他提到的方法,但在此之前它们都没有成功。
所以如果可以请告诉我该怎么做也请记住我仍然在学习 JavaScript 而不是专业。
【问题讨论】:
-
不能只使用输入类型
number吗? -
请先搜索再询问
-
我所做的所有搜索查询都无法让我知道我想要做什么,这就是我问的原因,它被标记为重复的好。
-
如果您找不到与您的问题相匹配的答案,我们深表歉意。我建议您告诉我们是什么让您的问题与众不同。如果我将副本中的第一个答案应用于您的代码:
function isNumber(evt) { evt = (evt) ? evt : window.event; var charCode = (evt.which) ? evt.which : evt.keyCode; if (charCode > 31 && (charCode < 48 || charCode > 57)) { document.getElementById("msg").innerHTML = "Numbers only"; return false; } document.getElementById("msg").innerHTML = ""; return true; }
标签: javascript jquery html