您好我正在练习JS,我有一个来自javascript的问题。
我要让用户只输入字母,如果用户也决定输入数字,程序会阻止他/她。请不要jQuery答案因为我对此一无所知。
这是我的代码......
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript">
function vent (t)
{
var m=/^[a-zA-Z]+$/
t=document.getElementById("txt");
if(t.value.match(m))
{
alert("Co");
return true;
}
else
{
// I want to write my preventing code here.......
}
}
</script>
</head>
&#13;
<body>
<input type="text" id="txt" onBlur="vent (this)"/><br/>
<input type="text"/>
</body>
</html>
&#13;
答案 0 :(得分:0)
将用户输入限制为键值的子集时,通常会使用onkeydown
事件而不是模糊。这样,您可以防止将用户的击键添加到输入值,而不是在事后将其删除。您需要做的就是使用preventDefault()
取消事件或从keydown处理程序返回false。请注意,对于较旧的浏览器,除了keyCode
之外,您可能需要检查which
,例如var c = e.which || e.keyCode;
,然后检查c
的值是否超出允许的范围。
function allowOnlyCharacters(e)
{
return e.which == 16 || (e.which >= 65 && e.which <= 90);
}
var element = document.getElementById('txt');
element.onkeydown = allowOnlyCharacters;
&#13;
<input type="text" id="txt"/><br/>
<input type="text"/>
&#13;