【バリデーション】メールアドレス|フォームの入力形式チェックを実装する方法
こんにちは、岐阜・名古屋を拠点に全国各地からご依頼いただくWEBサイトを制作しているフリーランスエンジニアの寺井です。
ウェブ上での情報交換の中心として、メールアドレスは不可欠です。特に自動返信メールなどのシステムが活用されている場面では、間違ったアドレスが入力されると正常な通知が行えません。これを防ぐため、フォームで収集する際に正確なメールアドレスを確保することが求められます。この記事では、JavaScriptとjQueryを使用して、メールアドレスの形式をチェックする方法を詳しく解説します。
メールアドレスの形式チェック
まず初めに、HTMLのコードを用意します。今回の入力形式チェックに使用するHTMLは全て以下の通りです。
HTML
<form id="myForm">
<input type="text" id="myInput" required>
<button type="submit">送信</button>
</form>
<div id="errorMessage" style="color: red;"></div>
JavaScript、jQueryそれぞれの実装方法を解説していきます。
JavaScriptで実装する方法
メールアドレスの入力形式チェックをJavaScriptで実装する方法は以下になります。
document.getElementById('myForm').addEventListener('submit', function(event) {
event.preventDefault();
var email = document.getElementById('myInput').value;
var regex = /^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,}$/;
if (regex.test(email)) {
document.getElementById('errorMessage').textContent = '';
this.submit();
} else {
document.getElementById('errorMessage').textContent = '正しいメールアドレスの形式を入力してください。';
}
});
実装サンプル
See the Pen Untitled by 寺井大樹 (@teraisan) on CodePen.
解説
まず、myForm
というIDを持つフォームのsubmit
イベントへリスナーを追加しましょう。これにより、ユーザがフォームを送信しようとする際の動作をキャッチできます。
リスナーが発火したら、event.preventDefault()
を利用して、一時的に送信を中断します。これで、形式の確認前に送信を防ぐことができます。
送信を中断したら、次にdocument.getElementById
メソッドやquerySelector
メソッドを使用して、myInput
の入力値を取得します。
入力値を取得したら、基本的なメールアドレスの正規表現を適用し、形式を確認します。
最後に、形式が正しければ、フォームを送信します。そうでなければ、エラーメッセージを表示してユーザに知らせます。
jQueryで実装する方法
メールアドレスの入力形式チェックをjQueryで実装する方法は以下になります。
$('#myForm').on('submit', function(event) {
event.preventDefault();
var email = $('#myInput').val();
var regex = /^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,}$/;
if (regex.test(email)) {
$('#errorMessage').text('');
this.submit();
} else {
$('#errorMessage').text('正しいメールアドレスの形式を入力してください。');
}
});
実装サンプル
See the Pen Untitled by 寺井大樹 (@teraisan) on CodePen.
解説
jQueryを使って、まずは$('#myForm')
にsubmit
イベントの関数をバインドします。
フォームが送信しようとすると、この関数が発火します。その際、event.preventDefault()
で一時的に送信を停止します。
次に、$('#myInput').val()
を使い、ユーザの入力値を取得します。
入力値を手に入れたら、基本的なメールアドレスの正規表現を使用して形式をチェックします。
形式が正しければそのまま進めますが、不正な場合はエラーメッセージを表示し、ユーザに知らせるようにします。
その他のバリデーションチェック
フォームを構築する際、バリデーションチェックするその他のプログラムコードについては、別の記事で詳しく取り上げています。詳細はそちらを参照してみてください。

まとめ
今回解説メールアドレスの形式チェックは、ユーザからの情報を正確に収集するための基本的なステップです。技術は日々進化していますので、新しい知識や手法を取り入れることで、よりユーザーフレンドリーで信頼性の高いウェブサイトを構築することができます。