Actions

Using regular expressions/nl: Difference between revisions

From LimeSurvey Manual

(Created page with "Als je een ingevulde maand wilt valideren:")
(Created page with "==Nummervalidatie met scheidingsteken duizendtallen== Spatie als scheidingsteken, geen minteken <source lang="html">/^(?!0)\d{1,3}(\ \d{3})*$/</source> Punt als scheidingsteke...")
(183 intermediate revisions by 2 users not shown)
Line 4: Line 4:
Een reguliere expressie moet beginnen en eindigen met een slash ("/"). Een bibliotheek met  reguliere expressies kun je vinden op  http://www.regexlib.net/. Kijk wel of in deze "patterns" de slashes al toegevoegd zijn.
Een reguliere expressie moet beginnen en eindigen met een slash ("/"). Een bibliotheek met  reguliere expressies kun je vinden op  http://www.regexlib.net/. Kijk wel of in deze "patterns" de slashes al toegevoegd zijn.


Om je reguliere expressie te testen kun je dit gebruiken: [http://www.regexlib.net/RETester.aspx regex tester].
Om je reguliere expressie te testen kun je dit gebruiken: [https://www.regex101.com/ regex tester].


''Voeg goed werkende reguliere expressies hier toe!''
{{Note| Om deze beschrijving nuttiger te maken, vragen we je vriendelijk om een eigen succesvol geteste reguliere expressie hier toe te voegen om deze expressie beter begrijpbaar en herbruikbaar te maken voor hierin minder ervaren gebruikers.}}


Voorbeelden (elke voorbeeld is één regel):
{{Alert|title=Attentie|text=Let op: alle onderstaande voorbeelden zijn geschreven op één regel!}}
 
 
=Belangrijk: Reguliere expressies in condities=


=BELANGRIJK: Reguliere expressie in conditie=


Als je de reguliere expressies in de conditie editor gebruikt, voeg dan NIET de beide slashes toe.
Als je de reguliere expressies in de conditie editor gebruikt, voeg dan NIET de beide slashes toe.


=E-mail validatie=
=E-mail validatie=


<nowiki>/(\w[-._\w]*\w@\w[-._\w]*\w\.\w{2,3})/</nowiki>


De bovenstaande regex zal geen e-mailadres met "+" valideren, wat wel is toegestaan en wordt aanbevolen door Gmail. Een versie die de "+" wel toestaat:
Wijziging 12/2018: Sinds kort kunnen domeinnamen niet alleen speciale tekens bevatten zoals "ü" maar ook meer dan 3 tekens gebruiken als domeinnaam zoals ''.tech'' of ''. bedrijf''. De onderstaande reguliere expressie controleert alleen of "@" en "." voorkomen binnen het ingevoerde e-mailadres.
<source lang="html">
/^.+?@.+?\..+$/
</source>
Bij deze verouderde expressie is de domeinnaam beperkt tot 3 tekens die niet alle beschikbare domeinen omvat:
<source lang="html">
/^(\w[-._+\w]*\w@\w [-._\w]*\w\.\W{2,3})$/
</source>
 
=Postcode=


<nowiki>/^(\w[-._+\w]*\w@\w[-._\w]*\w\.\w{2,3})$/</nowiki>
==Australische postcode==


Dit is volgens mij beter dan het origineel (ook omdat er "start van string" en "eind van string" tekens zijn toegevoegd), maar het is niet perfect. Het staat ook abc+++defg@somemail.office.com toe, de regex zou eigenlijk zo moeten zijn dat er maar een "+" teken is toegestaan.
  <source lang="html">/^[0-9]{4}/</source>


=Postcode=
==Braziliaanse postcode==
 
<source lang="html">/^[0-9]{2}\.[0-9]{3}-[0-9]{3}$/</source>
 
==Canadese postcode==
 
<source lang="html">/^[a-zA-Z]\d{1}[a-zA-Z](\-| |)\d{1}[a-zA-Z]\d{1}$/</source>


==Australische Postcode==
==VS postcode==


  <nowiki>/^[0-9]{4}/</nowiki>
  <source lang="html">/^[0-9]{5}([- /]?[0-9]{4})?$/</source>


==Braziliaanse Postcode==
Om de postcode te laten beginnen met nul, gebruik je:


<nowiki>/^[0-9]{2}\.[0-9]{3}-[0-9]{3}$/</nowiki>
<source lang="html">/^[0-9]{5}(?:-[0-9]{4})?$/</source>


==Canadese Postcode==
==Verenigd Koninkrijk postcode==


  <nowiki>/^[a-zA-Z]\d{1}[a-zA-Z](\-| |)\d{1}[a-zA-Z]\d{1}$/</nowiki>
  <source lang="html">/^[A-Z][A-Z]?[0-9][A-Z0-9]? ?[0-9][ABDEFGHJLNPQRSTUWXYZ]{2}$/i</source>


==VS Postal Code==
Dit is een niet erg goede regex, maar voor een betere validatie zou een veel complexere regex nodig zijn. Meer informatie: [http://stackoverflow.com/questions/164979/uk-postcode-regex-comprehensive StackOverflow answer] en [http://en.wikipedia.org/wiki/Talk:Postcodes_in_the_United_Kingdom#Regular_Expressions Wikipedia].


<nowiki>/^[0-9]{5}([- /]?[0-9]{4})?$/</nowiki>
== Franse postcodes ==


==Verenigd Koninkrijk Postcode==
<source lang="html">/(^[0-8]\d\d{3}$)|(^9[0-5]\d{3}$)|(^97[1-6]\d{2}$)|(^98[46-8]\d{2}$)/</source>


<nowiki>/^[A-Z][A-Z]?[0-9][A-Z0-9]? ?[0-9][ABDEFGHJLNPQRSTUWXYZ]{2}$/i</nowiki>
De bovenstaande uitdrukking is zeer nauwkeurig en zal controleren of het Franse departement al dan niet bestaat (eerste twee cijfers), inclusief overzeese departementen en overzeese gebieden (DOM-TOM).


Dit is niet een erg goede regex, maar voor een betere validatie zou een veel complexere regex nodig zijn. Meer informatie: [http://stackoverflow.com/questions/164979/uk-postcode-regex-comprehensive StackOverflow answer] en [http://en.wikipedia.org/wiki/Talk:Postcodes_in_the_United_Kingdom#Regular_Expressions Wikipedia].


=Telefoonnummer=
=Telefoonnummer=


==VS Telefoonnummer==


<nowiki>/^(?:\([2-9]\d{2}\)\ ?|[2-9]\d{2}(?:\-?|\ ?))[2-9]\d{2}[- ]?\d{4}$/</nowiki>
==VS telefoonnummer==
 
<source lang="html">/^(?:\([2-9]\d{2}\)\ ?|[2-9]\d{2}(?:\-?|\ ?))[2-9]\d{2}[- ]?\d{4}$/</source>


of
of


  <nowiki>/^[\(\)\.\- ]{0,}[0-9]{3}[\(\)\.\- ]{0,}[0-9]{3}[\(\)\.\- ]{0,}[0-9]{4}[\(\)\.\- ]{0,}$/</nowiki>
  <source lang="html">/^[\(\)\.\- ]{0,}[0-9]{3}[\(\)\.\- ]{0,}[0-9]{3}[\(\)\.\- ]{0,}[0-9]{4}[\(\)\.\- ]{0,}$/</source>


De tweede versie zal werken voor alle Canadese en VS telefoonnummers die ook niet numerieke tekens bevat, inclusief
De tweede versie zal werken voor alle Canadese en VS telefoonnummers die ook niet numerieke tekens bevat, inclusief


  <nowiki> . ( ) - (space)</nowiki>
  <source lang="html"> . ( ) - (space)</source>


De volgende telefoonnummers (waarbij 5 voor een willekeurig cijfer staat) zijn dan toegestaan.
De volgende telefoonnummers (waarbij 5 voor een willekeurig cijfer staat) zijn dan toegestaan.
Line 86: Line 103:
Haakjes, spaties en streepjes worden overgeslagen.
Haakjes, spaties en streepjes worden overgeslagen.


De 'PRECIES' versie komen overeen met de eerste 4 of 5 cijfers in een getal om er zeker van te zijn dat het geldige Australische getallen zijn.
De 'Precies' versie test de eerste 4 of 5 cijfers in een getal om er zeker van te zijn dat het een geldig Australisch telefoonnummer is.


De 'NIET PRECIES' controleren alleen het eerste en tweede cijfer, ze staan dus ongeldige getallen toe.
De 'Niet precies' controleert alleen het eerste en tweede cijfer, er worden dus ongeldige telefoonnummers toegestaan.


===Alle Australische telefoonnummers (gebiedscode verplicht)===
===Alle Australische telefoonnummers (gebiedscode verplicht)===


PRECIES
PRECIES


/^\(?(?:\+?61|0)(?:(?:2\)?[ -]?(?:3[ -]?[38]|[46-9][ -]?[0-9]|5[ -]?[0-35-9])|3\)?(?:4[ -]?[0-57-9]|[57-9][ -]?[0-9]|6[ -]?[1-67])|7\)?[ -]?(?:[2-4][ -]?[0-9]|5[ -]?[2-7]|7[ -]?6)|8\)?[ -]?(?:5[ -]?[1-4]|6[ -]?[0-8]|[7-9][ -]?[0-9]))(?:[ -]?[0-9]){6}|4\)?[ -]?(?:(?:[01][ -]?[0-9]|2[ -]?[0-57-9]|3[ -]?[1-9]|4[ -]?[7-9]|5[ -]?[018])[ -]?[0-9]|3[ -]?0[ -]?[0-5])(?:[ -]?[0-9]){5})$/
<source lang="html">/^\(?(?:\+?61|0)(?:(?:2\)?[ -]?(?:3[ -]?[38]|[46-9][ -]?[0-9]|5[ -]?[0-35-9])|3\)?(?:4[ -]?[0-57-9]|[57-9][ -]?[0-9]|6[ -]?[1-67])|7\)?[ -]?(?:[2-4][ -]?[0-9]|5[ -]?[2-7]|7[ -]?6)|8\)?[ -]?(?:5[ -]?[1-4]|6[ -]?[0-8]|[7-9][ -]?[0-9]))(?:[ -]?[0-9]){6}|4\)?[ -]?(?:(?:[01][ -]?[0-9]|2[ -]?[0-57-9]|3[ -]?[1-9]|4[ -]?[7-9]|5[ -]?[018])[ -]?[0-9]|3[ -]?0[ -]?[0-5])(?:[ -]?[0-9]){5})$/
</source>


NIET PRECIES
Niet precies:


<nowiki>/^(?:\+?61|0)[2-478](?:[ -]?[0-9]){8}$/</nowiki>
<source lang="html">/^(?:\+?61|0)[2-478](?:[ -]?[0-9]){8}$/</source>


===Alle Australische telefoonnummers (alleen vaste, met verplichte gebiedscode)===
===Alle Australische telefoonnummers (alleen vaste, met verplichte gebiedscode)===


PRECIES
Precies:


/^\(?(?:\+?61|0)(?:2\)?[ -]?(?:3[ -]?[38]|[46-9][ -]?[0-9]|5[ -]?[0-35-9])|3\)?(?:4[ -]?[0-57-9]|[57-9][ -]?[0-9]|6[ -]?[1-67])|7\)?[ -]?(?:[2-4][ -]?[0-9]|5[ -]?[2-7]|7[ -]?6)|8\)?[ -]?(?:5[ -]?[1-4]|6[ -]?[0-8]|[7-9][ -]?[0-9]))(?:[ -]?[0-9]){6}$/
<source lang="html">/^\(?(?:\+?61|0)(?:2\)?[ -]?(?:3[ -]?[38]|[46-9][ -]?[0-9]|5[ -]?[0-35-9])|3\)?(?:4[ -]?[0-57-9]|[57-9][ -]?[0-9]|6[ -]?[1-67])|7\)?[ -]?(?:[2-4][ -]?[0-9]|5[ -]?[2-7]|7[ -]?6)|8\)?[ -]?(?:5[ -]?[1-4]|6[ -]?[0-8]|[7-9][ -]?[0-9]))(?:[ -]?[0-9]){6}$/</source>


NIET PRECIES
Niet precies:


<nowiki>/^(?:\+?61|\(?0)[2378]\)?(?:[ -]?[0-9]){8}$/</nowiki>
<source lang="html">/^(?:\+?61|\(?0)[2378]\)?(?:[ -]?[0-9]){8}$/</source>


===Nieuw Zuid Wales vast (gebiedscode optioneel)===
===Nieuw Zuid Wales vast (gebiedscode optioneel)===


PRECIES
Precies:


<nowiki>/^(?:\(?(?:\+?61|0)2\)?[ -]?)?(?:3[ -]?[38]|[46-9][ -]?[0-9]|5[ -]?[0-35-9])(?:[ -]?[0-9]){6}$/</nowiki>
<source lang="html">/^(?:\(?(?:\+?61|0)2\)?[ -]?)?(?:3[ -]?[38]|[46-9][ -]?[0-9]|5[ -]?[0-35-9])(?:[ -]?[0-9]){6}$/</source>


NIET PRECIES
Niet precies:


/^(?:\(?(?:\+?61|0)2\)?(?:[ -]?[0-9]){7}[0-9]$/</nowiki>
<source lang="html">/^(?:\(?(?:\+?61|0)2\)?(?:[ -]?[0-9]){7}[0-9]$/</source>


===Telefoonnummers Victoria en Tasmanië vaste nummers (gebiedscode optioneel)===
===Telefoonnummers Victoria en Tasmanië vaste nummers (gebiedscode optioneel)===


PRECIES
Precies:


<nowiki>/^(?:\(?(?:\+?61|0)3\)?[ -]?)?(?:4[ -]?[0-57-9]|[57-9][ -]?[0-9]|6[ -]?[1-67])(?:[ -]?[0-9]){6}$/</nowiki>
<source lang="html">/^(?:\(?(?:\+?61|0)3\)?[ -]?)?(?:4[ -]?[0-57-9]|[57-9][ -]?[0-9]|6[ -]?[1-67])(?:[ -]?[0-9]){6}$/</source>


NIET PRECIES
Niet precies:


/^(?:\(?(?:\+?61|0)3\)?(?:[ -]?[0-9]){7}[0-9]$/</nowiki>
<source lang="html">/^(?:\(?(?:\+?61|0)3\)?(?:[ -]?[0-9]){7}[0-9]$/</source>


===Queensland vast (gebiedscode optioneel)===
===Queensland vast (gebiedscode optioneel)===


PRECIES
Precies:


<nowiki>/^(?:\(?(?:\+?61|0)7\)?[ -]?)?(?:[2-4][ -]?[0-9]|5[ -]?[2-7]|7[ -]?6)(?:[ -]?[0-9]){6}$/</nowiki>
<source lang="html">/^(?:\(?(?:\+?61|0)7\)?[ -]?)?(?:[2-4][ -]?[0-9]|5[ -]?[2-7]|7[ -]?6)(?:[ -]?[0-9]){6}$/</source>


NIET PRECIES
Niet precies:


/^(?:\(?(?:\+?61|0)7\)?(?:[ -]?[0-9]){7}[0-9]$/</nowiki>
<source lang="html">/^(?:\(?(?:\+?61|0)7\)?(?:[ -]?[0-9]){7}[0-9]$/</source>


===Zuid Australië, Noordelijk Territorium, West Australië vaste telefoonnummers (gebiedscode optioneel)===
===Zuid Australië, Noordelijk Territorium, West Australië vaste telefoonnummers (gebiedscode optioneel)===


PRECIES
Precies:


/^(?:\(?(?:\+?61|0)8\)?[ -]?)?(?:5[1-4]|6[0-8]|[7-9][0-9])$/
<source lang="html">/^(?:\(?(?:\+?61|0)8\)?[ -]?)?(?:5[1-4]|6[0-8]|[7-9][0-9])$/</source>


NIET PRECIES
Niet precies:


/^(?:\(?(?:\+?61|0)8\)?(?:[ -]?[0-9]){7}[0-9]$/</nowiki>
<source lang="html">/^(?:\(?(?:\+?61|0)8\)?(?:[ -]?[0-9]){7}[0-9]$/</source>


===Alleen mobiel===
===Alleen mobiele Australische telefoonnummers===


PRECIES
Precies:


/^(?:\+?61|0)4 ?(?:(?:[01] ?[0-9]|2 ?[0-57-9]|3 ?[1-9]|4 ?[7-9]|5 ?[018]) ?[0-9]|3 ?0 ?[0-5])(?: ?[0-9]){5}$/
<source lang="html">/^(?:\+?61|0)4 ?(?:(?:[01] ?[0-9]|2 ?[0-57-9]|3 ?[1-9]|4 ?[7-9]|5 ?[018]) ?[0-9]|3 ?0 ?[0-5])(?: ?[0-9]){5}$/</source>


NIET PRECIES
Niet precies:


/^(?:\(?(?:\+?61|0)4\)?(?:[ -]?[0-9]){7}[0-9]$/</nowiki>
<source lang="html">/^(?:\(?(?:\+?61|0)4\)?(?:[ -]?[0-9]){7}[0-9]$/</source>


==Belgisch telefoonnummer==
==Belgisch telefoonnummer==
  <nowiki>/^((\+|00)32\s?|0)(\d\s?\d{3}|\d{2}\s?\d{2})(\s?\d{2}){2}$/</nowiki>
  <source lang="html">/^((\+|00)32\s?|0)(\d\s?\d{3}|\d{2}\s?\d{2})(\s?\d{2}){2}$/</source>
==Belgisch mobiel telefoonnummer==
==Belgisch mobiel telefoonnummer==
  <nowiki>/^((\+|00)32\s?|0)4(60|[789]\d)(\s?\d{2}){3}$/</nowiki>
  <source lang="html">/^((\+|00)32\s?|0)4(60|[789]\d)(\s?\d{2}){3}$/</source>
==Frans telefoonnummer==
==Frans telefoonnummer==
  <nowiki>/^((\+|00)33\s?|0)[1-5](\s?\d{2}){4}$/</nowiki>
  <source lang="html">/^((\+|00)33\s?|0)[1-5](\s?\d{2}){4}$/</source>
==Frans mobiel telefoonnummer==
==Frans mobiel telefoonnummer==
  <nowiki>/^((\+|00)33\s?|0)[679](\s?\d{2}){4}$/</nowiki>
  <source lang="html">/^((\+|00)33\s?|0)[679](\s?\d{2}){4}$/</source>
==Luxemburgs telefoonnummer==
==Luxemburgs telefoonnummer==
  <nowiki>/^((\+|00\s?)352)?(\s?\d{2}){3,4}$/</nowiki>
  <source lang="html">/^((\+|00\s?)352)?(\s?\d{2}){3,4}$/</source>
==Luxemburgs mobiel telefoonnummer==
==Luxemburgs mobiel telefoonnummer==
  <nowiki>/^((\+|00\s?)352)?\s?6[269]1(\s?\d{3}){2}$/</nowiki>
  <source lang="html">/^((\+|00\s?)352)?\s?6[269]1(\s?\d{3}){2}$/</source>
=Duitse marken (met optioneel plus of min)=
=Duitse mark (met optionele plus of min)=
  <nowiki>/^[1-6]{1}[\+|\-]?$/</nowiki>
  <source lang="html">/^[1-6]{1}[\+|\-]?$/</source>
=Leeftijd validatie=
 
===Voorbeeld: Leeftijd 20-99===
 
<nowiki>/([2-9][0-9])/</nowiki>
=Validatie leeftijd=
===Voorbeeld: Leeftijd 18-35===
 
  <nowiki>/(1[8-9]|2[0-9]|3[0-5])/</nowiki>
 
===Voorbeeld: Leeftijd 19-65===
Voorbeeld: leeftijd 20-99
  <nowiki>^(1[8-9]|[2-5][0-9]|6[0-5])$</nowiki>
<source lang="html">/([2-9][0-9])/</source>
=Getal validatie=
 
==Getal van 1 tot 99999==
Voorbeeld: Leeftijd 18-35
  <nowiki>/^([1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9])$/</nowiki>
  <source lang="html">/(1[8-9]|2[0-9]|3[0-5])/</source>
  <nowiki>/^[1-9][0-9]{0,4}$/ hetzelfde als boven, misschien iets sneller</nowiki>
 
==Getal van 1 tot 999, 1.000 tot 999.999 tot 999.999.999==
Voorbeeld: Leeftijd 19-65
  <nowiki>/^[1-9][0-9]{0,2}(?:\.[0-9]{3}){0,2}$/
  <source lang="html">^(1[8-9]|[2-5][0-9]|6[0-5])$</source>
accepteert getallen van 1 tot 999, 1.000 tot 999.999 tot 999.999.999 maar weigert
 
999.1.1, 94.22.22, 999.1.22, 999.11.1, 999.1.333</nowiki>
 
==Nummer validatie met optionele decimaal (voor een prijs)==
=Validatie getal=  
  <nowiki>/^([1][0-9][0-9]|[1-9][0-9]|[0-9])((\.)[0-9][0-9])?$/ accepteert getallen van 0 tor 199, met 2 optionele decimalen  optionnal</nowiki>
 
<nowiki>
 
/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}\.[0-9]{2}$/
==Getallen van 1 tot 99999==
forces two decimal points
  <source lang="html">/^([1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9])$/</source>
accepts numbers from 1.00 to 999,999,999.00 with an optional comma delimiting thousands/millions
  <source lang="html">/^[1-9][0-9]{0,4}$/ doet hetzelfde als hierboven, maar dan wat sneller</source>
including all of the following: 1.00, 1,000.00 , 12,345.67 , 12345,02 , 123,456,468.00 , 1234566.00 , 123456789.00
==Getallen van 1 tot 999, 1.000 tot 999.999 tot 999.999.999==
but not 1,23.00 , 12,3.4 or 1234,43.04</nowiki>
  <source lang="html">/^[1-9][0-9]{0,2}(?:\.[0-9]{3}){0,2}$/</source>
  <nowiki>
Accepteert getallen van 1 tot 999 1.000 tot 999.999 tot 999.999.999 maar
/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}(?:\.[0-9]{2})?$/ same as above but the two decimal points are optional</nowiki>
keurt getallen als 999.1.1 , 94.22.22, 999.1.22, 999.11.1 en 999.1.333 af.
 
==Validatie getal met optioneel een decimaal (prijzen)==
Accepteert getallen van 0 tot en met 199, met 2 decimalen optioneel:
  <source lang="html">/^([1][0-9][0-9]|[1-9][0-9]|[0-9])((\.)[0-9][0-9])?$/</source>
 
==Nummervalidatie met scheidingsteken duizendtallen==
Spatie als scheidingsteken, geen minteken
<source lang="html">/^(?!0)\d{1,3}(\ \d{3})*$/</source>
Punt als scheidingsteken, minteken toegestaan
<source lang="html">/^-?(?!0)\d{1,3}(\.\d{3})*$/</source>
 
Zorgt voor een getal met 2 decimalen en accepteert getallen van 1.00 tot 999,999,999.00 met een optionele komma voor  duizendtallen/miljoentallen met inbegrip van: 1.00, 1,000.00, 12,345.67, 12345,02, 123,456,468.00, 1234566.00, 123456789.00
maar niet 1,23.00, 12,3.4 of 1234,43.04
<source lang="html">/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}\.[0-9]{2}$/</source>
Op dezelfde manier: Een getal met 2 decimalen, maar met een "0" voor de komma ",".
  <source lang="html">/[0-9]{0,2}(?:,?[0-9]{3}){0,3}\.[0-9]{2}$/</source>
 
Hetzelfde als hierboven, maar de twee decimale punten zijn optioneel:
<source lang="html">/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}(?:\.[0-9]{2})?$/ </source>


==Maand (1-12)==
==Maand (1-12)==
Line 204: Line 241:
Als je een ingevulde maand wilt valideren:
Als je een ingevulde maand wilt valideren:


  <nowiki>/^[0]*[1-9]$|^[0]*1[0-2]$/</nowiki>
  <source lang="html">/^[0]*[1-9]$|^[0]*1[0-2]$/</source>
 
=Minimum wijdte (voorbeeld: 3)=


=Minimum wijdte (in dit voorbeeld: 3)=


  <nowiki>/^.{3,}$/</nowiki>
  <source lang="html">/^.{3,}$/</source>
 


=Valuta=
=Valuta=


==VS valuta (dollar teken en centen optioneel)==
==VS valuta (dollar teken en centen optioneel)==


  <nowiki>/^\$?\d+(\.(\d{2}]]?$/</nowiki>
  <source lang="html">/^\$?\d+(\.(\d{2}))?$/</source>
 
Controle op gebruik komma:
<source lang="html">/^\$?\d{1,3}(\d+(?!,))?(,\d{3})*(\.\d{2})?$/</source>


==Zwitserse prijs==
==Zwitserse prijs==
Line 220: Line 263:
Een getal met twee cijfers na de decimale punt met het laatste cijfer ongelijk 0 en 5:
Een getal met twee cijfers na de decimale punt met het laatste cijfer ongelijk 0 en 5:


  <nowiki>/^(\d+)(\.\d(05)?)?$/</nowiki>
  <source lang="html">/^(\d+)(\.\d(05)?)?$/</source>
 


=Valideren score=
=Valideren score=


==1-10==
==1-10==


  <nowiki>/^[1-9]{1}$|^10$/</nowiki>
  <source lang="html">/^[1-9]{1}$|^10$/</source>


==1-100==
==1-100==


  <nowiki>/^[1-9]?[0-9]{1}$|^100$/</nowiki>
  <source lang="html">/^[1-9]?[0-9]{1}$|^100$/</source>
 


=Tekst validatie=
=Tekst validatie=


Meerdere korte vrije teksten ondersteunt nu geen minimum of maximum aantal antwoorden. Een alternatief is een lang vrije tekst te gebruiken met een regex.
Meerdere korte vrije teksten ondersteunt nu geen minimum of maximum aantal antwoorden. Een alternatief is een lang vrije tekst te gebruiken met een regex.
Line 238: Line 285:
De volgende test voor minstens 1 woord per regel voor minstens 3 regels en maximaal 10 regels.
De volgende test voor minstens 1 woord per regel voor minstens 3 regels en maximaal 10 regels.


  <nowiki>/(?:[^,.;:?!& \n\r]+(?: [^,.;:?!& \n\r]+)*)(?:[,.;:?!& \n\r]?(?:\n|\r|\n\r|\r\n)(?:[^,.;:?!& \n\r]+(?: [^,.;:?!& \n\r]+)*)){2,10}/is</nowiki>
  <source lang="html">/(?:[^,.;:?!& \n\r]+(?: [^,.;:?!& \n\r]+)*)(?:[,.;:?!& \n\r]?(?:\n|\r|\n\r|\r\n)(?:[^,.;:?!& \n\r]+(?: [^,.;:?!& \n\r]+)*)){2,10}/is</source>


Als je 5 woorden per regel wilt, dan kun je de eerste en laatste asterisk(*) wijzigen in {4,} bijvoorbeeld:
Als je 5 woorden per regel wilt, dan kun je de eerste en laatste asterisk(*) wijzigen in {4,} bijvoorbeeld:


<nowiki>/(?:[^,.;:?!& \n\r]+(?: [^,.;:?!& \n\r]+){4,})(?:[,.;:?!& \n\r]?(?:\n|\r|\n\r|\r\n)(?:[^,.;:?!& \n\r]+(?: [^,.;:?!& \n\r]+){4,})){2,10}/is</nowiki>
<source lang="html">/(?:[^,.;:?!& \n\r]+(?: [^,.;:?!& \n\r]+){4,})(?:[,.;:?!& \n\r]?(?:\n|\r|\n\r|\r\n)(?:[^,.;:?!& \n\r]+(?: [^,.;:?!& \n\r]+){4,})){2,10}/is</source>


Als je een of meer woorden wilt per regel wilt tussen de 1 en 5 regels, dan kun je de inhoud van de laatste accolades wijzigen in '''0,4''' (je gebruikt 0 om de eerste regel al te vergelijken).
Als je een of meer woorden wilt per regel wilt tussen de 1 en 5 regels, dan kun je de inhoud van de laatste accolades wijzigen in '''0,4''' (je gebruikt 0 om de eerste regel al te vergelijken).


  <nowiki>/(?:[^,.;:?!& \n\r]+(?: [^,.;:?!& \n\r]+)*)(?:[,.;:?!& \n\r]?(?:\n|\r|\n\r|\r\n)(?:[^,.;:?!& \n\r]+(?: [^,.;:?!& \n\r]+)*)){0,4}/is</nowiki>
  <source lang="html">/(?:[^,.;:?!& \n\r]+(?: [^,.;:?!& \n\r]+)*)(?:[,.;:?!& \n\r]?(?:\n|\r|\n\r|\r\n)(?:[^,.;:?!& \n\r]+(?: [^,.;:?!& \n\r]+)*)){0,4}/is</source>


==Woordentellen==
==Woordentellen==


  <nowiki>De volgende beperkt het aantal toegestane woorden tot minimaal 1 en maximaal 200
  De volgende beperkt het aantal toegestane woorden tot minimaal 1 en maximaal 200


/^[-\w]+(?:\W+[-\w]+){0,199}\W*$/</nowiki>
<source lang="html">/^[-\w]+(?:\W+[-\w]+){0,199}\W*$/</source>


  <nowiki>Om het minimum te wijzigen, wijzig de 0 in {0,199}
  Om het minimum te wijzigen, wijzig de 0 in {0,199}


Om het maximum te wijzigen, wijzig de 199 in {0,199}</nowiki>
Om het maximum te wijzigen, wijzig de 199 in {0,199}


=Tijd validatie=
=Tijd validatie=


Er zijn meerdere formaten voor de tijdsweergave. Je hebt de 12-uursweergave en de 24-uursweergave. Met of zonder seconden. Nu, 6-4-2009, versie v1.80plus, is er geen vraagtype tijd. Je moet het vraagtype "kort vrije tekst" gebruiken, met een van de 9 onderstaande reguliere expressies:


<nowiki>De volgende drie zijn voor de 24 uur tijdsaanduiding voor respectievelijk zonder seconden, optioneel seconden en verplicht met seconden.
Er zijn meerdere formaten voor de tijdsweergave. Je hebt de 12-uursweergave en de 24-uursweergave. Met of zonder seconden. Je kunt het vraagtype datum gebruiken (dat kan ook de tijd bepalen) of het vraagtype "korte vrije tekst" gebruiken, met een van de onderstaande reguliere expressies:


/^(?:[01][0-9]|2[0-3]):[0-5][0-9]$/
<source lang="html">De volgende drie validatie-strings zijn voor de 24 uur tijdsaanduiding voor respectievelijk zonder seconden, optioneel seconden en verplicht met seconden.


/^(?:[01][0-9]|2[0-3]):[0-5][0-9](?::[0-5][0-9])?$/
<source lang="html">/^(?:[01][0-9]|2[0-3]):[0-5][0-9]$/</source>


/^(?:[01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$/~/pp<span style="color:pp~De volgende drie zijn voor de  12 uur tijdsaanduiding, net als boven met seconden, optioneel met seconden en met verplicht seconden
<source lang="html">/^(?:[01][0-9]|2[0-3]):[0-5][0-9](?::[0-5][0-9])?$/</source>


/^(?">00:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9] (?:[ap]m|[AP]M)|12:[0-5][0-9] (?:pm|PM))$/
<source lang="html">/^(?:[01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$/</source>


/^(?:00:[0-5][0-9](?::[0-5][0-9])? (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9](?::[0-5][0-9])? (?:[ap]m|[AP]M)|12:[0-5][0-9](?::[0-5][0-9])? (?:pm|PM))$/
De volgende drie matchen 12 uur tijd, als boven met seconden, seconden optioneel en seconden verplicht


/^(?:00:[0-5][0-9]:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9]:[0-5][0-9] (?:[ap]m|[AP]M)|12:[0-5][0-9]:[0-5][0-9] (?:pm|PM))$/~/pp</span>pp~De volgende drie zijn voor zowel de 12 als 24 uuraanduiding net als boven met seconden, optioneel met seconden en met verplicht seconden
<source lang="html">/^(?">00:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9] (?:[ap]m|[AP]M)|12:[0-5][0-9] (?:pm|PM))$/</source>


/^(?:(?:00:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9] (?:[ap]m|[AP]M)|12:[0-5][0-9] (?:pm|PM))|(?:[01][0-9]|2[0-3]):[0-5][0-9])$/
<source lang="html">/^(?:00:[0-5][0-9](?::[0-5][0-9])? (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9](?::[0-5][0-9])? (?:[ap]m|[AP]M)|12:[0-5][0-9](?::[0-5][0-9])? (?:pm|PM))$/</source>


/^(?:(?:00:[0-5][0-9](?<center>[0-5][0-9])? (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9](?</center>[0-5][0-9])? (?:[ap]m|[AP]M)|12:[0-5][0-9](?<center>[0-5][0-9])? (?:pm|PM))|(?:[01][0-9]|2[0-3]):[0-5][0-9](?</center>[0-5][0-9])?)$/
<source lang="html">/^(?:00:[0-5][0-9]:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9]:[0-5][0-9] (?:[ap]m|[AP]M)|12:[0-5][0-9]:[0-5][0-9] (?:pm|PM))$/</source>


/^(?:(?:00:[0-5][0-9]:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9]:[0-5][0-9] (?:[ap]m|[AP]M)|12:[0-5][0-9]:[0-5][0-9] (?:pm|PM))|(?:[01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9])$/</nowiki>
De volgende drie matchen 12 of 24-uurs tijdnotatie zoals hierboven met seconden,  seconden optioneel en seconden verplicht


=VS Staten=
<source lang="html">/^(?:(?:00:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9] (?:[ap]m|[AP]M)|12:[0-5][0-9] (?:pm|PM))|(?:[01][0-9]|2[0-3]):[0-5][0-9])$/</source>
 
<source lang="html">/^(?:(?:00:[0-5][0-9](?[0-5][0-9])? (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9](?[0-5][0-9])? (?:[ap]m|[AP]M)|12:[0-5][0-9](?[0-5][0-9])? (?:pm|PM))|(?:[01][0-9]|2[0-3]):[0-5][0-9](?[0-5][0-9])?)$/</source>
 
<source lang="html">/^(?:(?:00:[0-5][0-9]:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9]:[0-5][0-9] (?:[ap]m|[AP]M)|12:[0-5][0-9]:[0-5][0-9] (?:pm|PM))|(?:[01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9])$/</source>
 
=VS=
 
 
Om een staat te valideren (voorbeeld is Texas):
*TX alleen hoofdletters = <source lang="html">/^(TX)$/</source>
*tx alleen kleine letters = <source lang="html">/^(tx)$/</source>
*TX hoofdletters of kleine letters = <source lang="html">/^([T|t][X|x])$/</source>


Om voor een staat te valideren (voorbeeld is Texas):
*TX alleen hoofdletters = <nowiki>/^(TX)$/</nowiki>
*tx lalleen kleine letters = <nowiki>/^(tx)$/</nowiki>
*TX hoofdletters of kleine letters = <nowiki>/^([T|t][X|x])$/</nowiki>


=Schuttingtaal filter=
=Schuttingtaal filter=


Om schuttingtaal in antwoorden te verwijderen:
Om schuttingtaal in antwoorden te verwijderen:


  <nowiki>/^(?i)((?!\bSCHUTTINGTAAL\b).)*$(?-i)/</nowiki>
  <source lang="html">/^(?i)((?!\bENTERPROFANITYHERE\b).)*$(?-i)/</source>


Vervang "SCHUTTINGTAAL" met het woord dat u uit de antwoorden wilt filteren.
Vervang "SCHUTTINGTAAL" door dit woord.


De \b zorgt ervoor dat woorden als "borstel" en "konterfeitsel" geaccepteerd worden als je "borst" en "kont" als schuttingtaal ziet. Dit werkt ook als je andere woorden, namen, enz. uit antwoorden wilt verwijderen.
De \b zorgt ervoor dat woorden als "borstel" en "konterfeitsel" geaccepteerd worden als je "borst" en "kont" als schuttingtaal ziet. Dit werkt ook als je andere woorden, namen, enz. uit antwoorden wilt verwijderen.
=Nuttige links=
In het begin van deze beschrijving raden we je aan https://regex101.com/ te gebruiken om reguliere expressies te testen of te maken. Een alternatief is : https://www.regextester.com/

Revision as of 21:19, 21 July 2019

Een reguliere expressie moet beginnen en eindigen met een slash ("/"). Een bibliotheek met reguliere expressies kun je vinden op http://www.regexlib.net/. Kijk wel of in deze "patterns" de slashes al toegevoegd zijn.

Om je reguliere expressie te testen kun je dit gebruiken: regex tester.

Om deze beschrijving nuttiger te maken, vragen we je vriendelijk om een eigen succesvol geteste reguliere expressie hier toe te voegen om deze expressie beter begrijpbaar en herbruikbaar te maken voor hierin minder ervaren gebruikers.
  Attentie : Let op: alle onderstaande voorbeelden zijn geschreven op één regel!



Belangrijk: Reguliere expressies in condities

Als je de reguliere expressies in de conditie editor gebruikt, voeg dan NIET de beide slashes toe.


E-mail validatie

Wijziging 12/2018: Sinds kort kunnen domeinnamen niet alleen speciale tekens bevatten zoals "ü" maar ook meer dan 3 tekens gebruiken als domeinnaam zoals .tech of . bedrijf. De onderstaande reguliere expressie controleert alleen of "@" en "." voorkomen binnen het ingevoerde e-mailadres.

/^.+?@.+?\..+$/

Bij deze verouderde expressie is de domeinnaam beperkt tot 3 tekens die niet alle beschikbare domeinen omvat:

/^(\w[-._+\w]*\w@\w [-._\w]*\w\.\W{2,3})$/

Postcode

Australische postcode

/^[0-9]{4}/

Braziliaanse postcode

/^[0-9]{2}\.[0-9]{3}-[0-9]{3}$/

Canadese postcode

/^[a-zA-Z]\d{1}[a-zA-Z](\-| |)\d{1}[a-zA-Z]\d{1}$/

VS postcode

/^[0-9]{5}([- /]?[0-9]{4})?$/

Om de postcode te laten beginnen met nul, gebruik je:

/^[0-9]{5}(?:-[0-9]{4})?$/

Verenigd Koninkrijk postcode

/^[A-Z][A-Z]?[0-9][A-Z0-9]? ?[0-9][ABDEFGHJLNPQRSTUWXYZ]{2}$/i

Dit is een niet erg goede regex, maar voor een betere validatie zou een veel complexere regex nodig zijn. Meer informatie: StackOverflow answer en Wikipedia.

Franse postcodes

/(^[0-8]\d\d{3}$)|(^9[0-5]\d{3}$)|(^97[1-6]\d{2}$)|(^98[46-8]\d{2}$)/

De bovenstaande uitdrukking is zeer nauwkeurig en zal controleren of het Franse departement al dan niet bestaat (eerste twee cijfers), inclusief overzeese departementen en overzeese gebieden (DOM-TOM).


Telefoonnummer

VS telefoonnummer

/^(?:\([2-9]\d{2}\)\ ?|[2-9]\d{2}(?:\-?|\ ?))[2-9]\d{2}[- ]?\d{4}$/

of

/^[\(\)\.\- ]{0,}[0-9]{3}[\(\)\.\- ]{0,}[0-9]{3}[\(\)\.\- ]{0,}[0-9]{4}[\(\)\.\- ]{0,}$/

De tweede versie zal werken voor alle Canadese en VS telefoonnummers die ook niet numerieke tekens bevat, inclusief

 . ( ) - (space)

De volgende telefoonnummers (waarbij 5 voor een willekeurig cijfer staat) zijn dan toegestaan.

  • (555)555 5555
  • 555.555.5555
  • 555 555 5555
  • (555)-555-5555
  • 555-555-5555
  • 555555555

Australisch telefoonnummer

De volgende voorbeelden dekken alle mogelijke Australische mobiele en vaste telefoonnummers inclusief het landnummer "+61":

  • (02) 9123 6535
  • 03 1234-5345
  • 0412 345 678
  • +61 2 3456 789

Maar niet:

  • 234 3450 234
  • a234 534 3432
  • 134567
  • 123456789013

Haakjes, spaties en streepjes worden overgeslagen.

De 'Precies' versie test de eerste 4 of 5 cijfers in een getal om er zeker van te zijn dat het een geldig Australisch telefoonnummer is.

De 'Niet precies' controleert alleen het eerste en tweede cijfer, er worden dus ongeldige telefoonnummers toegestaan.

Alle Australische telefoonnummers (gebiedscode verplicht)

PRECIES

/^\(?(?:\+?61|0)(?:(?:2\)?[ -]?(?:3[ -]?[38]|[46-9][ -]?[0-9]|5[ -]?[0-35-9])|3\)?(?:4[ -]?[0-57-9]|[57-9][ -]?[0-9]|6[ -]?[1-67])|7\)?[ -]?(?:[2-4][ -]?[0-9]|5[ -]?[2-7]|7[ -]?6)|8\)?[ -]?(?:5[ -]?[1-4]|6[ -]?[0-8]|[7-9][ -]?[0-9]))(?:[ -]?[0-9]){6}|4\)?[ -]?(?:(?:[01][ -]?[0-9]|2[ -]?[0-57-9]|3[ -]?[1-9]|4[ -]?[7-9]|5[ -]?[018])[ -]?[0-9]|3[ -]?0[ -]?[0-5])(?:[ -]?[0-9]){5})$/

Niet precies:

/^(?:\+?61|0)[2-478](?:[ -]?[0-9]){8}$/

Alle Australische telefoonnummers (alleen vaste, met verplichte gebiedscode)

Precies:

/^\(?(?:\+?61|0)(?:2\)?[ -]?(?:3[ -]?[38]|[46-9][ -]?[0-9]|5[ -]?[0-35-9])|3\)?(?:4[ -]?[0-57-9]|[57-9][ -]?[0-9]|6[ -]?[1-67])|7\)?[ -]?(?:[2-4][ -]?[0-9]|5[ -]?[2-7]|7[ -]?6)|8\)?[ -]?(?:5[ -]?[1-4]|6[ -]?[0-8]|[7-9][ -]?[0-9]))(?:[ -]?[0-9]){6}$/

Niet precies:

/^(?:\+?61|\(?0)[2378]\)?(?:[ -]?[0-9]){8}$/

Nieuw Zuid Wales vast (gebiedscode optioneel)

Precies:

/^(?:\(?(?:\+?61|0)2\)?[ -]?)?(?:3[ -]?[38]|[46-9][ -]?[0-9]|5[ -]?[0-35-9])(?:[ -]?[0-9]){6}$/

Niet precies:

/^(?:\(?(?:\+?61|0)2\)?(?:[ -]?[0-9]){7}[0-9]$/

Telefoonnummers Victoria en Tasmanië vaste nummers (gebiedscode optioneel)

Precies:

/^(?:\(?(?:\+?61|0)3\)?[ -]?)?(?:4[ -]?[0-57-9]|[57-9][ -]?[0-9]|6[ -]?[1-67])(?:[ -]?[0-9]){6}$/

Niet precies:

/^(?:\(?(?:\+?61|0)3\)?(?:[ -]?[0-9]){7}[0-9]$/

Queensland vast (gebiedscode optioneel)

Precies:

/^(?:\(?(?:\+?61|0)7\)?[ -]?)?(?:[2-4][ -]?[0-9]|5[ -]?[2-7]|7[ -]?6)(?:[ -]?[0-9]){6}$/

Niet precies:

/^(?:\(?(?:\+?61|0)7\)?(?:[ -]?[0-9]){7}[0-9]$/

Zuid Australië, Noordelijk Territorium, West Australië vaste telefoonnummers (gebiedscode optioneel)

Precies:

/^(?:\(?(?:\+?61|0)8\)?[ -]?)?(?:5[1-4]|6[0-8]|[7-9][0-9])$/

Niet precies:

/^(?:\(?(?:\+?61|0)8\)?(?:[ -]?[0-9]){7}[0-9]$/

Alleen mobiele Australische telefoonnummers

Precies:

/^(?:\+?61|0)4 ?(?:(?:[01] ?[0-9]|2 ?[0-57-9]|3 ?[1-9]|4 ?[7-9]|5 ?[018]) ?[0-9]|3 ?0 ?[0-5])(?: ?[0-9]){5}$/

Niet precies:

/^(?:\(?(?:\+?61|0)4\)?(?:[ -]?[0-9]){7}[0-9]$/

Belgisch telefoonnummer

/^((\+|00)32\s?|0)(\d\s?\d{3}|\d{2}\s?\d{2})(\s?\d{2}){2}$/

Belgisch mobiel telefoonnummer

/^((\+|00)32\s?|0)4(60|[789]\d)(\s?\d{2}){3}$/

Frans telefoonnummer

/^((\+|00)33\s?|0)[1-5](\s?\d{2}){4}$/

Frans mobiel telefoonnummer

/^((\+|00)33\s?|0)[679](\s?\d{2}){4}$/

Luxemburgs telefoonnummer

/^((\+|00\s?)352)?(\s?\d{2}){3,4}$/

Luxemburgs mobiel telefoonnummer

/^((\+|00\s?)352)?\s?6[269]1(\s?\d{3}){2}$/

Duitse mark (met optionele plus of min)

/^[1-6]{1}[\+|\-]?$/


Validatie leeftijd

Voorbeeld: leeftijd 20-99

/([2-9][0-9])/

Voorbeeld: Leeftijd 18-35

/(1[8-9]|2[0-9]|3[0-5])/

Voorbeeld: Leeftijd 19-65

^(1[8-9]|[2-5][0-9]|6[0-5])$


Validatie getal

Getallen van 1 tot 99999

/^([1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9])$/
/^[1-9][0-9]{0,4}$/ doet hetzelfde als hierboven, maar dan wat sneller

Getallen van 1 tot 999, 1.000 tot 999.999 tot 999.999.999

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

Accepteert getallen van 1 tot 999 1.000 tot 999.999 tot 999.999.999 maar keurt getallen als 999.1.1 , 94.22.22, 999.1.22, 999.11.1 en 999.1.333 af.

Validatie getal met optioneel een decimaal (prijzen)

Accepteert getallen van 0 tot en met 199, met 2 decimalen optioneel:

/^([1][0-9][0-9]|[1-9][0-9]|[0-9])((\.)[0-9][0-9])?$/

Nummervalidatie met scheidingsteken duizendtallen

Spatie als scheidingsteken, geen minteken

/^(?!0)\d{1,3}(\ \d{3})*$/

Punt als scheidingsteken, minteken toegestaan

/^-?(?!0)\d{1,3}(\.\d{3})*$/

Zorgt voor een getal met 2 decimalen en accepteert getallen van 1.00 tot 999,999,999.00 met een optionele komma voor duizendtallen/miljoentallen met inbegrip van: 1.00, 1,000.00, 12,345.67, 12345,02, 123,456,468.00, 1234566.00, 123456789.00 maar niet 1,23.00, 12,3.4 of 1234,43.04

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

Op dezelfde manier: Een getal met 2 decimalen, maar met een "0" voor de komma ",".

/[0-9]{0,2}(?:,?[0-9]{3}){0,3}\.[0-9]{2}$/

Hetzelfde als hierboven, maar de twee decimale punten zijn optioneel:

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

Maand (1-12)

Als je een ingevulde maand wilt valideren:

/^[0]*[1-9]$|^[0]*1[0-2]$/

Minimum wijdte (voorbeeld: 3)

/^.{3,}$/


Valuta

VS valuta (dollar teken en centen optioneel)

/^\$?\d+(\.(\d{2}))?$/

Controle op gebruik komma:

/^\$?\d{1,3}(\d+(?!,))?(,\d{3})*(\.\d{2})?$/

Zwitserse prijs

Een getal met twee cijfers na de decimale punt met het laatste cijfer ongelijk 0 en 5:

/^(\d+)(\.\d(05)?)?$/


Valideren score

1-10

/^[1-9]{1}$|^10$/

1-100

/^[1-9]?[0-9]{1}$|^100$/


Tekst validatie

Meerdere korte vrije teksten ondersteunt nu geen minimum of maximum aantal antwoorden. Een alternatief is een lang vrije tekst te gebruiken met een regex.

De volgende test voor minstens 1 woord per regel voor minstens 3 regels en maximaal 10 regels.

/(?:[^,.;:?!& \n\r]+(?: [^,.;:?!& \n\r]+)*)(?:[,.;:?!& \n\r]?(?:\n|\r|\n\r|\r\n)(?:[^,.;:?!& \n\r]+(?: [^,.;:?!& \n\r]+)*)){2,10}/is

Als je 5 woorden per regel wilt, dan kun je de eerste en laatste asterisk(*) wijzigen in {4,} bijvoorbeeld:

/(?:[^,.;:?!& \n\r]+(?: [^,.;:?!& \n\r]+){4,})(?:[,.;:?!& \n\r]?(?:\n|\r|\n\r|\r\n)(?:[^,.;:?!& \n\r]+(?: [^,.;:?!& \n\r]+){4,})){2,10}/is

Als je een of meer woorden wilt per regel wilt tussen de 1 en 5 regels, dan kun je de inhoud van de laatste accolades wijzigen in 0,4 (je gebruikt 0 om de eerste regel al te vergelijken).

/(?:[^,.;:?!& \n\r]+(?: [^,.;:?!& \n\r]+)*)(?:[,.;:?!& \n\r]?(?:\n|\r|\n\r|\r\n)(?:[^,.;:?!& \n\r]+(?: [^,.;:?!& \n\r]+)*)){0,4}/is

Woordentellen

De volgende beperkt het aantal toegestane woorden tot minimaal 1 en maximaal 200
/^[-\w]+(?:\W+[-\w]+){0,199}\W*$/
Om het minimum te wijzigen, wijzig de 0 in {0,199}

Om het maximum te wijzigen, wijzig de 199 in {0,199}

Tijd validatie

Er zijn meerdere formaten voor de tijdsweergave. Je hebt de 12-uursweergave en de 24-uursweergave. Met of zonder seconden. Je kunt het vraagtype datum gebruiken (dat kan ook de tijd bepalen) of het vraagtype "korte vrije tekst" gebruiken, met een van de onderstaande reguliere expressies:

De volgende drie validatie-strings zijn voor de 24 uur tijdsaanduiding voor respectievelijk zonder seconden, optioneel seconden en verplicht met seconden.

<source lang="html">/^(?:[01][0-9]|2[0-3]):[0-5][0-9]$/
/^(?:[01][0-9]|2[0-3]):[0-5][0-9](?::[0-5][0-9])?$/
/^(?:[01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$/

De volgende drie matchen 12 uur tijd, als boven met seconden, seconden optioneel en seconden verplicht

/^(?">00:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9] (?:[ap]m|[AP]M)|12:[0-5][0-9] (?:pm|PM))$/
/^(?:00:[0-5][0-9](?::[0-5][0-9])? (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9](?::[0-5][0-9])? (?:[ap]m|[AP]M)|12:[0-5][0-9](?::[0-5][0-9])? (?:pm|PM))$/
/^(?:00:[0-5][0-9]:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9]:[0-5][0-9] (?:[ap]m|[AP]M)|12:[0-5][0-9]:[0-5][0-9] (?:pm|PM))$/

De volgende drie matchen 12 of 24-uurs tijdnotatie zoals hierboven met seconden, seconden optioneel en seconden verplicht

/^(?:(?:00:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9] (?:[ap]m|[AP]M)|12:[0-5][0-9] (?:pm|PM))|(?:[01][0-9]|2[0-3]):[0-5][0-9])$/
/^(?:(?:00:[0-5][0-9](?[0-5][0-9])? (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9](?[0-5][0-9])? (?:[ap]m|[AP]M)|12:[0-5][0-9](?[0-5][0-9])? (?:pm|PM))|(?:[01][0-9]|2[0-3]):[0-5][0-9](?[0-5][0-9])?)$/
/^(?:(?:00:[0-5][0-9]:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9]:[0-5][0-9] (?:[ap]m|[AP]M)|12:[0-5][0-9]:[0-5][0-9] (?:pm|PM))|(?:[01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9])$/

VS

Om een staat te valideren (voorbeeld is Texas):

  • TX alleen hoofdletters =
    /^(TX)$/
    
  • tx alleen kleine letters =
    /^(tx)$/
    
  • TX hoofdletters of kleine letters =
    /^([T|t][X|x])$/
    


Schuttingtaal filter

Om schuttingtaal in antwoorden te verwijderen:

/^(?i)((?!\bENTERPROFANITYHERE\b).)*$(?-i)/

Vervang "SCHUTTINGTAAL" door dit woord.

De \b zorgt ervoor dat woorden als "borstel" en "konterfeitsel" geaccepteerd worden als je "borst" en "kont" als schuttingtaal ziet. Dit werkt ook als je andere woorden, namen, enz. uit antwoorden wilt verwijderen.


Nuttige links

In het begin van deze beschrijving raden we je aan https://regex101.com/ te gebruiken om reguliere expressies te testen of te maken. Een alternatief is : https://www.regextester.com/