以下是仅输入字母,数字,空格,del,退格的脚本。在此代码中,我需要进行更改,如果第一个位置的“输入”是“空格”并且用户输入中没有其他aphanumeric characters
,则应返回false,否则为true
。
JS
function usrInp(evt) {
var char = (evt.which) ? evt.which : event.keyCode
if (char > 64 && inp < 91 || char > 96 && char < 123 || char > 47 && char < 58 || char == 127 || char == 8 || char == 32) {
return true;
}
else {
return false;
}
}
表格HTML
<form name="one" id="one">
<input type="text" name="abc" id="abc" onkeypress="return usrInp(event)" />
</form>
答案 0 :(得分:0)
为什么不使用正则表达式?
return input.match(/^[\w\s]*$/g) != null
如果输入仅包含A-Z,0-9,空格或下划线,则返回true。
答案 1 :(得分:0)
使用keypress事件不会捕获退格键,您需要使用keyup。如果你想获得被按下的键的ascii值,你可以使用:
function usrInp(evt) {
var char = (evt.which) ? evt.which : event.keyCode
return String.fromCharCode(char).match(/^[A-Z0-9 _]*$/);
}