For my assignment, I have to create an online bookstore. I have created all the HTML and CSS needed. My only problem is the javascript. I have to create javascript code that will check the validity of the data inputted by the user. Here is my code:
window.onload = () => {
document.getElementById("Pay Now").addEventListener("click", () => {
const card = document.getElementById("card-number").value;
const pattern = /^5[1-5][0-9]{14}$/;
if (card.match(pattern)) {
// If card number is valid, redirect to confirmation page
window.location.href = "success.html";
} else {
// If card number is not valid, show an alert
alert("Please enter a valid card number");
}
});
};
It's supposed to alert the customer if the number inputted isn't valid.
This is the HTML for the page it's supposed to link to:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<!-- Navigation Bar -->
<nav>
<ul>
<li><a href="index.html">Home</a></li>
<li><a href="#">About Us</a></li>
<li><a href="#">Contact Us</a></li>
</ul>
</nav>
<h1>Bookstore</h1>
<link rel="stylesheet" type="text/css" href="style.css">
<script src ="card.js"></script>
</head>
<body>
<h2>Payment Details</h2>
<form>
<div>
<label for="name">Name on Card</label>
<input type="text" id="name" name="name" required>
</div>
<div>
<label for="card-number">Card Number</label>
<input type="number" id="card-number" name="card-number" required>
</div>
<label for="expiry-month">Expiry Date</label>
<div class="expiry-date">
<select id="expiry-month" name="expiry-month">
<option value="">Month</option>
<option value="01">01</option>
<option value="02">02</option>
<option value="03">03</option>
<option value="04">04</option>
<option value="05">05</option>
<option value="06">06</option>
<option value="07">07</option>
<option value="08">08</option>
<option value="09">09</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
</select>
<select id="expiry-year" name="expiry-year">
<option value="">Year</option>
<option value="2022">2022</option>
<option value="2023">2023</option>
<option value="2024">2024</option>
<option value="2025">2025</option>
<option value="2026">2026</option>
</select>
</div>
<div>
<label for="cvv">CVV</label>
<input type="number" id="cvv" name="cvv" required>
</div>
<button type="submit">Pay Now</button>
</form>
</body>
</html>
Please advise