String escape & unescape
Strings escapen en unescapen voor JavaScript, JSON, SQL, HTML, URL's en reguliere expressies — kies een context en ga.
Wat is string-escaping?
Elke tekstgebaseerde syntax — JSON, SQL, HTML, URL's, regex — heeft speciale tekens die iets anders betekenen dan zichzelf. Een ongeëscapete ' in een SQL-string kan een query breken (of injectie openzetten). Een ongeëscapete < in HTML opent een tag. Een letterlijke ? in een URL wordt een queryscheider. Escapen is het proces om die tekens om te zetten naar een veilige vorm die de parser terugleest als het oorspronkelijke teken. Unescapen is het omgekeerde — een JSON- of HTML-string terug naar zijn gewone vorm.
Hoe gebruik je de escape-tool
Kies een context die overeenkomt met de syntax waarmee je werkt — JavaScript, JSON, SQL, HTML, URL-component of regex-literal. Kies Escapen om gewone tekst om te zetten in een veilige vorm voor de context, of Unescapen voor het omgekeerde. Plak je invoer. De uitvoer werkt live bij, met een tekenteller voor controle. Elke context gebruikt de regels van die syntax exact: JS gebruikt \n, \t, \"; SQL verdubbelt enkele aanhalingstekens; HTML gebruikt entiteiten; URL gebruikt percent-encoding.
De juiste context kiezen
Plak je de string in JavaScript-code, gebruik dan JavaScript. Zet je hem in een JSON-waarde (bijv. een configbestand of API-payload), gebruik dan JSON — strikter dan JS. HTML is de juiste keuze voor inhoud die op een pagina wordt gerenderd (ook veilig voor HTML-attribuutwaarden). URL is voor individuele query-parameterwaarden, niet voor volledige URL's (die al :// en ? als structurele tekens hebben). Regex escaped een letterlijke string voor gebruik binnen een reguliere expressie — handig om gebruikersinvoer letterlijk te matchen.
Voorbeelden per context
| Context | Invoer | Uitvoer |
|---|---|---|
| JavaScript | It's "fine" | It\'s \"fine\" |
| JSON | line1\nline2 | line1\\nline2 |
| SQL | O'Brien | O''Brien |
| HTML | <b> & "x" | <b> & "x" |
| URL | a b/c?d=1 | a%20b%2Fc%3Fd%3D1 |
| Regex | 3.14 (pi) | 3\.14 \(pi\) |
Veelgestelde vragen
Waarom zijn er aparte JavaScript- en JSON-modi?
\', \v, \0, hex-escapes (\xHH) of niet-aangehaalde controlekarakters toe. JS is permissiever. Bouw je een JSON-document, gebruik dan JSON; sluit je een string in .js-broncode in, gebruik dan JavaScript. Mismatch kan strings opleveren die een JSON-parser laten crashen.Moet ik dit gebruiken voor SQL-queries om injectie te voorkomen?
Wat is het verschil tussen encodeURIComponent en encodeURI?
?, &, =, / en dergelijke percent-codeert — dus veilig voor in een query-parameterwaarde. Volledige-URL-codering laat die tekens met rust omdat ze structurele betekenis hebben. Codeer je een waarde die na een = in een URL komt, dan is dit de modus die je wilt.Produceert HTML-escape attribuut-veilige of inhoud-veilige uitvoer?
<, >, &, " en ' — een superset van wat strikt nodig is voor beide contexten, dus het resultaat is veilig om in element-inhoud of een attribuut (single- of double-quoted) te plaatsen.Wat escaped de regex-modus?
\, ^, $, ., *, +, ?, (, ), [, ], {, }, |, /, -. Het resultaat kun je in een regex gebruiken om de oorspronkelijke string letterlijk te matchen — handig wanneer je gebruikersinvoer letterlijk wilt vinden.