2017-12-12 1 views
0

전자 메일 유효성 검사에 다음 코드를 사용하고 있는데 어느 정도는 작동하고 전자 메일의 유효성을 검사하고 있습니다. 친절하게 도와주세요.j 전자 메일 주소의 유효성 검사 오류 쿼리

<html> 
<head> 
    <script type="text/javascript" src="assets/js/jquery-1.12.4.js"></script> 
    <script type="text/javascript" src="assets/js/jquery-ui.js"></script> 
    <script type="text/javascript" src="assets/js/jquery.validate.js"></script> 
<script> 
    $(document).ready(function(){ 
     $("#button1").click(function(){ 
      var form = $("#form1"); 
      form.validate({ 
       rules: { 
        email: { 
         required: true, 
         email: true, 
        }, 
       }, 
       messages: { 
        email: { 
         required: "email field required", 
        }, 
       } 
      }); 
     }); 
    }); 
</script> 
</head> 
<body> 
    <form id="form1" value="form1" name="form"> 
     <label>email</label<br> 
     <input name="email" type="email" placeholder="[email protected]"> 
     <br> 
     <input id="button1" type="submit" value="SUBMIT"> 
    </form> 
</body> 
</html> 

예를 들어 이메일을 쓰면 오류가 발생하지만이를 받아 들여야합니다.

답변

0

질문을 올바르게 이해하면 문제를 해결할 수 있습니다.

https://jsfiddle.net/theurmzd/Lsg80776/

$(document).ready(function(){ 
$('#email').on('change',function(){ 
var regemail = /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i; 

if($(this).val.length>3){ 
$('#error').html('short email'); 
} else if(regemail.test(email) == false){ 
$('#error').html('invalid email'); 
} else { 
$('#error').html('a OK'); 
} 
}) 
}) 

HTML

<p id='error'> 

</p> 

<input type='email' id='email' placeholder='email'> 
<input type='submit' id='submit' value = 'submit'> 

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> 

---> < ----

https://jsfiddle.net/theurmzd/vtgunors/

<html> 
<head> 

     <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>   
     <script src="https://code.jquery.com/jquery-1.11.1.min.js"></script> 
     <script src="https://cdn.jsdelivr.net/jquery.validation/1.16.0/jquery.validate.min.js"></script> 
     <script src="https://cdn.jsdelivr.net/jquery.validation/1.16.0/additional-methods.min.js"></script> 

<script> 
    $(document).ready(function(){ 
     $("#button1").click(function(){ 
      var form = $("#form1"); 
      form.validate({ 
       rules: { 
        email: { 
         required: true, 
         email: true, 
        }, 
       }, 
       messages: { 
        email: { 
         required: "email field required", 
         email: "email must be valid", 
        }, 
       } 
      }); 
     }); 
    }); 
</script> 
</head> 
<body> 
    <form id="form1" value="form1" name="form"> 
     <label>email</label><br> 
     <input name="email" type="email" placeholder="[email protected]"> 
     <br> 
     <input id="button1" type="submit" value="SUBMIT"> 
    </form> 

</body> 
</html> 
+0

사랑이 w를하고있는 편집 i 자바 스크립트 오래된 함수, 위의 코드에서 문제가 무엇인지 말해 주실 수 있습니까? @Urmzd S – goharabbas

+0

@goharabbas 당신은 jquery cdn과 스크립트에 대한 적절한 소스를 놓치고있었습니다. 나는 내 대답을 편집했다. 다시 확인하십시오. 테스트 됨. 참고 : 몇 가지 구문 오류가 수정되었습니다. –

관련 문제