2012-04-04 4 views
1

jquery 및 이메일 확인과 관련하여 약간의 문제가 있습니다. 전자 메일 입력 상자를 사용하여 사용자의 전자 메일 주소 (html5)를 검색하지만 IE에서는 작동하지 않습니다. 양식을 제출하기 전에 입력 전자 메일 주소의 유효성을 검사하는 간단한 jquery 함수를 추가하고 싶습니다. 내가 한 것은 다음과 같습니다. 여기 이메일 주소 확인에 실패했습니다

function IsValidEmail(email) 
{ 
    var eReg=/^([\w-\.][email protected]([\w-]+\.)+[\w-]{2,4})?$/; 
    return eReg.test(email); 
} 
$(document).ready(function() 
    { 
    var em=$('#email').val(); 
    if(!IsValidEmail(em)) 
    { 
     $('#e-valid').css('color','red'); 
      $('#e-valid').html("Email is invalid.Please enter a valid address"); 
    } 
    } 
); 

양식 I는 입력 상자에 잘못된 이메일 주소를 입력 때, 아무것도 표시되지되고

<form method="POST" action="doit" id="stuff"> 
     <table> 
     <tr> 
      <td width="175px"><label for="email">Your email address</label></td>     
      <td><input type="email" name="email" id="email" size="35"/><span id="e-valid">&nbsp;</span></td> 
     </tr> 
     <tr> 
      <td></td><td><input type="submit" value="Send" /></td> 
     </tr> 
     </table> 
    </form> 

입니다. 나는 어떤 도움에 감사드립니다. 고맙습니다.

+0

올바르게 이해하면 html 양식을로드하고 준비 할 때 코드가 실행됩니다. html 페이지가 준비되면 필드를 변경하고, 위에서 붙여 넣은 것을 기반으로 다시 확인을 트리거해야합니다. 찾을 수 없습니다. – Jasonw

답변

2

사용자가 정보를 제출할 때가 아닌 페이지로드시 이메일의 유효성을 검사하는 중입니다. 당신은 submit 이벤트 모두의

$("#aspnetForm").submit(function(){ 
    var em=$('#email').val(); 
    if(!IsValidEmail(em)) 
    { 
     $('#e-valid').css('color','red'); 
     $('#e-valid').html("Email is invalid.Please enter a valid address"); 
     return false; 
    } 
    return true; 
} 
0

처음에 검증을 배치해야합니다, 당신이 사용하고있는 정규식 이상한 보인다. 대부분의 백 슬래시 사용 자리 표시자는 문자 집합 내에서 의미를 상실합니다.

전자 메일 주소 유효성 검사를 위해 사용할 정규 표현식에 대한 정보는 thisthis을 참조하십시오.

정규 표현식을 수정 한 후 Claudio의 조언을 따르고 양식 제출에 유효성 검사를 적용해야합니다.

관련 문제