2016-02-26 146 views
-5

我想檢查電子郵件是否已經存在與JQuery。檢查電子郵件是否已經存在與JQuery

我有這樣的:

contactpersonen_email:{ 
    required:true, 
    email:true 
}, 

和留言本:

contactpersonen_email:{ 
    required: "U heeft geen geldig email adres ingevuld", 
    email: "je email is leeg" 
}, 

用戶可以添加更多的聯繫人。每個聯繫人都需要一個電子郵件地址。但是不同人的電子郵件地址是不一樣的。但要用規則和信息來做到這一點。這是完整的腳本:

rules: { 
             verploegen_form_klantregistratie_Bedrijfsnaam: "required", 
             verploegen_form_klantregistratie_Postcode:{ 
             required:true, 
             maxlength:6 
             }, 

             verploegen_form_klantregistratie_Plaats: "required", 
             contactpersonen_voornaam: "required", 
             contactpersonen_achternaam: "required", 
             contactpersonen_functie:{required:true, maxlength:30}, 

             verploegen_form_klantregistratie_Emailadres_digitale_factuur:{          
             email:true 
             }, 
             verploegen_form_klantregistratie_Telefoon_vast:{ 
             minlength:10, 
             maxlength:10, 
             digits:true 
}, 

             verploegen_form_klantregistratie_Emailadres: { 
              required: true, 
              email: true 
             }, 


             contactpersonen_telefoon:{ 
             minlength:10, 
             maxlength:10, 
             digits:true 
             }, 

             contactpersonen_email:{ 
              required: true, 
              email: true 
             }, 


             verploegen_form_klantregistratie_KvK_nummer:{ 
             required:true, 
             minlength:8, 
             maxlength:8, 
             digits: true 

             }, 
             verploegen_form_klantregistratie_naam_eigenaar: "required", 
             verploegen_form_klantregistratie_Telefoon_mobiel: "required" 
            }, 
             contactpersonen_voornaam:"required", 
             contactpersonen_achternaam:"required", 
             contactpersonen_functie: { 
             required:true, maxlength:30 }, 


             contactpersonen_email:{ 
             required:true, 
             email:true          
             },          

            messages: { 
             verploegen_form_klantregistratie_Bedrijfsnaam: "De bedrijfsnaam is niet ingevuld", 
             verploegen_form_klantregistratie_Postcode: { 
              required: "De postcode is niet gevuld", 
              maxlength:"Postcode kan niet langer dan 6 tekens zijn"  
             }, 


      //if(document.getElementById('contactpersonen_canorder_0').checked) { return true; } else { alert('please agree'); return false; } 

             verploegen_form_klantregistratie_Plaats: "De plaats is niet ingevuld", 
             verploegen_form_klantregistratie_Emailadres: { 
              required: "Je hebt geen email adres ingevuld", 
              email: "Je hebt geen geldig email adres ingevuld" 
             }, 

             verploegen_form_klantregistratie_Emailadres_digitale_factuur:{           
             email: "Geen geldig email adres"     
             }, 
             verploegen_form_klantregistratie_Telefoon_vast:{ 
             digits:"Telefoon nummer bestaat uit 10 cijfers" 
             },    

             contactpersonen_telefoon:{ 
             digits:"Telefoon nummer bestaat enkel uit 10 cijfers" 

             }, 

              contactpersonen_email:{ 
              required: "U heeft geen geldig email adres ingevuld", 
              email: "je email is leeg" 
             }, 

             contactpersonen_voornaam:"U heeft u voornaam niet ingevuld", 
             contactpersonen_achternaam:"U heeft u achternaam niet ingevuld",              

             contactpersonen_functie:{required:"U heeft niks ingevuld", maxlength:"Functie naam mag niet meer dan 30 karakters bevatten"}, 



             verploegen_form_klantregistratie_KvK_nummer:{ 
             required: "Het KVK nummer is niet ingevuld", 
             digits:"KVK nummer bestaat uit 8 nummers" 

}, 
             verploegen_form_klantregistratie_naam_eigenaar: "De naam van de eigenaar is niet ingevuld", 
             verploegen_form_klantregistratie_Telefoon_mobiel: "Het (mobiele) telefoon nummer is niet ingevuld" 
            } 
           }); 

謝謝

尼爾斯。

+0

定義「存在」。 – Biffen

+2

你在問什麼?完全不清楚。 –

+0

儘管你沒有說明它的位置,但它看起來好像你正在嘗試使用jQuery Validate插件。 – Sparky

回答

0

我不確定「存在」是什麼意思,有三種可能的方式可以定義「存在」。

  1. 電子郵件地址是有效
  2. 是否有用戶使用該數據庫中已存在的電子郵件?
  3. 此電子郵件地址是否爲「真實」並可以接收電子郵件?

第一個問題可以用JavaScript和Regex來回答。第二個問題需要數據庫連接和後端語言(PHP,Python,RoR,ASP.NET等)來檢查你的數據庫。第三個問題只能通過向該地址發送電子郵件並讓他們點擊鏈接來驗證其帳戶來回答。

  1. 這裏是你如何檢查電子郵件地址使用是有效的JavaScript中的正則表達式:

function validEmail(email){ 
 
    if(email.length < 6 || email.length > 255) return false; 
 
    return new RegExp(/^[a-zA-Z0-9._-][email protected][a-zA-Z0-9.-]+\.[a-zA-Z]{2,6}$/).test(email); 
 
}

  • 下面是一個例子在PHP中檢查您的數據庫以查看該電子郵件地址是否已存在。假設您有一張名爲users的表,其中有一個名爲email的字段。
  • 以下是您應該運行以查看電子郵件是否存在於數據庫中的腳本。對於這個例子,我們稱之爲「checkEmail.php」。

    <?php 
     
        $email = $_GET['email'] 
     
        $DB = new mysqli("localhost", "dbusername", "dbpassword", "dbname"); 
     
        // Check for connection errors herer 
     
        $email = $DB->real_esacape_string($email); 
     
        $resutls = $DB->query("SELECT `email` FROM `users` WHERE `email` = '{$email}' LIMITT 1"); 
     
        if($results->num_rows == 0) echo "false"; 
     
        else echo "true"; 
     
    ?>

    然後在你的主HTML文件做一個Ajax調用該腳本來檢查郵件是否存在:

    function emailExists(email, callback){ 
     
        $.ajax({ 
     
        url: "checkEmail.php", 
     
        data: { 
     
         email: email 
     
        }, 
     
        success: function(response){ 
     
         if(response == "true") 
     
         callback(true); 
     
         else 
     
         callback(false); 
     
        } 
     
        }); 
     
    };

    +0

    我以爲我知道你可能會問什麼,直到你更新了你的問題,現在我更加不清楚了。現在你已經編輯了你的問題,不要理會這個答案。 –

    相關問題