2014-10-27 2 views
0

Я мог бы поклясться, что все правильно проверял, пока мой учитель не решил найти каждую возможную комбинацию персонажей и как-то доктовать меня за 10 очков. Поэтому я пошел в свой код и попытался исправить валидацию, но, хотя это точно так же, как пример в его лекционной схеме, он решает позволить a1 незаметно передать форму. Я дважды проверил диаграмму кодов символов ascii, используя это linkcharCodeAt() работает с некоторыми валидациями, но не с некоторыми другими валидациями

и 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 работы (или не работает), но не а1 ..

ответ

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; 
     } 
Смежные вопросы