Naar de inhoud
ToolMug

Regex-patronen

Zoek een veelgebruikt reguliere-expressiepatroon en test het direct met eigen tekst. De patronen controleren de vorm van invoer; ze bewijzen niet dat een waarde echt bestaat.

Draait in je browser: niets wat je invoert wordt geüpload

  • E-mailadres

    Gangbaar e-mailformaat met punten, plustekens en domeinen met meerdere niveaus

    /^[\w.+-]+@[\w-]+(\.[\w-]+)+$/

    ✓ name@example.com a.b+tag@mail.co.uk✗ name@ @example.com a b@example.com

  • URL (http/https)

    Begint met http:// of https:// en bevat geen spaties

    /^https?:\/\/[^\s/$.?#][^\s]*$/i

    ✓ https://example.com/path?q=1 http://localhost:8080✗ ftp://example.com example.com https:// bad

  • Domeinnaam

    Domein met meerdere niveaus van letters, cijfers en koppeltekens

    /^(?=.{1,253}$)(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,63}$/

    ✓ example.com sub.example.co.uk✗ -bad.com example exa_mple.com

  • IPv4-adres

    Vier getallen van 0 tot 255 zonder voorloopnullen

    /^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/

    ✓ 192.168.1.1 8.8.8.8 255.255.255.0✗ 256.1.1.1 1.2.3 01.2.3.4

  • MAC-adres

    Zes paren hexadecimale cijfers gescheiden door dubbele punten of koppeltekens

    /^(?:[0-9A-Fa-f]{2}[:-]){5}[0-9A-Fa-f]{2}$/

    ✓ 00:1A:2B:3C:4D:5E 00-1a-2b-3c-4d-5e✗ 001A2B3C4D5E 00:1A:2B:3C:4D

  • Chinees mobiel nummer

    11 cijfers die beginnen met 13–19, zonder +86

    /^1[3-9]\d{9}$/

    ✓ 13800138000 19912345678✗ 12345678901 1380013800 +8613800138000

  • Chinese vaste telefoon

    Netnummer plus nummer, eventueel gescheiden door een koppelteken

    /^0\d{2,3}-?\d{7,8}$/

    ✓ 010-12345678 0755-1234567 02112345678✗ 12345678 010-123

  • Chinese ID-kaart (18 cijfers)

    Controleert de lengte van de regiocode en geboortedatum; het laatste teken mag X zijn. De checksum wordt niet gecontroleerd.

    /^[1-9]\d{5}(?:18|19|20)\d{2}(?:0[1-9]|1[0-2])(?:0[1-9]|[12]\d|3[01])\d{3}[\dXx]$/

    ✓ 11010519491231002X 440308199901010012✗ 11010519491331002X 1101051949123100

  • Chinese postcode

    Zes cijfers

    /^\d{6}$/

    ✓ 100000 010000✗ 10000 1000000

  • Chinese nummerplaat

    7 tekens voor gewone platen, 8 voor nieuwe energievoertuigen

    /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼][A-HJ-NP-Z][A-HJ-NP-Z0-9]{4,5}[A-HJ-NP-Z0-9挂学警港澳]$/

    ✓ 京A12345 粤BD12345 沪A1234学✗ 京12345 京AI2345

  • Alleen Chinese tekens

    Alleen gangbare CJK-ideogrammen

    /^[\u4e00-\u9fa5]+$/

    ✓ 中文 正则表达式✗ 中文abc

  • QQ-nummer

    5–11 cijfers, niet beginnend met 0

    /^[1-9]\d{4,10}$/

    ✓ 10001 123456789✗ 01234 1234

  • Bankkaartnummer

    16–19 cijfers; geldigheid vereist ook een Luhn-controle

    /^[1-9]\d{15,18}$/

    ✓ 6222021234567890123 4111111111111111✗ 0222021234567890 622202123456

  • Geheel getal

    Eventueel negatief

    /^-?\d+$/

    ✓ 0 -42 12345✗ 1.5 1e3

  • Positief geheel getal

    Geen voorloopnul

    /^[1-9]\d*$/

    ✓ 1 100✗ 0 01 -1

  • Decimaal getal

    Eventueel negatief, met cijfers aan beide kanten van de komma

    /^-?\d+(?:\.\d+)?$/

    ✓ 3.14 -0.5 42✗ .5 1. 1,000

  • Geldbedrag

    Niet-negatief met maximaal twee decimalen

    /^(?:0|[1-9]\d*)(?:\.\d{1,2})?$/

    ✓ 0 99.9 1234.56✗ 01.00 1.234 -1

  • Datum (JJJJ-MM-DD)

    Maand 01–12 en dag 01–31; het aantal dagen per maand wordt niet gecontroleerd

    /^\d{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12]\d|3[01])$/

    ✓ 2026-09-26 1999-12-31✗ 2026-13-01 2026-9-26 26-09-2026

  • Tijd (UU:MM[:SS])

    24-uursklok, seconden optioneel

    /^(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d)?$/

    ✓ 09:30 23:59:59✗ 24:00 9:30 12:60

  • Gebruikersnaam

    Begint met een letter; 4–16 letters, cijfers of underscores

    /^[a-zA-Z][a-zA-Z0-9_]{3,15}$/

    ✓ alice_01 Bob2026✗ 1alice ab bad-name

  • Sterk wachtwoord

    Minimaal 8 tekens met hoofd- en kleine letters, een cijfer en een symbool

    /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[^\w\s]).{8,}$/

    ✓ Passw0rd! Aa1@aaaa✗ password Password1 Aa1@

  • Hexkleur

    #RGB of #RRGGBB

    /^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/

    ✓ #fff #0F766E✗ fff #ffff #12345g

  • UUID

    Standaard UUID-formaat (versies 1–8)

    /^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i

    ✓ 123e4567-e89b-42d3-a456-426614174000✗ 123e4567-e89b-42d3-c456-426614174000 123e4567e89b42d3a456426614174000

  • Semantische versie

    MAJOR.MINOR.PATCH met optionele pre-release- en buildmetagegevens

    /^(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)(?:-[\da-zA-Z-]+(?:\.[\da-zA-Z-]+)*)?(?:\+[\da-zA-Z-]+(?:\.[\da-zA-Z-]+)*)?$/

    ✓ 1.0.0 2.1.3-beta.1+build.5✗ 1.0 01.0.0 v1.0.0

  • HTML-tagpaar

    Vindt bij elkaar horende openings- en sluitingstags en legt tagnaam en inhoud vast

    /<([a-zA-Z][\w-]*)\b[^>]*>([\s\S]*?)<\/\1>/g

    ✓ <b>bold</b> <a href="#">link</a>✗ <b>unclosed plain text

  • Lege regel

    Vindt met de m-vlag lege regels of regels met alleen witruimte, bijvoorbeeld om ze te verwijderen

    /^\s*$/m

    ✓ ✗ text

Patronen gebruiken JavaScript-syntaxis en werken in de meeste talen zoals Java, Python en Go (let op het escapen van backslashes). Ze controleren alleen het formaat; of een ID- of kaartnummer echt is, vereist een checksum of officiële validatie.

Zo gebruik je het

  1. Zoek op een categorie of term zoals e-mail, IP of datum.
  2. Kies een patroon en typ tekst om te testen.
  3. Bekijk of de tekst overeenkomt en kopieer het patroon voor je code.

Opties uitgelegd

JavaScript-syntaxis
De patronen gebruiken JavaScript-regexsyntaxis en werken vaak ook in Java, Python en Go met de juiste escaping.
Vormcontrole
Een match controleert alleen de indeling. Een checksum of officiële controle kan nodig zijn om een nummer te valideren.
Categorieën
Filter op algemeen, getallen, web, ontwikkelaar of specifieke formaten.

Hoe een patroon is opgebouwd: het IPv4-voorbeeld

Het IPv4-patroon toont de gebruikelijke structuur van een validatieregex. Eén octet wordt geschreven als vier alternatieven die op volgorde worden geprobeerd, zodat elk alleen 0–255 accepteert:

25[0-5]      250–255
2[0-4]\d     200–249
1\d\d        100–199
[1-9]?\d     0–99, zonder voorloopnul

Het hele patroon is (octet\.){3}octet, verankerd met ^ en $. Daarom komt 192.168.1.1 overeen, terwijl 256.1.1.1, 01.2.3.4 en 1.2.3 dat niet doen.

Indeling is geen geldigheid

Een patroon controleert alleen de vorm. Het datumpatroon accepteert 2026-02-30 omdat het dag 30 in elke maand toestaat, en wijst 2026-13-01 af omdat maand 13 niet bestaat. Parseer voor echte datums de waarde na de regexcontrole met de datumbibliotheek van je taal.

Veelgestelde vragen

Kan een regex controleren of een e-mailadres echt bestaat?

Nee. Regex controleert alleen de vorm; alleen een bevestigingsbericht of mailserver kan bereikbaarheid aantonen.

Waarom moet ik een backslash soms dubbel schrijven?

In een stringliteral is de backslash ook een escape-teken. De benodigde schrijfwijze hangt af van de programmeertaal.

Werken deze patronen in elke programmeertaal?

De meeste zijn algemeen bruikbaar, maar regex-functies en escaping verschillen per taal.

Privacy

Deze tool draait volledig in je browser. Je bestanden en tekst worden op je eigen apparaat verwerkt en nooit naar onze servers geüpload.

Gerelateerde tools