Ich kopierte die gängigste Validierungsmethode aus verschiedenen StackOverflow-Antworten, aber die Problem-E-Mail scheint immer nicht gültig zu sein. Diese zweite Bedingung wird also nie ausgeführt. Was verstehe ich falsch?E-Mail-Validierung schlägt immer fehl
function validateEmail(email) {
var re = /^(([^<>()[\]\\.,;:\[email protected]\"]+(\.[^<>()[\]\\.,;:\[email protected]\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
return re.test(email);
}
var emailaddress = document.getElementById("email_input").value;
$("#email_input").keydown(function(emailaddress) {
if (!validateEmail(emailaddress)) {
$('#enter_valid_email').remove()
$('<span class="enter_smth_valid" id="enter_valid_email">Enter valid email</span>').insertAfter('#email_input')
} else {
alert();
$('#enter_valid_email').remove()
}
});
'emailaddress' im keydown Event-Handler ist das Ereignis, nicht die Wert. Sie können den Wert der Eingabe entweder mit 'this.value' oder' emailaddress.target.value' ermitteln. Obwohl ich vorschlagen würde, diesen Parameter in jedem Fall auf "event" oder "e" umzubenennen. – Taplar