我正在努力完成作业;这就是我所坚持的:
用户输入只能包含以下允许的字符
注意:您无法使用Reg Ex。
如果不使用Reg Ex,我无法真正看到另一种方法。这是我到目前为止所做的......
function validate_name() {
var name = document.getElementById("name").value;
name = name.trim();
for (i = 0;i < name.lenght; i++) {
if (name.charAt(i) == a...I don't know what I'm doing
答案 0 :(得分:1)
你可以这样做:
var str = prompt('Enter input:');
var alphaExist = false;
var valid = true;
for (var i = 0; i < str.length; i++) {
if ("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'-".indexOf(str.charAt(i)) == -1) {
valid = false;
}
if ("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ".indexOf(str.charAt(i)) > -1) {
alphaExist = true;
}
}
alert(valid && alphaExist ? 'Valid' : 'Invalid');
答案 1 :(得分:0)
查看位于http://www.cambiaresearch.com/articles/15/javascript-char-codes-key-codes
的键码列表不要使用
document.getElementById("name").value;
而是解析由击键触发的事件。 您有一个很好的示例,说明如何在MDN页面上使用它:https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/keyCode
因此,结合键码列表和键盘事件来过滤您感兴趣的键码。
提示:您可以使用范围,因为键码是一堆数字。