【发布时间】:2013-05-20 10:21:48
【问题描述】:
我只想在<textarea> 中输入字符值,在另一个中输入数值。我已经能够制作一个 JavaScript 函数,它只允许使用 onkeypress 在 <textarea> 中输入数值。这适用于 Firefox 和 Chrome。
对于字母,我正在使用 windows.event 属性创建另一个 JavaScript 函数。唯一的问题是这只适用于 Chrome 而不是 Firefox。
我想知道如何使用onkeypress 事件只允许输入字母,就像只输入数字值一样?
function isNumberKey(evt){ <!--Function to accept only numeric values-->
//var e = evt || window.event;
var charCode = (evt.which) ? evt.which : evt.keyCode
if (charCode != 46 && charCode > 31
&& (charCode < 48 || charCode > 57))
return false;
return true;
}
function ValidateAlpha(evt)
{
var keyCode = (evt.which) ? evt.which : evt.keyCode
if ((keyCode < 65 || keyCode > 90) && (keyCode < 97 || keyCode > 123) && keyCode != 32)
return false;
return true;
}
<label for="cname" class="label">The Risk Cluster Name</label>
<textarea id="cname" rows="1px" cols="20px" style="resize:none" placeholder="Cluster Name" onKeyPress="return ValidateAlpha(event);"></textarea>
<br>
<label for="cnum">Risk Cluster Number:</label>
<textarea id="cmun" rows="1px" cols="12px" style="resize:none" placeholder="Cluster Number" onkeypress="return isNumberKey(event)"></textarea>
【问题讨论】:
-
"only character values" - 你的意思是只有字母吗?请记住,仅对按键进行验证是不够的,因为用户可以复制/粘贴或拖放而不会导致按键事件。
-
改用正则表达式?
-
以下是一些字符示例:“1”、“&”、“a”、“)”、“W”。你的意思是字母。
-
是的,我想使用像 A,a,b,B 这样的字母
标签: javascript html validation onkeypress