フリーランス|WEB 制作経験丸7年、制作会社様からのご依頼に丁寧・高クオリティでお手伝いいたします。 IRODORI DESIGN

B L O G

【バリデーション】メールアドレス|フォームの入力形式チェックを実装する方法

JavaScript
jQuery
バリデーション
フォーム
メールアドレスチェック
入力形式チェック

ウェブ上での情報交換の中心として、メールアドレスは不可欠です。特に自動返信メールなどのシステムが活用されている場面では、間違ったアドレスが入力されると正常な通知が行えません。これを防ぐため、フォームで収集する際に正確なメールアドレスを確保することが求められます。この記事では、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()を使い、ユーザの入力値を取得します。

入力値を手に入れたら、基本的なメールアドレスの正規表現を使用して形式をチェックします。

形式が正しければそのまま進めますが、不正な場合はエラーメッセージを表示し、ユーザに知らせるようにします。

その他のバリデーションチェック

フォームを構築する際、バリデーションチェックするその他のプログラムコードについては、別の記事で詳しく取り上げています。詳細はそちらを参照してみてください。

まとめ

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