【JavaScript】簡単な入力チェックを行う方法

JavaScriptを使ってフォームの入力チェックを行う方法について、基本的な手順を見出し付きで紹介します。これを参考にして、ユーザーが入力するデータの正確性を確保しましょう。

フォームのセットアップ

まずはHTMLでフォームを作成します。以下のコードは、名前とメールアドレスを入力するシンプルなフォームの例です。

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>フォームバリデーション</title>
</head>
<body>
    <form id="myForm">
        <label for="name">名前:</label>
        <input type="text" id="name" name="name" required>
        <br>
        <label for="email">メールアドレス:</label>
        <input type="email" id="email" name="email" required>
        <br>
        <input type="submit" value="送信">
    </form>
    <div id="errorMessages"></div>

    <script src="validation.js"></script>
</body>
</html>

JavaScriptによる入力チェックの実装

次に、JavaScriptで入力チェックを行うコードを作成します。以下のコードをvalidation.jsファイルに保存します。

document.getElementById('myForm').addEventListener('submit', function(event) {
    // エラーメッセージを表示するための要素
    const errorMessages = document.getElementById('errorMessages');
    errorMessages.innerHTML = ''; // エラーメッセージをリセット

    // フォームのフィールドの値を取得
    const name = document.getElementById('name').value;
    const email = document.getElementById('email').value;

    // エラーメッセージを格納する配列
    let errors = [];

    // 名前のバリデーション
    if (name === '') {
        errors.push('名前を入力してください。');
    }

    // メールアドレスのバリデーション
    if (email === '') {
        errors.push('メールアドレスを入力してください。');
    } else if (!validateEmail(email)) {
        errors.push('有効なメールアドレスを入力してください。');
    }

    // エラーがある場合、フォームの送信を停止し、エラーメッセージを表示
    if (errors.length > 0) {
        event.preventDefault(); // フォームの送信を停止
        errors.forEach(function(error) {
            const errorMessage = document.createElement('p');
            errorMessage.textContent = error;
            errorMessages.appendChild(errorMessage);
        });
    }
});

// メールアドレスのバリデーション関数
function validateEmail(email) {
    const re = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
    return re.test(email);
}

バリデーションの詳細

名前のバリデーション

名前のフィールドが空でないかどうかをチェックします。空の場合、エラーメッセージを追加します。

メールアドレスのバリデーション

メールアドレスが空でないか、正しい形式で入力されているかをチェックします。正規表現を使用して形式を確認します。

function validateEmail(email) {
    const re = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
    return re.test(email);
}

エラーメッセージの表示

エラーメッセージを表示するために、errorMessages要素を使います。フォームの送信を停止し、各エラーメッセージを表示します。

if (errors.length > 0) {
    event.preventDefault(); // フォームの送信を停止
    errors.forEach(function(error) {
        const errorMessage = document.createElement('p');
        errorMessage.textContent = error;
        errorMessages.appendChild(errorMessage);
    });
}

まとめ

JavaScriptで入力チェックを行う基本的な方法を紹介しました。これを応用して、より複雑なバリデーションを実装することも可能です。ユーザーが正確なデータを入力できるように、適切なバリデーションを設定しましょう。