case study 1 q1

PHOTO EMBED

Mon Dec 23 2024 08:10:29 GMT+0000 (Coordinated Universal Time)

Saved by @exam

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Face Chat Registration</title>
    <style>
        body {
            font-family: Arial, sans-serif;
            padding: 20px;
            background-color: #f4f4f4;
        }
        .container {
            max-width: 600px;
            margin: 0 auto;
            background-color: #fff;
            padding: 20px;
            border-radius: 8px;
            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
        }
        h1 {
            text-align: center;
            color: #333;
        }
        h2 {
            text-align: center;
            color: #333;
            font-size: 1.5em;
        }
        label {
            display: block;
            margin: 10px 0 5px;
        }
        input {
            width: 100%;
            padding: 8px;
            margin-bottom: 10px;
            border-radius: 4px;
            border: 1px solid #ccc;
        }
        button {
            padding: 10px 20px;
            background-color: #4CAF50;
            color: #fff;
            border: none;
            border-radius: 4px;
            cursor: pointer;
        }
        button:hover {
            background-color: #45a049;
        }
        .error {
            color: red;
            font-size: 14px;
        }
        .success {
            color: green;
            font-size: 14px;
        }
    </style>
</head>
<body>

    <div class="container">
        <h1>Face Chat Registration</h1>

        <!-- Updated h2 tag -->
        <h2 id="heading">Face Chat</h2>
        
        <form id="registrationForm">
            <label for="userName">Username:</label>
            <input type="text" id="userName" required><br><br>

            <label for="name">Name:</label>
            <input type="text" id="name" required><br><br>

            <label for="email">Email:</label>
            <input type="email" id="email" required><br><br>

            <label for="password">Password:</label>
            <input type="password" id="password" required><br><br>

            <label for="reEnter">Re-enter Password:</label>
            <input type="password" id="reEnter" required><br><br>

            <label for="mobile">Mobile Number:</label>
            <input type="text" id="mobile" required><br><br>

            <label for="age">Age:</label>
            <input type="number" id="age" required><br><br>

            <button type="button" id="register" onclick="validateRegistration()">Submit</button>
        </form>

        <p id="message" class="error"></p>

        <!-- Success and Result divs -->
        <div id="result" class="success" style="display: none;"></div>
        <div id="success" class="success" style="display: none;">Registration Successfull</div> <!-- Updated to match the required text -->
    </div>

    <script>
        function validateRegistration() {
            let userName = document.getElementById('userName').value;
            let name = document.getElementById('name').value;
            let email = document.getElementById('email').value;
            let password = document.getElementById('password').value;
            let reEnter = document.getElementById('reEnter').value;
            let mobile = document.getElementById('mobile').value;
            let age = document.getElementById('age').value;
            let messageElement = document.getElementById('message');
            let resultElement = document.getElementById('result');
            let successElement = document.getElementById('success');
            
            try {
                // Validate that the age is a number and is above 18
                if (age < 18 || isNaN(age)) {
                    resultElement.style.display = 'block';
                    resultElement.textContent = 'You are too early to register in this site. Better you can wait for 6 years.';
                    throw new Error('You must be at least 18 years old to register.');
                }

                // Validate username: simple check for alphanumeric characters
                if (!/^[a-zA-Z0-9]+$/.test(userName)) {
                    throw new Error('Username should contain only alphanumeric characters.');
                }

                // Validate password and re-enter password match
                if (password !== reEnter) {
                    throw new Error('Password and re-entered password do not match.');
                }

                // Validate mobile number format (simple check for 10 digits)
                if (!/^\d{10}$/.test(mobile)) {
                    throw new Error('Please enter a valid 10-digit mobile number.');
                }

                // If validation is successful, reset the message
                messageElement.textContent = '';

            } catch (error) {
                // Handle errors (invalid input)
                messageElement.textContent = error.message;
                messageElement.className = 'error';
                // Exit the function if there's an error
                return;
            } finally {
                // Always executed after the try/catch block
                if (age >= 18 && password === reEnter && /^\d{10}$/.test(mobile) && /^[a-zA-Z0-9]+$/.test(userName)) {
                    resultElement.style.display = 'none'; // Hide result div when validation is successful
                    successElement.style.display = 'block'; // Show success div
                    messageElement.className = 'success';
                    document.getElementById('registrationForm').reset(); // Clear form after success
                }
            }
        }
    </script>

</body>
</html>
content_copyCOPY