0
異なるStackOverflowの回答から最も一般的な検証方法をコピーしましたが、問題の電子メールは常に有効ではないようです。したがって、2番目の条件は決して実行されません。何が間違っているのですか?電子メールの検証は常に失敗しています
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()
}
});
'のKeyDownイベントハンドラでemailaddress'がイベント、ではありません値。あなたは 'this.value'か' emailaddress.target.value'のどちらかで入力値を得ることができます。どちらの場合でも、そのパラメータの名前を 'event'または' e'に変更することを提案します。 – Taplar