jQueryでメールアドレスの入力チェックを行う
jQueryでメールアドレスの入力チェックをする方法です。
テキスト入力欄よりフォーカスが外れた時に、入力チェックをします。
See the Pen form-email by take it easy (@take-it-easy) on CodePen.
HTML
<div>
<label for="email">メールアドレス:</label>
<input type="email" id="email" name="email" placeholder="sample@take-it-easy.site" size=40 />
<div id="error-msg-email" class="error-msg" style="display: none;"></div>
</div>
Javascript
$(function () {
// フォーカスが当たった場合のイベントハンドラ
$("#email").on("focus", function () {
$("#email").removeClass("input-error");
$("#error-msg-email p").remove();
$("#error-msg-email").hide();
});
// フォーカスが外れた場合のイベントハンドラ
$("#email").on("blur", function () {
// トリム
$("#email").val($.trim($("#email").val()));
// 入力チェック
validate_email();
});
});
/**
* メールアドレスの入力チェック
*/
function validate_email() {
var val = $("#email").val();
// 必須チェック
if (val == "") {
$("#error-msg-email").show().append("<p>メールアドレスは入力必須項目です。</p>");
$("#email").addClass("input-error");
}
// メール形式チェック
else if (!val.match(/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/)) {
$("#error-msg-email").show().append("<p>メールアドレスを入力してください。</p>");
$("#email").addClass("input-error");
}
}
メール形式のチェックは、正規表現を使用してチェックを行っています。
正規表現は、
/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/
簡易的な形式チェックになるので、サーバーサイドでしっかり入力チェックを行うようにしてください。