2017-10-02 2 views
-2

Je crée un formulaire HTML avec validation des champs en JavaScript. Je suis bloqué sur la validation d'email. Je cherchai Internet et a trouvé quelque chose comme this-JavaScript Validation de l'adresse e-mail

code JS

function validateemail() { 
    var x=document.myform.email.value; 
    var atposition=x.indexOf("@"); 
    var dotposition=x.lastIndexOf("."); 
    if (atposition<1 || dotposition<atposition+2 || dotposition+2>=x.length) { 
     alert("Please enter a valid e-mail address \n atpostion:"+atposition+"\n dotposition:"+dotposition); 
     return false; 
    } 
} 

Code HTML

<body> 

<form name="myform" method="post" action="#" onsubmit="return validateemail();"> 

Email: <input type="text" name="email"><br/> 

<input type="submit" value="register"> 
</form> 

S'il vous plaît me l'expliquer?

+1

Pour moi, vous devez valider l'expression Regex + Button désactiver/activer dépend de validé sinon –

+0

S'il vous plaît vérifier ce [lien] (https://stackoverflow.com/questions/46155/how-to-validate-email-address-in-javascript) –

Répondre

0

Vérifiez ce que je suis en utilisant quelque chose comme ça, je minifiés certains d'entre eux Vous devez entrer quelque chose valide Adresse e-mail comme celui-ci [email protected]

$(document).ready(function() { 
 
    $('.insidedivinput').focusout(function() { 
 
    $('.insidedivinput').filter(function() { 
 
     var emil = $('.insidedivinput').val(); 
 
     var emailReg = /^([\w-\.][email protected]([\w-]+\.)+[\w-]{2,4})?$/; 
 
     if (emil.length == 0) { 
 
     $('.fa-check').css('display', 'none'); 
 
     $('.fa-close').css('display', 'inline'); 
 
     $('.sendmailbuttontrigger').attr('disabled', 'disabled'); 
 
     $('.SendEmail').attr('disabled', 'disabled'); 
 
     } else if (!emailReg.test(emil)) { 
 
     $('.SendEmail').attr('disabled', 'disabled'); 
 
     $('.sendmailbuttontrigger').attr('disabled', 'disabled'); 
 
     $('.fa-check').css('display', 'none'); 
 
     $('.fa-close').css('display', 'inline'); 
 
     } else { 
 
     // alert('Thank you for your valid email'); 
 
     $('.fa-close').css('display', 'none'); 
 
     $('.sendmailbuttontrigger').removeAttr('disabled'); 
 
     $('.fa-check').css('display', 'inline'); 
 
     } 
 
    }) 
 
    }); 
 
});
.fa-check{ 
 
    display:none; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type='email' class='insidedivinput'><i class='fa-check'>Validated</i><i class="fa-close">UnValidated</i> 
 
<button class="sendmailbuttontrigger" disabled> 
 
    Send 
 
</button>

-2

Je cherchai aussi sur Internet et à l'utilisation celui-ci et ça marche.

// email validation 
checkEmail = (inputvalue) => { 
    const pattern = /^([a-zA-Z0-9_.-])[email protected]([a-zA-Z0-9_.-])+\.([a-zA-Z])+([a-zA-Z])+/; 
    if (pattern.test(inputvalue)) return true; 
    return false; 
} 
+1

Si vous avez copié ce code de quelque part, Pouvez-vous s'il vous plaît [fournir le nom de l'auteur original et un lien de référence] (/ help/referencing)? –

0

Si vous voulez juste pour valider une adresse e-mail, vous pouvez utiliser la validation qui est construit en HTML:

<form onsubmit="return false;"> 
 
    <input type="email" required="1"> 
 
    <input type="submit"> 
 
</form>

(Laissez-le onsubmit pour votre propre forme, C'est seulement dans mon exemple pour vous empêcher de quitter la page avec le formulaire.)

+0

Monsieur existe-t-il des e-mails existent sans nom de domaine et point (.) Je veux dire exemple @ exemple –