복붙노트

[JQUERY] jQuery를 사용하여 이메일 확인

JQUERY

jQuery를 사용하여 이메일 확인

해결법


  1. 1.당신은 그것을 위해 일반 오래된 자바 스크립트를 사용할 수 있습니다 :

    당신은 그것을 위해 일반 오래된 자바 스크립트를 사용할 수 있습니다 :

    function isEmail(email) {
      var regex = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/;
      return regex.test(email);
    }
    

  2. 2.유효성 검사 이메일에 jQuery를 기능

    유효성 검사 이메일에 jQuery를 기능

    난 정말 내 양식은 요구 사항을 검증 할 수있는 것을 하나 개의 필드를 가지고 특히, 사용하는 플러그인을 좋아하지 않는다. 나는이 기능을 사용하고 난 이메일 양식 필드의 유효성을 확인해야 할 때마다 호출.

     function validateEmail($email) {
      var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
      return emailReg.test( $email );
    }
    

    이제이 사용하기

    if( !validateEmail(emailaddress)) { /* do stuff here */ }
    

    건배!


  3. 3.나는 몇 가지 이유에 대한 jQuery를 검증 플러그인을 사용합니다.

    나는 몇 가지 이유에 대한 jQuery를 검증 플러그인을 사용합니다.

    당신은 지금 무엇을, 확인 위대한 검증? 오류가 아마 총 얼마나 많은 표시, 당신은 오류를 표시 할 필요가 유효 할 때 핸들을 삭제? 당신을 위해 처리 할 수있는 많은 일들이 있습니다, 필요 바퀴를 다시 발명 없습니다.

    또한, 또 다른 큰 이점은 그것이 CDN에 호스팅입니다,이 답변시의 현재 버전은 여기에서 찾을 수 있습니다 : http://www.asp.net/ajaxLibrary/CDNjQueryValidate16.ashx를이 수단 빠른로드 시간을 클라이언트에 대한.


  4. 4.HTTP에서 봐 : //bassistance.de/jquery-plugins/jquery-plugin-validation/. 이 형태의 강력한 검증 시스템을 구축 할 수 있도록 좋은 jQuery 플러그인이다. 몇 가지 유용한 샘플은 여기에있다. 따라서, 형태의 이메일 필드 검증 그렇게 보일 것이다 :

    HTTP에서 봐 : //bassistance.de/jquery-plugins/jquery-plugin-validation/. 이 형태의 강력한 검증 시스템을 구축 할 수 있도록 좋은 jQuery 플러그인이다. 몇 가지 유용한 샘플은 여기에있다. 따라서, 형태의 이메일 필드 검증 그렇게 보일 것이다 :

    $("#myform").validate({
      rules: {
        field: {
          required: true,
          email: true
        }
      }
    });
    

    자세한 내용 및 샘플 이메일 방법 설명서를 참조하십시오.


  5. 5.

    <script type="text/javascript">
        $(document).ready(function() {
          $('.form_error').hide();
          $('#submit').click(function(){
               var name = $('#name').val();
               var email = $('#email').val();
               var phone = $('#phone').val();
               var message = $('#message').val();
               if(name== ''){
                  $('#name').next().show();
                  return false;
                }
                if(email== ''){
                   $('#email').next().show();
                   return false;
                }
                if(IsEmail(email)==false){
                    $('#invalid_email').show();
                    return false;
                }
    
                if(phone== ''){
                    $('#phone').next().show();
                    return false;
                }
                if(message== ''){
                    $('#message').next().show();
                    return false;
                }
                //ajax call php page
                $.post("send.php", $("#contactform").serialize(),  function(response) {
                $('#contactform').fadeOut('slow',function(){
                    $('#success').html(response);
                    $('#success').fadeIn('slow');
                   });
                 });
                 return false;
              });
          });
          function IsEmail(email) {
            var regex = /^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
            if(!regex.test(email)) {
               return false;
            }else{
               return true;
            }
          }
      </script>
    
    <form action="" method="post" id="contactform">
                                <table class="contact-table">
                                  <tr>
                                    <td><label for="name">Name :</label></td>
                                    <td class="name"> <input name="name" id="name" type="text" placeholder="Please enter your name" class="contact-input"><span class="form_error">Please enter your name</span></td>
                                  </tr>
                                  <tr>
                                    <td><label for="email">Email :</label></td>
                                    <td class="email"><input name="email" id="email" type="text" placeholder="Please enter your email" class="contact-input"><span class="form_error">Please enter your email</span>
                                      <span class="form_error" id="invalid_email">This email is not valid</span></td>
                                  </tr>
                                  <tr>
                                    <td><label for="phone">Phone :</label></td>
                                    <td class="phone"><input name="phone" id="phone" type="text" placeholder="Please enter your phone" class="contact-input"><span class="form_error">Please enter your phone</span></td>
                                  </tr>
                                  <tr>
                                    <td><label for="message">Message :</label></td>
                                    <td class="message"><textarea name="message" id="message" class="contact-input"></textarea><span class="form_error">Please enter your message</span></td>
                                  </tr>
                                  <tr>
                                    <td></td>
                                    <td>
                                      <input type="submit" class="contactform-buttons" id="submit"value="Send" />
                                      <input type="reset" class="contactform-buttons" id="" value="Clear" />
                                    </td>
                                  </tr>
                                </table>
         </form>
         <div id="success" style="color:red;"></div>
    

  6. 6.

    <!-- Dont forget to include the jQuery library here -->
    <script type="text/javascript" src="jquery-1.3.2.min.js"></script>
    <script type="text/javascript">
    
    $(document).ready(function() {
    
        $("#validate").keyup(function(){
    
            var email = $("#validate").val();
    
            if(email != 0)
            {
                if(isValidEmailAddress(email))
                {
                    $("#validEmail").css({
                        "background-image": "url('validYes.png')"
                    });
                } else {
                    $("#validEmail").css({
                        "background-image": "url('validNo.png')"
                    });
                }
            } else {
                $("#validEmail").css({
                    "background-image": "none"
                });         
            }
    
        });
    
    });
    
    function isValidEmailAddress(emailAddress) {
        var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
        return pattern.test(emailAddress);
    }
    
    </script>
    
    <style>
        #validEmail
        {
            margin-top: 4px;
            margin-left: 9px;
            position: absolute;
            width: 16px;
            height: 16px;
        }
    
        .text
        {
            font-family: Arial, Tahoma, Helvetica;
        }
    </style>
    
        <title>Live Email Validation with jQuery Demo</title>
    </head>
    <body>
        <div class="text"><h1>Reynoldsftw.com - Live Email Validation</h1><h2>Type in an email address in the box below:</h2></div>
        <div><input type="text" id="validate" width="30"><span id="validEmail"></span></div>
        <div class="text"><P>More script and css style
    

    : www.htmldrive.net

    출처 : htmldrive.com


  7. 7.함수 isValidEmailAddress (EMAILADDRESS) { VAR 패턴 = / ^ ([AZ \ D # $ % & '* + \ - \ / = ^ _`!? {|} ~ \ u00A0- \ uD7FF \ uF900- \ uFDCF \ uFDF0- \ uFFEF] + (\ . [AZ \ D # $ % & '* + \ - \ / = ^ _`!? {|} ~ \ u00A0- \ uD7FF \ uF900- \ uFDCF \ uFDF0- \ uFFEF] +) * | "((( [\ t] * \ R \ n)? [\ t] +)? ([\ 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])) * (([\ t] * \ R \ n) \ t] +?) ") @ (([아리조나 \ D \ u00A0- \ uD7FF \ uF900- \ uFDCF \ uFDF0- \ uFFEF]? | [아리조나 \ D \ u00A0- \ uD7FF \ uF900- \ uFDCF \ uFDF0- \ uFFEF [아리조나 \ D \ -._ ~ \ u00A0- \ uD7FF \ uF900- \ uFDCF \ uFDF0- \ uFFEF] * [아리조나 \ D \ u00A0- \ uD7FF \ uF900- \ uFDCF \ uFDF0- \ uFFEF]) \) + ([아리조나 \ u00A0- \ uD7FF \ uF900- \ uFDCF \ uFDF0- \ uFFEF] |. AZ \ u00A0- \ uD7FF \ uF900- \ uFDCF \ uFDF0- \ uFFEF [아리조나 \ D \ -._ ~ \ u00A0- \ uD7FF \ uF900- \ uFDCF \ uFDF0- \ uFFEF] * [아리조나 \ u00A0- \ uD7FF \ uF900- \ uFDCF \ uFDF0- \ uFFEF] ) \ $ / I.; 리턴 pattern.test (EMAILADDRESS); };

    함수 isValidEmailAddress (EMAILADDRESS) { VAR 패턴 = / ^ ([AZ \ D # $ % & '* + \ - \ / = ^ _`!? {|} ~ \ u00A0- \ uD7FF \ uF900- \ uFDCF \ uFDF0- \ uFFEF] + (\ . [AZ \ D # $ % & '* + \ - \ / = ^ _`!? {|} ~ \ u00A0- \ uD7FF \ uF900- \ uFDCF \ uFDF0- \ uFFEF] +) * | "((( [\ t] * \ R \ n)? [\ t] +)? ([\ 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])) * (([\ t] * \ R \ n) \ t] +?) ") @ (([아리조나 \ D \ u00A0- \ uD7FF \ uF900- \ uFDCF \ uFDF0- \ uFFEF]? | [아리조나 \ D \ u00A0- \ uD7FF \ uF900- \ uFDCF \ uFDF0- \ uFFEF [아리조나 \ D \ -._ ~ \ u00A0- \ uD7FF \ uF900- \ uFDCF \ uFDF0- \ uFFEF] * [아리조나 \ D \ u00A0- \ uD7FF \ uF900- \ uFDCF \ uFDF0- \ uFFEF]) \) + ([아리조나 \ u00A0- \ uD7FF \ uF900- \ uFDCF \ uFDF0- \ uFFEF] |. AZ \ u00A0- \ uD7FF \ uF900- \ uFDCF \ uFDF0- \ uFFEF [아리조나 \ D \ -._ ~ \ u00A0- \ uD7FF \ uF900- \ uFDCF \ uFDF0- \ uFFEF] * [아리조나 \ u00A0- \ uD7FF \ uF900- \ uFDCF \ uFDF0- \ uFFEF] ) \ $ / I.; 리턴 pattern.test (EMAILADDRESS); };

    if( !isValidEmailAddress( emailaddress ) ) { /* do stuff here (email is invalid) */ }
    

    이것은이 답변이 답변에 사용자 루카 Filosofi에 의해 제공되었다


  8. 8.내가 Verimail.js를 추천 할 것입니다, 그것은 또한 jQuery 플러그인이 있습니다.

    내가 Verimail.js를 추천 할 것입니다, 그것은 또한 jQuery 플러그인이 있습니다.

    왜? Verimail는 다음을 지원합니다 :

    그래서 검증 외에, Verimail.js 또한 제안을 제공합니다. 당신은 일반적인 전자 메일 도메인 (hotmail.com, gmail.com 등)과 매우 유사 잘못된 TLD 또는 도메인과 이메일을 입력 그렇다면,이를 감지하고 수정을 제안 할 수 있습니다.

    예를 들면 :

    등등..

    jQuery를 함께 사용하려면 귀하의 사이트에 verimail.jquery.js을 포함하고 함수 아래를 실행합니다 :

    $("input#email-address").verimail({
        messageElement: "p#status-message"
    });
    

    메시지 요소는 메시지가 도시 될 것이다 원소이다. "하셨습니까 ...?"에 "귀하의 이메일이 유효하지 않습니다"에서이 모든 것을 할 수 있습니다.

    폼이 있고이 이메일이 유효하지 않으면 제출 될 수 있도록 그것을 제한하려면 아래와 같이, 당신은 getVerimailStatus 기능을 사용하여 상태를 확인할 수 있습니다 :

    if($("input#email-address").getVerimailStatus() < 0){
        // Invalid
    }else{
        // Valid
    }
    

    이 기능은 객체 Comfirm.AlphaMail.Verimail.Status에 따라 정수 상태 코드를 반환합니다. 그러나 엄지 손가락의 일반적인 규칙은 0 아래에있는 코드는 오류를 나타내는 코드 것입니다.


  9. 9.아주 간단한 해결책은 사용 HTML5 확인하는 것입니다 :

    아주 간단한 해결책은 사용 HTML5 확인하는 것입니다 :

    <form>
      <input type="email" required pattern="[^@]+@[^@]+\.[a-zA-Z]{2,6}">
    
      <input type="submit">
    </form>
    

    http://jsfiddle.net/du676/56/


  10. 10.이 같은 john..doe @ example.com과 같은 이름의 연속적인 점에 대해 검사 예를 들어이 수행보다 철저한 검증,

    이 같은 john..doe @ example.com과 같은 이름의 연속적인 점에 대해 검사 예를 들어이 수행보다 철저한 검증,

    function isValidEmail(email)
    {
        return /^[a-z0-9]+([-._][a-z0-9]+)*@([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,4}$/.test(email)
            && /^(?=.{1,64}@.{4,64}$)(?=.{6,100}$).*/.test(email);
    }
    

    자바 스크립트에서 정규 표현식을 사용하여 유효성 검사 이메일 주소를 참조하십시오.


  11. 11.다른 언급로서 당신은 이메일 주소가 패턴과 일치하는지 확인하기 위해 정규 표현식을 사용할 수 있습니다. 그러나 당신은 여전히 ​​패턴하지만 내 여전히 반송 또는 수 가짜 스팸 메일을 일치 이메일을 가질 수 있습니다.

    다른 언급로서 당신은 이메일 주소가 패턴과 일치하는지 확인하기 위해 정규 표현식을 사용할 수 있습니다. 그러나 당신은 여전히 ​​패턴하지만 내 여전히 반송 또는 수 가짜 스팸 메일을 일치 이메일을 가질 수 있습니다.

    var regex = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/;
    return regex.test(email);
    

    당신은 이메일 주소가 실제와 현재 활성화되어 있는지 확인합니다 API를 사용할 수 있습니다.

    var emailAddress = "foo@bar.com"
    response = $.get("https://isitarealemail.com/api/email/validate?email=" +
        emailAddress,
        function responseHandler(data) {
            if (data.status === 'valid') {
                // the email is valid and the mail box is active
            } else {
                // the email is incorrect or unable to be tested.
            }
        })
    

    자세한 내용은 https://isitarealemail.com 또는 블로그 게시물을 참조


  12. 12.내가 파비안의 답변을 사용하는 동안 건너 온 문제 때문에 면도기 @ 심볼의 MVC보기에서 구현된다. 당신은 그것을 탈출과 같이하는 추가 @ 기호를 포함해야한다 : @@

    내가 파비안의 답변을 사용하는 동안 건너 온 문제 때문에 면도기 @ 심볼의 MVC보기에서 구현된다. 당신은 그것을 탈출과 같이하는 추가 @ 기호를 포함해야한다 : @@

    function isEmail(email) {
      var regex = /^([a-zA-Z0-9_.+-])+\@@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/;
      return regex.test(email);
    }
    

    나는 그것이 도움이 될 줄 알았는데, 그래서 나는,이 페이지에 다른 곳을 보지 못했다.

    여기의 사용을 설명하는 Microsoft의 링크입니다. 난 그냥 위의 코드를 테스트하고 다음 JS를 가지고 :

    function validateEmail(email) {
      var regex = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/; 
      return regex.test(email);
    }
    

    어떤이 어떻게해야 정확히 무엇을하고있다.


  13. 13.당신이 기본적인 형태가있는 경우, 다만 전자 우편의 입력 유형을 :

    당신이 기본적인 형태가있는 경우, 다만 전자 우편의 입력 유형을 :

    이 사용 HTML5 속성을 다음 심지어 JS를 필요로하지 않는 브라우저에서 작동합니다. 그냥 이후 많은 일을하지 않을 경우에도 위의 스크립트의 일부 이메일 유효성 검사를 사용하여 :

    some@email.com so@em.co my@fakemail.net

    등 ... "진짜"이메일 등의 모든 검증이됩니다. 당신은 사용자가 있는지가 동일한 하나를 넣어 만드는 두 번 자신의 이메일 주소를 입력하는 것을 보장 더 나을 것이다. 그러나 보증에 이메일 주소가 정확한지이 있다면 보는 것은 매우 어렵지만 매우 흥미로운 일이 될 것이다 그래서 방법. 방금 확인은 이메일 것을 만드는 경우 단, HTML5 입력에 충실.

    뿐인 예

    이것은 파이어 폭스와 크롬에서 작동합니다. 그것은 Internet Explorer에서 작동하지 않을 수 있습니다 ...하지만 인터넷 익스플로러가 안됐다. 그래서 그 거기에 ...


  14. 14.

    function isValidEmail(emailText) {
        var pattern = new RegExp(/^((([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);
        return pattern.test(emailText);
    };
    

    사용처럼이 :

    if( !isValidEmail(myEmail) ) { /* do things if myEmail is valid. */ }
    

  15. 15.

    function validateEmail(emailaddress){  
       var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;  
       if(!emailReg.test(emailaddress)) {  
            alert("Please enter valid email id");
       }       
    }
    

  16. 16.

    <script type = "text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
    <script type = "text/javascript">
        function ValidateEmail(email) {
            var expr = /^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
            return expr.test(email);
        };
        $("#btnValidate").live("click", function () {
            if (!ValidateEmail($("#txtEmail").val())) {
                alert("Invalid email address.");
            }
            else {
                alert("Valid email address.");
            }
        });
    </script>
    <input type = "text" id = "txtEmail" />
    <input type = "button" id = "btnValidate" value = "Validate" />
    

  17. 17...... 여기 결국 여기 도착 : https://html.spec.whatwg.org/multipage/forms.html#valid-e-mail-address

    ..... 여기 결국 여기 도착 : https://html.spec.whatwg.org/multipage/forms.html#valid-e-mail-address

    ... 다음 정규식을 제공한다 :

    /^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/
    

    ... 나는 추가 정보 플러그인 jQuery를 검증에 메모 덕분에 발견되는 : https://github.com/jzaefferer/jquery-validation/blob/master/README.md#reporting-an-issue

    그래서, 파비안의 대답이 될 것 @의 업데이트 된 버전 :

    function IsEmail(email) {
      var regex = /^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;
      return regex.test(email);
    }
    

    희망이 도움이


  18. 18.이것을 사용

    이것을 사용

    if ($this.hasClass('tb-email')) {
        var email = $this.val();
        var txt = /^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
        if (!txt.test(email)) {
            e.preventDefault();
            $this.addClass('error');
        } else {
            $this.removeClass('error');
        }
    }
    

  19. 19.JQuery와 유효성 검증 플러그인 만이 변경할 수 @으로 검증합니다 버그입니다

    JQuery와 유효성 검증 플러그인 만이 변경할 수 @으로 검증합니다 버그입니다

    이에 코드를 변경

    email: function( value, element ) {
        // From http://www.whatwg.org/specs/web-apps/current-work/multipage/states-of-the-type-attribute.html#e-mail-state-%28type=email%29
        // Retrieved 2014-01-14
        // If you have a problem with this implementation, report a bug against the above spec
        // Or use custom methods to implement your own email validation
        return this.optional( element ) || /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/.test( value );
    }
    

  20. 20.파괴 광년 길이의 정규식 일치보다 더 나은 유지 보수 솔루션을 사용하고자하는 사람들을 위해, 나는 몇 줄의 코드를 썼다. 원하는 사람들은 정규식 변형에, 스틱 바이트를 저장합니다 :)

    파괴 광년 길이의 정규식 일치보다 더 나은 유지 보수 솔루션을 사용하고자하는 사람들을 위해, 나는 몇 줄의 코드를 썼다. 원하는 사람들은 정규식 변형에, 스틱 바이트를 저장합니다 :)

    이 제한합니다 :

    어쨌든, 그것은을 통해 누출 그래서 당신이 서버 측 유효성 검사 + 이메일 링크 검증과이 결합 될 여전히 가능합니다.

    여기 JSFiddle입니다

     //validate email
    
    var emailInput = $("#email").val(),
        emailParts = emailInput.split('@'),
        text = 'Enter a valid e-mail address!';
    
    //at least one @, catches error
    if (emailParts[1] == null || emailParts[1] == "" || emailParts[1] == undefined) { 
    
        yourErrorFunc(text);
    
    } else {
    
        //split domain, subdomain and tld if existent
        var emailDomainParts = emailParts[1].split('.');
    
        //at least one . (dot), catches error
        if (emailDomainParts[1] == null || emailDomainParts[1] == "" || emailDomainParts[1] == undefined) { 
    
            yourErrorFunc(text); 
    
         } else {
    
            //more than 2 . (dots) in emailParts[1]
            if (!emailDomainParts[3] == null || !emailDomainParts[3] == "" || !emailDomainParts[3] == undefined) { 
    
                yourErrorFunc(text); 
    
            } else {
    
                //email user
                if (/[^a-z0-9!#$%&'*+-/=?^_`{|}~]/i.test(emailParts[0])) {
    
                   yourErrorFunc(text);
    
                } else {
    
                    //double @
                    if (!emailParts[2] == null || !emailParts[2] == "" || !emailParts[2] == undefined) { 
    
                            yourErrorFunc(text); 
    
                    } else {
    
                         //domain
                         if (/[^a-z0-9-]/i.test(emailDomainParts[0])) {
    
                             yourErrorFunc(text); 
    
                         } else {
    
                             //check for subdomain
                             if (emailDomainParts[2] == null || emailDomainParts[2] == "" || emailDomainParts[2] == undefined) { 
    
                                 //TLD
                                 if (/[^a-z]/i.test(emailDomainParts[1])) {
    
                                     yourErrorFunc(text);
    
                                  } else {
    
                                     yourPassedFunc(); 
    
                                  }
    
                            } else {
    
                                 //subdomain
                                 if (/[^a-z0-9-]/i.test(emailDomainParts[1])) {
    
                                     yourErrorFunc(text); 
    
                                 } else {
    
                                      //TLD
                                      if (/[^a-z]/i.test(emailDomainParts[2])) {
    
                                          yourErrorFunc(text); 
    
                                      } else {
    
                                          yourPassedFunc();
    }}}}}}}}}
    

  21. 21.당신은 당신이 이메일과 이메일 확인 메시지 유효성을 검사 할 수 있습니다, 하나의 HTML 라인에, jQuery를 검증을 사용할 수 있습니다 : "유효한 이메일 계정을 입력"= 유형 = "이메일"필요한 데이터-MSG-이메일을

    당신은 당신이 이메일과 이메일 확인 메시지 유효성을 검사 할 수 있습니다, 하나의 HTML 라인에, jQuery를 검증을 사용할 수 있습니다 : "유효한 이메일 계정을 입력"= 유형 = "이메일"필요한 데이터-MSG-이메일을

    "유효한 이메일 주소를 입력하십시오.": 당신은 개인화 된 메시지를 배치하는 데 데이터-MSG-이메일 매개 변수를 사용하거나 그렇지 않으면이 매개 변수를 배치하지 않고 기본 메시지가 표시됩니다

    전체 예 :

    <form class="cmxform" id="commentForm" method="get" action="">
      <fieldset>
        <p>
          <label for="cemail">E-Mail (required)</label>
          <input id="cemail" type="email" name="email" required data-msg-email="Enter a valid email account!">
        </p>
        <p>
          <input class="submit" type="submit" value="Submit">
        </p>
      </fieldset>
    </form>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
    <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/jquery-validation@1.17.0/dist/jquery.validate.js"></script>
    <script>
    $("#commentForm").validate();
    </script>
    

  22. 22.

    if($("input#email-address").getVerimailStatus() < 0) { 
    
    (incorrect code)
    
    }
    
    if($("input#email-address").getVerimailStatus() == 'error') { 
    
    (right code)
    
    }
    

  23. 23.

    checkRegexp( email, /^((([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, "eg. ui@jquery.com" );
    

    참조 : JQUERY UI 웹 사이트


  24. 24.프로젝트에 추가 jquery.validate.js :이 표시되어야합니다

    프로젝트에 추가 jquery.validate.js :이 표시되어야합니다

    이런 식으로 그것을 사용 :

    <input id='email' name='email' class='required email'/>
    

  25. 25.또 다른 간단하고 완전한 옵션 :

    또 다른 간단하고 완전한 옵션 :

    <input type="text" id="Email"/>
    <div id="ClasSpan"></div>   
    <input id="ValidMail" type="submit"  value="Valid"/>  
    
    
    function IsEmail(email) {
        var regex = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/;
        return regex.test(email);
    }
    
    $("#ValidMail").click(function () {
        $('span', '#ClasSpan').empty().remove();
        if (IsEmail($("#Email").val())) {
            //aqui mi sentencia        
        }
        else {
            $('#ClasSpan').append('<span>Please enter a valid email</span>');
            $('#Email').keypress(function () {
                $('span', '#itemspan').empty().remove();
            });
        }
    });
    

  26. 26.당신은 자신의 함수를 만들 수 있습니다

    당신은 자신의 함수를 만들 수 있습니다

    function emailValidate(email){
        var check = "" + email;
        if((check.search('@')>=0)&&(check.search(/\./)>=0))
            if(check.search('@')<check.split('@')[1].search(/\./)+check.search('@')) return true;
            else return false;
        else return false;
    }
    
    alert(emailValidate('your.email@yahoo.com'));
    

  27. 27.이 질문은 첫 눈에 보이는 것보다 대답 더 어렵습니다. 올바르게 이메일을 처리하십시오.

    이 질문은 첫 눈에 보이는 것보다 대답 더 어렵습니다. 올바르게 이메일을 처리하십시오.

    "그들 모두를 지배 할 수있는 정규 표현식"을 찾고 세계 사람들의 부하가 있었다 그러나 진실은 이메일 제공 업체의 톤이 있다는 것입니다.

    뭐가 문제 야? 음, "a_z%@gmail.com가 존재 할 수 있지만 수있는 다른 공급자를 통해 같은 주소 존재"a__z@provider.com합니다.

    왜? 은 RFC에 따르면 : https://en.wikipedia.org/wiki/Email_address#RFC_specification.

    나는 강의를 촉진하기 위해 발췌 할게요 :

    The local-part of the email address may use any of these ASCII characters:
    
    - uppercase and lowercase Latin letters A to Z and a to z;
    - digits 0 to 9;
    - special characters !#$%&'*+-/=?^_`{|}~;
    - dot ., provided that it is not the first or last character unless quoted, and provided also that it does not appear consecutively unless quoted (e.g. John..Doe@example.com is not allowed but "John..Doe"@example.com is allowed);[6]
    Note that some mail servers wildcard local parts, typically the characters following a plus and less often the characters following a minus, so fred+bah@domain and fred+foo@domain might end up in the same inbox as fred+@domain or even as fred@domain. This can be useful for tagging emails for sorting, see below, and for spam control. Braces { and } are also used in that fashion, although less often.
    - space and "(),:;<>@[\] characters are allowed with restrictions (they are only allowed inside a quoted string, as described in the paragraph below, and in addition, a backslash or double-quote must be preceded by a backslash);
    - comments are allowed with parentheses at either end of the local-part; e.g. john.smith(comment)@example.com and (comment)john.smith@example.com are both equivalent to john.smith@example.com.
    

    그래서, 난 그런 이메일 주소를 소유 할 수 있습니다 :

    A__z/J0hn.sm{it!}h_comment@example.com.co
    

    당신은 내가 내기이 주소를하려고하면 그것은 모두 실패 또는 정규 표현식의 주요 부분은 인터넷을 통해 모두를 기록했다. 그러나이 주소는 RFC 규칙을 다음과 그것의 공정 유효 그래서 기억한다.

    어디서든 등록하는 정규식으로 확인 할 수없는 나의 좌절을 상상해보십시오!

    정말 이메일 주소를 확인할 수있는 유일한 사람은 이메일 주소의 업체입니다.

    어떻게 그렇게 처리하는?

    사용자가 거의 모든 경우에 유효하지 않은 전자 우편을 추가하는 경우 그것은 중요하지 않습니다. 당신은 HTML 5 입력 유형 = RFC 가까이 실행 "이메일"신뢰할 수있는, 작은 기회가 실패합니다. HTML5 입력 유형 = "이메일"정보 : https://www.w3.org/TR/2012/WD-html-markup-20121011/input.email.html

    예를 들어, 이것은 RFC 유효한 이메일은 다음과 같습니다

    "very.(),:;<>[]\".VERY.\"very@\\ \"very\".unusual"@strange.example.com
    

    그러나 HTML5 유효성 검사 전에 텍스트 @ 실제로 잘못이다, 예를 들어, "또는 () 문자를 포함 할 수 없습니다 당신을 말할 것이다.

    어쨌든, 당신은 이메일 주소를 수용하고 사용자가 확인 유효성에 방문해야 코드 / 링크, 이메일 주소로 이메일 메시지를 전송하여이 작업을 수행해야합니다.

    좋은 연습이 피 사용자 입력 오류로 "다시 이메일을 입력"입력하는 동안. 이 당신을 위해 충분하지 않다면, "? 이것이 당신의 현재 전자 메일은"제목이 모달 창을 제출 사전 a를 다음 H2 태그 내부에 사용자가 입력 한 메일은, 당신도 알다시피, 명확하게하는 전자 보여 가 입력 - 메일, 다음 버튼을 "예, 제출".


  28. 28.난 그냥했습니다 단순화 한, 나는 그것을 필요하지 않습니다. 유무는 영숫자, 마침표, 밑줄로 제한 @.

    난 그냥했습니다 단순화 한, 나는 그것을 필요하지 않습니다. 유무는 영숫자, 마침표, 밑줄로 제한 @.

    <input onKeyUp="testEmailChars(this);"><span id="a"></span>
    function testEmailChars(el){
        var email = $(el).val();
        if ( /^[a-zA-Z0-9_@.-]+$/.test(email)==true ){
            $("#a").html("valid");
        } else {
            $("#a").html("not valid");
        }
    }
    

    다른 사람의 도움을 받아 제작


  29. 29.abc@abc.com.com.com.com 같은이 정규 표현식을 방지 중복 된 도메인 이름, 그것은 abc@abc.co.in 같은 전용 도메인 두 시간을 허용합니다. 또한 123abc@abc.com 같은 번호에서 statring 허용하지 않습니다

    abc@abc.com.com.com.com 같은이 정규 표현식을 방지 중복 된 도메인 이름, 그것은 abc@abc.co.in 같은 전용 도메인 두 시간을 허용합니다. 또한 123abc@abc.com 같은 번호에서 statring 허용하지 않습니다

     regexp: /^([a-zA-Z])+([a-zA-Z0-9_.+-])+\@(([a-zA-Z])+\.+?(com|co|in|org|net|edu|info|gov|vekomy))\.?(com|co|in|org|net|edu|info|gov)?$/, 
    

    모든 최고 !!!!!


  30. 30.유효성 검사 이메일 버튼 상태와 입력이 처리하는 동안.

    유효성 검사 이메일 버튼 상태와 입력이 처리하는 동안.

    $("#email").on("input", function(){
        var email = $("#email").val();
        var filter = /^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
        if (!filter.test(email)) {
          $(".invalid-email:empty").append("Invalid Email Address");
          $("#submit").attr("disabled", true);
        } else {
          $("#submit").attr("disabled", false);
          $(".invalid-email").empty();
        }
      });
    
  31. from https://stackoverflow.com/questions/2507030/email-validation-using-jquery by cc-by-sa and MIT license