【问题标题】:charCodeAt() working with some validations, but not some other validationscharCodeAt() 处理一些验证,但不处理其他一些验证
【发布时间】:2014-10-27 20:53:56
【问题描述】:

我本可以发誓我正确地验证了所有内容,直到我的老师决定寻找每一个可能的字符组合并以某种方式给我 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..

【问题讨论】:

    标签: javascript validation character


    【解决方案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;
            }
    

    【讨论】:

      猜你喜欢
      • 2018-04-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-11
      • 2019-04-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多