64 lines
2.3 KiB
HTML
64 lines
2.3 KiB
HTML
<!doctype html>
|
|
<html lang="de">
|
|
<head>
|
|
<meta charset="UTF-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
<title>Optionale Übung optional 01: Palindrom Checker</title>
|
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.8/dist/css/bootstrap.min.css" rel="stylesheet" />
|
|
</head>
|
|
<body>
|
|
<main>
|
|
<div class="container py-5">
|
|
<div class="alert alert-primary">
|
|
<h2>Optionale Übung 01: Palindrom Checker</h2>
|
|
|
|
<p>
|
|
Ein Palindrom ist ein Wort, das vorwärts und rückwärts gelesen dasselbe ist. Ein guter Weg, um das zu
|
|
überprüfen, ist, das Wort umzukehren und zu sehen, ob es dem Original entspricht. Allerdings sollte man
|
|
dabei die Groß- und Kleinschreibung sowie Leerzeichen oder Sonderzeichen berücksichtigen.
|
|
</p>
|
|
<p>
|
|
Schreibe eine JavaScript-Funktion namens <code>isPalindrom</code>, die eine Zeichenkette (string) als
|
|
Eingabe akzeptiert. Die Funktion soll <code>true</code> zurückgeben, wenn es sich bei der Zeichenkette um
|
|
ein Palindrom handelt, und <code>false</code> andernfalls.
|
|
</p>
|
|
<h3>Beispiele:</h3>
|
|
<ul>
|
|
<li>"anna"</li>
|
|
<li>"Lagerregal"</li>
|
|
<li>"Ein Esel lese nie"</li>
|
|
</ul>
|
|
<h3>Anforderungen:</h3>
|
|
<ul>
|
|
<li>
|
|
Die Funktion soll nicht zwischen Groß- und Kleinschreibung unterscheiden (z. B. 'Anna' ist ein Palindrom).
|
|
</li>
|
|
<li>Leerzeichen und Satzzeichen sollen ignoriert werden.</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</main>
|
|
<script>
|
|
'use strict';
|
|
|
|
const outputEl = document.querySelector('.output');
|
|
|
|
const isPalindrom = (toCheckString) => {
|
|
const reverseString = toCheckString
|
|
.replace(/[$%!.,]/g, '')
|
|
.split('')
|
|
.reverse()
|
|
.join('');
|
|
return toCheckString.trim().toLowerCase() === reverseString.trim().toLowerCase() ? true : false;
|
|
};
|
|
|
|
const toTest = ` Lagerregal`;
|
|
|
|
const result = isPalindrom(toTest);
|
|
|
|
console.log(toTest, result);
|
|
outputEl.textContent = `${toTest} ist ${result ? 'ein' : 'KEIN'} Palindrom`;
|
|
</script>
|
|
</body>
|
|
</html>
|