Actions

Using regular expressions/nl: Difference between revisions

From LimeSurvey Manual

No edit summary
(Updating to match new version of source page)
Line 6: Line 6:
Om je reguliere expressie te testen kun je dit gebruiken: [https://www.regex101.com/ regex tester].
Om je reguliere expressie te testen kun je dit gebruiken: [https://www.regex101.com/ regex tester].


<div class="mw-translate-fuzzy">
''Voeg hier goedwerkende reguliere expressies toe!''
''Voeg hier goedwerkende reguliere expressies toe!''
</div>


<div class="mw-translate-fuzzy">
Voorbeelden (elke voorbeeld is één regel):
Voorbeelden (elke voorbeeld is één regel):
</div>


=Belangrijk: Reguliere expressies in condities=
=Belangrijk: Reguliere expressies in condities=


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=


<div class="mw-translate-fuzzy">
<source lang="html">
<source lang="html">
/^(\w[-._+\w]*\w@\w[-._\w]*\w\.\w{2,3})$/
/^(\w[-._+\w]*\w@\w[-._\w]*\w\.\w{2,3})$/
</source>
</source>
</div>


=Postcode=
=Postcode=
Line 43: Line 53:


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].
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].
==French postcodes==
<source lang="html">/(^[0-8]\d\d{3}$)|(^9[0-5]\d{3}$)|(^97[1-6]\d{2}$)|(^98[46-8]\d{2}$)/</source>
<div class="mw-translate-fuzzy">
<source lang="html">/^(?:\([2-9]\d{2}\)\ ?|[2-9]\d{2}(?:\-?|\ ?))[2-9]\d{2}[- ]?\d{4}$/</source>
</div>


=Telefoonnummer=
=Telefoonnummer=


==VS telefoonnummer==
==VS telefoonnummer==


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


of
of
Line 92: Line 112:
<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 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>
</source>


Niet precies:
Niet precies:
Line 103: Line 122:


<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>
<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:
Line 134: Line 152:


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


Niet precies:
Niet precies:
Line 155: Line 172:


<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>
<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:
Line 179: Line 195:
  <source lang="html">/([2-9][0-9])/</source>
  <source lang="html">/([2-9][0-9])/</source>


=Age validation=
Example: Age 20-99
<source lang="html">/([2-9][0-9])/</source>


Voorbeeld: Leeftijd 18-35
Voorbeeld: Leeftijd 18-35
  <source lang="html">/(1[8-9]|2[0-9]|3[0-5])/</source>
  <source lang="html">/(1[8-9]|2[0-9]|3[0-5])/</source>


Voorbeeld: Leeftijd 19-65
Voorbeeld: Leeftijd 19-65
  <source lang="html">^(1[8-9]|[2-5][0-9]|6[0-5])$</source>
  <source lang="html">^(1[8-9]|[2-5][0-9]|6[0-5])$</source>
=Number validation=


=Validatie getal=
=Validatie getal=
Line 199: Line 224:
Accepteert getallen van 0 tot en met 199, met 2 decimalen optioneel:
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>
  <source lang="html">/^([1][0-9][0-9]|[1-9][0-9]|[0-9])((\.)[0-9][0-9])?$/</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
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
Line 207: Line 231:
  <source lang="html">/[0-9]{0,2}(?:,?[0-9]{3}){0,3}\.[0-9]{2}$/</source>
  <source lang="html">/[0-9]{0,2}(?:,?[0-9]{3}){0,3}\.[0-9]{2}$/</source>


<div class="mw-translate-fuzzy">
Hetzelfde als hierboven, maar de twee decimale punten zijn optioneel:
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>
<source lang="html">/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}(?:\.[0-9]{2})?$/ </source>
</div>


==Maand (1-12)==
==Maand (1-12)==
Line 215: Line 241:


  <source lang="html">/^[0]*[1-9]$|^[0]*1[0-2]$/</source>
  <source lang="html">/^[0]*[1-9]$|^[0]*1[0-2]$/</source>


=Minimum wijdte (voorbeeld: 3)=
=Minimum wijdte (voorbeeld: 3)=


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


=Valuta=
=Valuta=


==VS valuta (dollar teken en centen optioneel)==
==VS valuta (dollar teken en centen optioneel)==
Line 234: Line 264:


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


=Valideren score=
=Valideren score=


==1-10==
==1-10==
Line 244: Line 276:


  <source lang="html">/^[1-9]?[0-9]{1}$|^100$/</source>
  <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 255: Line 289:
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:


<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>
<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).
Line 272: Line 306:


=Tijd validatie=
=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:
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:
Line 282: Line 317:


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


De volgende drie matchen 12 uur tijd, als boven met seconden, seconden optioneel en seconden verplicht
De volgende drie matchen 12 uur tijd, als boven met seconden, seconden optioneel en seconden verplicht
Line 292: Line 325:


<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>
<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>


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


=VS=
=VS=


Om een staat te valideren (voorbeeld is Texas):
Om een staat te valideren (voorbeeld is Texas):
Line 309: Line 341:
*tx alleen kleine letters = <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>
*TX hoofdletters of kleine letters = <source lang="html">/^([T|t][X|x])$/</source>


=Schuttingtaal filter=
=Schuttingtaal filter=


Om schuttingtaal in antwoorden te verwijderen:
Om schuttingtaal in antwoorden te verwijderen:
Line 319: Line 353:


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.
=Helpful links=
In the beginning of this wiki section, we recommend you to use https://regex101.com/ to test/create regular expressions. You can also use https://www.regextester.com/ to create expressions in case you are unhappy about the first option.

Revision as of 15:45, 8 January 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.

Voeg hier goedwerkende reguliere expressies toe!

Voorbeelden (elke voorbeeld is éé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

/^(\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})?$/

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.

French postcodes

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


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}[\+|\-]?$/

Leeftijdscontrole

Voorbeeld: Leeftijd 20-99

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


Age validation

Example: Age 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])$


Number validation

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])?$/

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.


Helpful links

In the beginning of this wiki section, we recommend you to use https://regex101.com/ to test/create regular expressions. You can also use https://www.regextester.com/ to create expressions in case you are unhappy about the first option.