61 lines
2.8 KiB
JavaScript
61 lines
2.8 KiB
JavaScript
/**
|
|
* 🌐 JS 07: REGULÄRE AUSDRÜCKE & TEXTVERARBEITUNG 🌐
|
|
* ==================================================
|
|
* RegExp-Muster, Flags, Metazeichen, Quantifizierer
|
|
* und praktische Methoden (test, match, replace).
|
|
*/
|
|
|
|
// 🎯 TEILZIEL 1 (TODO 1): istGueltigeEmail(email)
|
|
// Prüfe, ob der gegebene String eine syntaktisch gültige E-Mail-Adresse ist.
|
|
// Kriterien:
|
|
// - Startet mit mind. 1 Zeichen (Buchstaben, Ziffern, ., _, %, +, -)
|
|
// - Enthält genau ein '@'
|
|
// - Domain-Teil mit mind. 1 Zeichen (Buchstaben, Ziffern, ., -)
|
|
// - Top-Level-Domain (TLD) mit mind. 2 Buchstaben am Ende (z. B. .de, .com, .info)
|
|
// Rückgabe: true wenn gültig, sonst false.
|
|
function istGueltigeEmail(email) {
|
|
// TODO: Regex-Muster definieren und mit .test() prüfen
|
|
return false;
|
|
}
|
|
|
|
// 🎯 TEILZIEL 2 (TODO 2): findeTelefonnummern(text)
|
|
// Finde alle Telefonnummern in einem beliebigen Fließtext.
|
|
// Unterstütze Formate wie "+49 170 1234567", "0171-1234567", "030 / 123456" oder "+49(0)30 123456".
|
|
// Rückgabe: Ein Array mit allen gefundenen Telefonnummern-Strings (oder [] wenn keine gefunden).
|
|
function findeTelefonnummern(text) {
|
|
// TODO: Regex mit Global-Flag 'g' erstellen und text.match(regex) nutzen
|
|
return [];
|
|
}
|
|
|
|
// 🎯 TEILZIEL 3 (TODO 3): extrahiereHashtags(text)
|
|
// Extrahiere alle Social-Media-Hashtags aus einem Text (z. B. "#javascript", "#webdev2024").
|
|
// Ein Hashtag beginnt mit '#' gefolgt von einem oder mehreren Wortzeichen (Buchstaben, Zahlen, Unterstrich).
|
|
// Rückgabe: Array aller Hashtag-Strings inklusive Raute '#' (oder [] wenn keine vorhanden).
|
|
function extrahiereHashtags(text) {
|
|
// TODO: Hashtags mit Regex matchen und als Array zurückgeben
|
|
return [];
|
|
}
|
|
|
|
// 🎯 TEILZIEL 4 (TODO 4): maskiereKreditkarte(text)
|
|
// Maskiere 16-stellige Kreditkartennummern aus Sicherheitsgründen im Text.
|
|
// Die Nummern können mit Bindestrichen ("1234-5678-9012-3456"), Leerzeichen ("1234 5678 9012 3456")
|
|
// oder durchgehend ("1234567890123456") geschrieben sein.
|
|
// Ersetze jede 16-stellige Kreditkarte durch das Format: "****-****-****-XXXX" (wobei XXXX die letzten 4 Ziffern sind).
|
|
// Rückgabe: Der bereinigte/maskierte Text-String.
|
|
function maskiereKreditkarte(text) {
|
|
// TODO: Mit regex.replace() und Capturing Group $1 für die letzten 4 Ziffern maskieren
|
|
return "";
|
|
}
|
|
|
|
// 🎯 TEILZIEL 5 (TODO 5): istStarkesPasswort(passwort)
|
|
// Validiere, ob ein Passwort den modernen Sicherheitsanforderungen entspricht:
|
|
// 1. Mindestens 8 Zeichen lang
|
|
// 2. Mindestens ein Kleinbuchstabe (a-z)
|
|
// 3. Mindestens ein Großbuchstabe (A-Z)
|
|
// 4. Mindestens eine Zahl (0-9)
|
|
// 5. Mindestens ein Sonderzeichen (z. B. ! @ # $ % ^ & * ( ) _ + - = [ ] { } ; ' : " \ | , . < > / ? ~)
|
|
// Rückgabe: true wenn stark, sonst false.
|
|
function istStarkesPasswort(passwort) {
|
|
// TODO: Bedingungen mit Regex prüfen
|
|
return false;
|
|
}
|