// Real-time match check function validateMatch() if (confirmPw.value !== newPw.value) matchError.textContent = '✗ Passwords do not match'; return false; else matchError.textContent = '✓ Passwords match'; matchError.style.color = '#2ecc71'; return true;
.message-box margin-top: 20px; padding: 12px; border-radius: 10px; text-align: center; font-size: 0.9rem; display: none; Mobcash Password Change
const PORT = process.env.PORT || 5000; app.listen(PORT, () => console.log( Server running on port $PORT )); 1. HTML ( frontend/change-password.html ) <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no"> <title>Mobcash - Change Password</title> <link rel="stylesheet" href="change-password.css"> </head> <body> <div class="container"> <div class="card"> <div class="header"> <img src="https://via.placeholder.com/50?text=M" alt="Mobcash Logo" class="logo"> <h1>Change Password</h1> <p>Secure your Mobcash account</p> </div> <form id="passwordChangeForm"> <div class="input-group"> <label>Current Password</label> <div class="password-wrapper"> <input type="password" id="currentPassword" placeholder="Enter current password" required> <span class="toggle-pw" data-target="currentPassword">👁️</span> </div> </div> else matchError.textContent = '✓ Passwords match'
// Real-time password strength newPw.addEventListener('input', () => const password = newPw.value; const strength = checkStrength(password); strengthBar.style.width = strength.width; strengthBar.style.background = strength.color; strengthText.textContent = strength.text; strengthText.style.color = strength.color; matchError.style.color = '#2ecc71'
.error-msg color: #e74c3c; font-size: 0.7rem; display: block; margin-top: 4px;
const app = express(); app.use(cors()); app.use(express.json());