OneCompiler

Membership_Form

109
<html> <head> <title>TODO supply a title</title> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> </head> <body> <form onsubmit="return validateForm()"> Username: <input type="text" id="username"><br> Password: <input type="text" id="password"><br> <input type="submit" value="submit"> </form>
    <script>
        function validateForm() {
            let username = document.getElementById('username').value.trim();
            let password = document.getElementById('password').value.trim();

            if (username === '' || password === '') {
                alert('Please enter both username and password.');
                return false;  
            }

            const usernameRegex = /^[a-zA-Z0-9_]+$/;
            if (!usernameRegex.test(username)) {
                alert('Username can only contain letters, numbers, and underscores.');
                return false;
            }
            
            if (password.length < 8) {
                alert('Password must be at least 8 characters long.');
                return false;
            }
            
            const passwordRegex = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[!@#$%^&*])[A-Za-z\d!@#$%^&*]{8,}$/;
            if (!passwordRegex.test(password)) {
                alert('Weak password.');
                return false;
            }
            
            alert("You are member now.")
            return true;
        }

    </script>
</body>
</html>