jQuery を使用して、ユーザーが有効な電子メール アドレスをテキスト ボックスに入力したかどうかを確認しようとしています。基本的に、送信ボタンをデフォルトで無効のままにしたいのですが、キーアップごとにメールアドレスが有効かどうかを確認してから、ボタンを有効にしたいと考えています。ユーザーが有効な電子メールを入力した後、一部を削除して再び無効になる場合 (つまり、@ 記号)、送信ボタンを再び無効にする必要があります。
ここに部分的に機能するスクリプトがあります。私のチェックまたは @ 記号はうまく機能しますが、.com、.co、.net、.org、.edu などをチェックするのに苦労しています... 何らかの理由で、入力していないのにボタンが有効のままです。メールの有効な「エンディング」。
たとえば、「emailco@」は有効な電子メールとして認識されます。これが私のスクリプトです:
<script>
$(document).ready(function() {
$('#email').bind('keyup', function(e) {
var email = document.getElementById("email");
if (email.value.search("@") != -1) {
if (
(email.value.search(".com") != -1)||
(email.value.search(".co") != -1)||
(email.value.search(".org") != -1)||
(email.value.search(".net") != -1)||
(email.value.search(".gov") != -1)||
(email.value.search(".biz") != -1)||
(email.value.search(".me") != -1)||
(email.value.search(".edu") != -1)) {
document.getElementById("email_go").disabled = false;
}
else {
document.getElementById("email_go").disabled = true;
}
}
else {
document.getElementById("email_go").disabled = true;
}
});
});
</script>