Tell us what’s happening:
Spam Filter - Step 11 instruction does not state that the argument to use inside the .some method should be called specifically ‘regex’. Trying to use ‘e’, for example, does not pass the step.
Just pointing out the bug.
Your code so far
<!-- file: index.html -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width" />
<title>Learn Regular Expressions by Building a Spam Filter</title>
<link rel="stylesheet" href="styles.css" />
</head>
<body>
<header class="main-text">
<h1 class="title">Is this Spam?</h1>
<p class="description">
Enter a phrase to check if it would be marked as spam or not.
</p>
</header>
<main>
<label class="message-label" for="message-input">Message: </label>
<textarea
placeholder="Enter message here"
value=""
type="text"
name="message"
id="message-input"
rows="10"
cols="40"
></textarea>
<button class="btn" id="check-message-btn" type="button">
Check message
</button>
<p id="result-message"></p>
</main>
<footer class="footer">© freeCodeCamp</footer>
<script src="./script.js"></script>
</body>
</html>
/* file: styles.css */
*,
*::before,
*::after {
box-sizing: border-box;
margin: 0;
padding: 0;
}
:root {
--dark-grey: #1b1b32;
--light-grey: #f5f6f7;
--golden-yellow: #fecc4c;
--yellow: #ffcc4c;
--gold: #feac32;
--orange: #ffac33;
--dark-orange: #f89808;
}
body {
background-color: var(--dark-grey);
color: var(--light-grey);
}
body,
#message-input:placeholder-shown {
text-align: center;
}
textarea {
max-width: 90%;
}
.main-text {
margin: 25px 0;
}
.title {
font-size: 2.5rem;
}
.description {
margin-top: 15px;
font-size: 1.4rem;
}
.message-label {
display: block;
margin-bottom: 20px;
font-size: 1.5rem;
}
#message-input:placeholder-shown,
textarea {
font-size: 1.1rem;
}
.btn {
display: block;
cursor: pointer;
width: 200px;
margin: 10px auto;
color: var(--dark-grey);
background-color: var(--gold);
background-image: linear-gradient(var(--golden-yellow), var(--orange));
border-color: var(--gold);
border-width: 3px;
}
.btn:hover {
background-image: linear-gradient(var(--yellow), var(--dark-orange));
}
#result-message {
font-size: 2rem;
margin: 20px 0;
}
.footer {
margin-top: 10px;
}
/* file: script.js */
const messageInput = document.getElementById("message-input");
const result = document.getElementById("result-message");
const checkMessageButton = document.getElementById("check-message-btn");
const helpRegex = /please help|assist me/i;
const denyList = [helpRegex];
// User Editable Region
const isSpam = (msg) => denyList.some((regex) => regex.test(msg));
// User Editable Region
checkMessageButton.addEventListener("click", () => {
if (messageInput.value === "") {
alert("Please enter a message.");
return;
}
result.textContent = isSpam(messageInput.value)
? "Oh no! This looks like a spam message."
: "This message does not seem to contain any spam.";
messageInput.value = "";
});
Your browser information:
User Agent is: Mozilla/5.0 (X11; Linux x86_64; rv:150.0) Gecko/20100101 Firefox/150.0
Challenge Information:
Build a Spam Filter - Step 11