slogan3

Creëer een interactieve JavaScript-functie voor gebruikersinvoer

description

Met deze prompt kan ik aangepaste interactieve functies maken die direct inspelen op gebruikersinvoer, waardoor mijn webapplicaties dynamischer en gebruiksvriendelijker worden. Het biedt ook inzicht in het implementeren van robuuste foutafhandeling, wat de kwaliteit van mijn code verbetert.

prompt

Help me een interactieve JavaScript-functie te schrijven die gebruikersinvoer verwerkt en een specifieke taak uitvoert, zoals <besc ...

try_prompt

generate_helper
disclaimerOnPageApi

ai_answers

provider: openai
model: gpt-4.1-nano
Natuurlijk! Hier is een voorbeeld van een interactieve JavaScript-functie die gebruikersinvoer verwerkt om te controleren of een ingevoerde tekst een geldig e-mailadres is. De functie bevat foutafhandeling en is robuust: ```javascript // Functie om te controleren of de tekst een geldig e-mailadres is function isValidEmail(tekst) { try { if (typeof tekst !== 'string') { throw new TypeError('De invoer moet een string zijn.'); } // Trim de invoer om onnodige spaties te verwijderen const email = tekst.trim(); // Basis e-mail regex pattern const emailPattern = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; // Test de invoer tegen het pattern const isValid = emailPattern.test(email); return isValid; } catch (error) { console.error('Fout bij het controleren van e-mail:', error); return false; } } // Voorbeeld gebruik met gebruikersinput const gebruikerInvoer = prompt("Voer een e-mailadres in:"); const resultaat = isValidEmail(gebruikerInvoer); if (resultaat) { alert("Het ingevoerde e-mailadres is geldig."); } else { alert("Het ingevoerde e-mailadres is ongeldig."); } ``` **Wat doet deze code?** - De functie `isValidEmail` controleert of de invoer een string is en behandelt eventuele fouten. - Het verwijdert onnodige spaties uit de invoer. - Het gebruikt een eenvoudige regex om te bepalen of de tekst lijkt op een geldig e-mailadres. - Daarna wordt de gebruiker gevraagd een e-mailadres in te voeren via `prompt`. - Op basis van het resultaat krijgt de gebruiker een bericht te zien of het e-mailadres geldig is. Wil je het nog interactiever maken of een andere aanpak?
provider: deepseek
model: deepseek-chat
Hier is een robuuste JavaScript-functie voor e-mailvalidatie: ```javascript function valideerEmail(tekst) { // Foutafhandeling: controleer of de parameter een string is if (typeof tekst !== 'string') { throw new Error('Ongeldige invoer: er moet een tekststring worden opgegeven'); } // Trim whitespace en controleer op lege invoer const getrimdeTekst = tekst.trim(); if (getrimdeTekst === '') { return { geldig: false, foutmelding: 'E-mailadres mag niet leeg zijn' }; } // Basiscontrole op @ symbool if (!getrimdeTekst.includes('@')) { return { geldig: false, foutmelding: 'E-mailadres moet een @ bevatten' }; } // Splits in lokaal deel en domein const delen = getrimdeTekst.split('@'); const lokaalDeel = delen[0]; const domeinDeel = delen[1]; // Controleer of er precies één @ is if (delen.length !== 2) { return { geldig: false, foutmelding: 'E-mailadres mag slechts één @ bevatten' }; } // Controleer lokaal deel (voor @) if (lokaalDeel.length === 0) { return { geldig: false, foutmelding: 'Lokaal deel (voor @) mag niet leeg zijn' }; } // Controleer domein deel (na @) if (domeinDeel.length === 0) { return { geldig: false, foutmelding: 'Domein deel (na @) mag niet leeg zijn' }; } // Controleer of domein een punt bevat if (!domeinDeel.includes('.')) { return { geldig: false, foutmelding: 'Domein moet een punt (.) bevatten' }; } // Controleer of TLD (top level domain) minstens 2 tekens heeft const domeinDelen = domeinDeel.split('.'); const tld = domeinDelen[domeinDelen.length - 1]; if (tld.length < 2) { return { geldig: false, foutmelding: 'Top level domain moet minstens 2 tekens bevatten' }; } // Regex voor uitgebreidere validatie const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; if (!emailRegex.test(getrimdeTekst)) { return { geldig: false, foutmelding: 'Ongeldig e-mailadres formaat' }; } // Als alle checks slagen return { geldig: true, email: getrimdeTekst, foutmelding: null }; } // Voorbeeldgebruik: try { const resultaat = valideerEmail('voorbeeld@domein.nl'); console.log(resultaat); const ongeldigResultaat = valideerEmail('ongeldig-email'); console.log(ongeldigResultaat); } catch (error) { console.error('Er is een fout opgetreden:', error.message); } ``` **Kenmerken van deze functie:** 1. **Type checking**: Controleert of de invoer een string is 2. **Trimmen**: Verwijdert ongewenste spaties 3. **Meerdere validatiestappen**: Controleert op @, domeinstructuur, TLD-lengte 4. **Gedetailleerde foutmeldingen**: Specifieke feedback over wat er mis is 5. **Regex validatie**: Extra controle met reguliere expressie 6. **Exception handling**: Gooit errors voor ongeldige parameter types 7. **Object return**: Retourneert een object met validatiestatus en details **Gebruik:** ```javascript const testEmail = "gebruiker@voorbeeld.nl"; const validatie = valideerEmail(testEmail); if (validatie.geldig) { console.log(`✅ ${validatie.email} is geldig`); } else { console.log(`❌ ${validatie.foutmelding}`); } ```