Reguliere expressies in termen

Moeilijkheidsgraad: Moeilijk

Disclaimer: Met een Professional User Licentie kunt u alle op deze pagina beschreven functies gebruiken. U hebt echter een uitgebreide supportovereenkomst (SLA – Service Level Agreement) nodig, als u onze hulp nodig heeft bij de implementatie. Voor complexe Reguliere expressies voor wetenschappelijk gebruik wordt geen Survalyzer productsupport verleend. Voor vragen of informatie omtrent een SLA kunt u te allen tijde contact met ons salesteam opnemen.

Waarvoor dient de functie?

Reguliere expressies, ook wel RegEx genoemd, zijn een beschrijving van een reeks tekens die een zoekpatroon definiëren. Een meer gedetailleerde beschrijving, inclusief een beschrijving van de syntaxis, vindt u in de volgende link: https://en.wikipedia.org/wiki/Regular_expression

Opmerking: Reguliere expressies kunnen alleen worden gebruikt in invoervelden met het gegevenstype Tekst (Geen). Dit betekent dat er geen directe validatie op het invoerveld kan worden toegepast.

In dit artikel vindt u enkele vaak gebruikte reguliere expressies. U kunt ze gebruiken voor validaties en filters.

Use cases en hoe in te stellen?

IBAN

Multinationaal
Bijvoorbeeld: ES7921000813610123456789

^[a-zA-Z]{2}[0-9]{2}[a-zA-Z0-9]{4}[0-9]{7}([a-zA-Z0-9]?){0,16}$

Duitsland (met of zonder spaties)
Bijvoorbeeld: DE89 3704 0044 0532 0130 00 of DE89370400440532013000

^DE\d{2}[ ]\d{4}[ ]\d{4}[ ]\d{4}[ ]\d{4}[ ]\d{2}|DE\d{20}$

Zwitserland (met of zonder spaties)
Bijvoorbeeld: CH93 0076 2011 6238 5295 7 of CH9300762011623852957 of CH9300SURVALYZER0000X

^CH\d{2}[ ][A-Z0-9]{4}[ ][A-Z0-9]{4}[ ][A-Z0-9]{4}[ ][A-Z0-9]{4}[ ][A-Z0-9]{1}|CH\d{2}[A-Z0-9]{17}$

Nederland
Bijvoorbeeld: NL91ABNA0417164300

^NL\d{2}[A-Z]{4}0\d{9}$

E-mailadres

Dit is de standaard regular expression met gebruik van Official Standard RFC 5322:
Bijvoorbeeld: john.doe@survalyzer.com

^(?:[a-z0-9!#$%&'*+\/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+\/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])$

Telefoonnummers

Duitsland
Staat verschillende formaten toe:
Bijvoorbeeld: 004989123456, +49 89 123456, +49(89)123456, 089-1234-5678, 089 1234 5678, (089)1234-5678

^(((((((00|\+)49[ \-/]?)|0)[1-9][0-9]{1,4})[\-/]?)|((((00|\+)49\()|\(0)[1-9][0-9]{1,4}\)[ \-/]?))[0-9]{1,7}([\-/]?[0-9]{1,5})?)$

Zwitserland
Staat verschillende formaten toe:
Bijvoorbeeld: 044 276 47 44, +41442764744, 00412764744, +41 44 276 47 44

^(0|0041|\+41)?[1-9\s][0-9\s]{1,12}$

Nederland
Staat verschillende formaten toe:
Bijvoorbeeld: 0612345678, +31612345678, 0031612345678, +31(0)6 1234 5678

^((\+|00(\s|\s?\-\s?)?)31(\s|\s?\-\s?)?(\(0\)[\-\s]?)?|0)[1-9]((\s|\s?\-\s?)?[0-9])((\s|\s?-\s?)?[0-9])((\s|\s?-\s?)?[0-9])\s?[0-9]\s?[0-9]\s?[0-9]\s?[0-9]\s?[0-9]$

Algemeen
Staat verschillende formaten toe:
Bijvoorbeeld: 089 123 4567/8, 0041-44-276-4744, +31.61.234.5678

^(0|00|\+)[1-9][0-9\s\-\/.]{1,}[0-9]$

Postcodes

Duitsland:
Bijvoorbeeld: 24143

^([0]{1}[1-9]{1}|[1-9]{1}[0-9]{1})[0-9]{3}$

Zwitserland:
Bijvoorbeeld: 5033

^([1-468][0-9]|[57][0-7]|9[0-6])[0-9]{2}$

Nederland:
Bijvoorbeeld: 1012AB

^[0-9]{4}\s*[a-zA-Z]{2}$

Indien bij een open vraag door een deelnemer alleen de volgende postcodes mogen worden opgegeven: 3131, 3132, 3133, 3134, 3135, 3136, 3137 en 3138, dan kunt u bijvoorbeeld de volgende reguliere expressie gebruiken:

^(313[1-8])$

Jaartallen

Wanneer u een deelnemer in een enquête om zijn/haar geboortejaar vraagt, kunt u hiervoor een open vraag met het antwoordgegevenstype Geen (Tekst) gebruiken. Voor dit geboortejaar kunt u een boven- en ondergrens vastleggen. Dit kan met behulp van een reguliere expressie. Stel, een deelnemer geeft het jaartal 2010 op terwijl u m.b.v. een reguliere expressie heeft aangegeven dat het geboortejaar tussen 1900 en 2007 moet liggen, dan mislukt de validatie en zal de deelnemer een ander geboortejaar moeten invullen totdat de validatie geslaagd is.

Na opname van een open vraag waarin om het geboortejaar wordt gevraagd, kunt u een validatie-element aan de enquête toevoegen. In dit element kunt u de volgende gegevens vastleggen:

  • De foutmelding die een deelnemer te zien krijgt, wanneer hij/zij een geboortejaar opgeeft dat NIET tussen de gedefinieerde periode (hier: 1900 t/m 2007) ligt.
  • De filterconditie op het venster Filter dat u m.b.v. de knop Voorwaarde(n) bewerken (Edit conditions) kunt opstarten. De conditie kan er dan als volgt uitzien:
    • Verberg dit validatiebericht
    • als – Vraag – q3 Wat is uw geboortejaar? – komt overeen met reguliere expressie – ^(19[0-9]\d|200[0-7])$

Om de filterconditie op te slaan, dient u uiteraard nog op de groene knop Opslaan te klikken.

Voorbeelden

  • Jaar moet tussen 1900 en 2099 zijn: ^(19|20)\d{2}$
  • Jaar moet tussen 1900 en 2007 zijn: ^(19[0-9]\d|200[0-7])$
  • Jaar moet tussen 1950 en 2030 zijn: ^(19[5-9]\d|20[0-2]\d|2030)$
  • Jaar moet tussen 1945 en 2023 zijn: ^(194[5-9]|19[5-9]\d|200\d|201\d|202[0-3])$
  • Jaar moet tussen 1935 en 2023 zijn: ^(193[5-9]|19[4-9]\d|200\d|201\d|202[0-3])$

Updated on February 7, 2024
Was this article helpful?

Related Articles

Need Support?
Please login to your Survalyzer account and use the "Create Support Request" form.
Login to Survalyzer