charCodeAt()使用一些验证,但没有其他验证

时间:2014-10-27 20:53:57

标签: javascript validation character

我可以发誓我正确地验证了一切,直到我的老师决定寻找每一个可能的角色组合,并以某种方式记录我10分。所以我进入我的代码并尝试修复验证,但即使这就像他的讲座大纲中的例子,它决定让a1不知不觉地传递表格。我使用这个link

仔细检查了ascii字符代码表

并且1仍然继续通过。这是我的代码部分:

else if(f1.state.value.length != 2 || 
    !( (f1.state.value.charCodeAt(0)>=65 && f1.state.value.charCodeAt(0)<=90) ||
    (f1.state.value.charCodeAt(1)>=97 && f1.state.value.charCodeAt(1)<=122) ))
    {
        alert('Please enter a state in abreviated form');
        f1.state.focus();
        return false;
    }

为什么1继续通过?

编辑:另外,我注意1a工作(或不工作),但不是a1 ..

1 个答案:

答案 0 :(得分:0)

有趣的是,我接受了!把它放在每个父母身边!它起作用..所以如果其中一个是真的那么它就会返回真的......然后就是它。

所以应该是:

else if(f1.state.value.length != 2 || 
        ( !(f1.state.value.charCodeAt(0)>=65 && f1.state.value.charCodeAt(0)<=90) ||
        !(f1.state.value.charCodeAt(1)>=97 && f1.state.value.charCodeAt(1)<=122) ))
        {
            alert('Please enter a state in abreviated form');
            f1.state.focus();
            return false;
        }