2010-06-24 6 views
0

양식의 유효성을 입력하려고하지만 코드를 디버깅 할 때 디버거에서 호환되지 않는 형식의 오류를 표시합니다. 내 코드는 아래와 같습니다.호환되지 않는 형식

if(frm.input.value<'a' || frm.input.value>'z' || frm.input.value!='@' && frm.input.value!='.') 
{ 

    alert("Not a valid E-mail adress"); 
} 
+0

이 코드에는 많은 문제가 있습니다. 시작하려면 [boolean logic] (http://www.quirksmode.org/js/boolean.html)을 읽어 보시기 바랍니다. 그걸 잘 이해 한 후에는 [strings] (http://www.quirksmode.org/js/strings.html)와 마지막으로 [DOM] (http : //www.quirksmode. org/dom/intro.html). –

답변

0

브라우저가 제대로 작동하지 않습니다. 입력 요소에 ID를 제공해야합니다. 그러면 다음을 수행 할 수 있습니다.

value = document.getElementById('myId').value; 
if(value < 'a' || value > 'z' || value != '@' && value != '.'){ 
} 

해당 조건을 확인하는 것이 좋습니다. 아마도 어딘가에 괄호가 빠져 있습니까?

1

if는 개별 문자가 아닌 전체 입력 문자열을 검사합니다. 또한 Javascript가 문자의 비교보다 작거나 큰 비교를 수행하는지 여부는 확실하지 않지만 잘 알려줄 지 여부를 확인해야합니다.

이메일 주소의 유효성을 검사하려는 경우 가장 좋은 해결책은 정규식을 사용하는 것입니다.

이렇게하려면 frm.input.value의 각 문자를 반복하여 검사해야합니다.이 검사는 느리며 아주 좋은 방법이 아닙니다.

+1

가장 확실한 예를 들면 다음과 같습니다. var x = 'a'; console.log (x < 'b'); –

관련 문제