检查是否已存在使用JQuery的电子邮件

时间:2016-02-26 12:53:45

标签: javascript 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"
                                    }
                                });

谢谢

尼尔斯。

1 个答案:

答案 0 :(得分:0)

我不确定“存在”是什么意思,有三种方法可以定义“存在”。

  1. 电子邮件地址有效
  2. 您的数据库中是否存在已存在该电子邮件的用户?
  3. 此电子邮件地址是“真实的”并且可以接收电子邮件吗?
  4. 使用JavaScript和Regex可以回答第一个问题可以。第二个问题需要数据库连接和后端语言(PHP,Python,RoR,ASP.NET等)来检查您的数据库。第三个问题只能通过向该地址发送电子邮件并让他们点击链接来验证其帐户来解答。

    1. 以下是使用Regex检查电子邮件地址在JavaScript中是否有效的方法:
    2. function validEmail(email){
        if(email.length < 6 || email.length > 255) return false;
        return new RegExp(/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,6}$/).test(email);
      }

      1. 以下是PHP中的一个示例,它检查您的数据库以查看该电子邮件地址是否已存在。这假设您有一个名为users的表,其中包含一个名为email的字段。
      2. 以下是您应该运行的脚本,以查看数据库中是否存在该电子邮件。对于这个例子,我们称之为“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);
            }
          });
        };