Actions

Using regular expressions/de: Difference between revisions

From LimeSurvey Manual

(Updating to match new version of source page)
No edit summary
 
(110 intermediate revisions by 2 users not shown)
Line 6: Line 6:
Um Ihre RegEx zu testen, können Sie [https://regex101.com/ diesen RegEx-Tester] verwenden.
Um Ihre RegEx zu testen, können Sie [https://regex101.com/ diesen RegEx-Tester] verwenden.


"Bitte fügen Sie erfolgreich getestet reguläre Ausdrücke dieser Seite hinzu!"
{{Hinweis|Um diesen Wiki-Bereich zu verbessern, bitten wir Sie, Ihre erfolgreich getesteten regulären Ausdrücke hinzuzufügen, um den neuen (potenziellen) Benutzern von LimeSurvey ein besseres Verständnis dieser Funktion zu vermitteln.}}
 
{{Alert|title=Achtung|text= Bitte beachten Sie, dass alle folgenden Beispiele in einer Zeile geschrieben sind!}}


Beispiele (beachten Sie, dass dies alles Einzeiler sind):


=Wichtig: Reguläre Ausdrücke in Bedingungen=
=Wichtig: Reguläre Ausdrücke in Bedingungen=


Beachten Sie, dass bei der Verwendung von regulären Ausdrücken im Bedingungseditor, der Anfangs-/Endschrägstrich NICHT benutzt werden darf.
Beachten Sie, dass bei der Verwendung von regulären Ausdrücken im Bedingungseditor, der Anfangs-/Endschrägstrich NICHT benutzt werden darf.


=E-Mail-Validierung=
=E-Mail-Validierung=


<source lang="html">
 
Update (12/2018): Da Domänennamen heutzutage nicht nur Sonderzeichen wie „ü“ enthalten können, sondern auch mehr als 3 Zeichen als Domänennamen wie .''tech'' oder .''company'' verwenden, prüft der folgende E-Mail-Regex nur, ob „@“ und „.“ existiert innerhalb der eingegebenen E-Mail-Adresse.
<source lang="html">
/^.+?@.+?\..+$/
</source>
 
Wenn Sie eine Adresse pro Zeile validieren möchten, gilt in einem mehrzeiligen Langtextfeld:
<source lang="html">
/^(((\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*(\r\n)?\n?)+)*)$/
</source>
 
Bei dieser veralteten Regex ist der Domainname auf 3 Zeichen beschränkt, was nicht alle verfügbaren Domains abdeckt:
<source lang="html">  
/^(\w[-._+\w]*\w@\w[-._\w]*\w\.\w{2,3})$/
/^(\w[-._+\w]*\w@\w[-._\w]*\w\.\w{2,3})$/
</source>
</source>
Line 34: Line 49:
  <source lang="html">/^[a-zA-Z]\d{1}[a-zA-Z](\-| |)\d{1}[a-zA-Z]\d{1}$/</source>
  <source lang="html">/^[a-zA-Z]\d{1}[a-zA-Z](\-| |)\d{1}[a-zA-Z]\d{1}$/</source>


==US Postleitzahlen==
==US-Postleitzahlen==


  <source lang="html">/^[0-9]{5}([- /]?[0-9]{4})?$/</source>
  <source lang="html">/^[0-9]{5}([- /]?[0-9]{4})?$/</source>
Damit die Postleitzahl mit Null beginnt, verwenden Sie:
<source lang="html">/^[0-9]{5}(?:-[0-9]{4})?$/</source>


==UK Postleitzahlen==
==UK Postleitzahlen==


  <source lang="html">/^[A-Z][A-Z]?[0-9][A-Z0-9]? ?[0-9][ABDEFGHJLNPQRSTUWXYZ]{2}$/i</source>
  <source lang="html">/^[AZ][AZ]?[0-9][A-Z0-9]? ?[0-9][ABDEFGHJLNPQRSTUWXYZ]{2}$/i</source>


Note that this is not very exact, and a more exact validation is much more complex.  For example, see [http://stackoverflow.com/questions/164979/uk-postcode-regex-comprehensive StackOverflow answer] and [http://en.wikipedia.org/wiki/Talk:Postcodes_in_the_United_Kingdom#Regular_Expressions Wikipedia] for more information.
Beachten Sie, dass dies nicht sehr genau ist und eine genauere Validierung viel komplexer ist. Weitere Informationen finden Sie beispielsweise unter [https://stackoverflow.com/questions/164979/uk-postcode-regex-comprehensive StackOverflow-Antwort] und [https://en.wikipedia.org/wiki/Talk:Postcodes_in_the_United_Kingdom#Regular_Expressions Wikipedia]. Information.


=Phone numbers=
==Französische Postleitzahlen==  


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


<source lang="html">/^(?:\([2-9]\d{2}\)\ ?|[2-9]\d{2}(?:\-?|\ ?))[2-9]\d{2}[- ]?\d{4}$/</source>
Der obige Ausdruck ist sehr präzise und prüft, ob das französische Departement existiert (erste zwei Ziffern), einschließlich überseeischer Departements und überseeischer Gebiete (DOM-TOM).


or


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


This second option will match all phone Canadian and US phone numbers that include non-digit symbols including


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


This will allow you to match phone numbers which resemble below.
<source lang="html">/^(?:\([2-9]\d{2}\)\ ?|[2-9]\d{2}(?:\-?|\ ?))[2-9]\d {2}[- ]?\d{4}$/</source>
 
oder
 
<source lang="html">/^[\(\)\.\- ]{0,}[0-9]{3}[\(\)\.\- ]{0,}[0-9]{3}[\(\ )\.\- ]{0,}[0-9]{4}[\(\)\.\- ]{0,}$/</source>
 
Mit dieser zweiten Option werden alle kanadischen und US-amerikanischen Telefonnummern abgeglichen, die nicht-stellige Symbole enthalten, einschließlich:
 
<source lang="html">. ( ) - (Raum)</source>
 
Dadurch können Sie Telefonnummern zuordnen, die wie folgt aussehen:
*(555)555 5555
*(555)555 5555
*555.555.5555
*555.555.5555
Line 66: Line 93:
*555555555
*555555555


==Australian phone numbers==
==Australische Telefonnummern==


The following patterns match all various Australian mobile and landline phone numbers including with "+61" country prefix eg:
Die folgenden Muster stimmen mit allen verschiedenen australischen Mobil- und Festnetznummern überein, auch mit der Ländervorwahl „+61“:
*(02) 9123 6535
*(02) 9123 6535
*03 1234-5345
*03 1234-5345
Line 74: Line 101:
*+61 2 3456 789
*+61 2 3456 789


But not:
Aber nicht:
* 234 3450 234
* 234 3450 234
*a234 534 3432
*a234 534 3432
Line 82: Line 109:
Klammern, Leerzeichen und Bindestriche werden ignoriert.
Klammern, Leerzeichen und Bindestriche werden ignoriert.


The 'Very precise:' versions listed here match against the first four or five digits in a number to ensure that they are valid Australian numbers.
Die hier aufgeführten „Sehr präzise:“-Versionen gleichen die ersten vier oder fünf Ziffern einer Zahl ab, um sicherzustellen, dass es sich um gültige australische Zahlen handelt.


The 'Not very precise:' only match against the first and second digit so may allow invaid numbers.
Die Angabe „Nicht sehr präzise:“ stimmt nur mit der ersten und zweiten Ziffer überein und lässt daher möglicherweise ungültige Zahlen zu.


===All Australian phone numbers (mobile and landline - area code required)===
===Alle australischen Telefonnummern (Mobil- und Festnetz – Vorwahl erforderlich)===


Very precise:
Sehr präzise:


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


 
Nicht sehr präzise:
Not very precise:


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


===All Australian phone numbers (landlines only - area code required)===
===Alle australischen Telefonnummern (nur Festnetz – Vorwahl erforderlich)===
 
Very precise:


<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>
Sehr präzise:


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


Not very precise:
Nicht sehr präzise:


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


===New South Wales landline phone numbers (area code optional)===
===Festnetznummern für New South Wales (Vorwahl optional)===


Very precise:
Sehr präzise:


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


Not very precise:
Nicht sehr präzise:


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


===Victorian and Tasmanian landline phone numbers (area code optional)===
===Viktorianische und tasmanische Festnetznummern (Vorwahl optional)===


Very precise:
Sehr präzise:


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


Not very precise:
Nicht sehr präzise:


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


===Queensland landline phone numbers (area code optional)===
===Festnetznummern in Queensland (Vorwahl optional)===
 
Very precise:


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


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


Not very precise:
Nicht sehr präzise:


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


===South Australia, Northern Territory, Western Australia landline phone numbers (area code optional)===
===Festnetznummern für Südaustralien, Northern Territory, Westaustralien (Vorwahl optional)===


Very precise:
Sehr präzise:


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


Not very precise:
Nicht sehr präzise:


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


===Australian mobile phone numbers only===
===Nur australische Mobiltelefonnummern===


Very precise:
Sehr präzise:


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


Nicht sehr präzise:


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


<source lang="html">/^(?:\(?(?:\+?61|0)4\)?(?:[ -]?[0-9]){7}[0-9]$/</source>
==Belgische Telefonnummer==
<source lang="html"> /^((\+|00)32\s?|0)(\d\s?\d{3}|\d{2}\s?\d{2})(\s?\d{2}){2}$/</source>
==Belgische Mobiltelefonnummer==
<source lang="html"> /^((\+|00)32\s?|0)4(60|[789]\d)(\s?\d{2}){3}$/</source>
==Französische Telefonnummer==
<source lang="html"> /^((\+|00)33\s?|0)[1-59](\s?\d{2}){4}$/</source>
==Französische Mobiltelefonnummer==
<source lang="html"> /^((\+|00)33\s?|0)[67](\s?\d{2}){4}$/</source>
==Luxemburger Telefonnummer==
<source lang="html"> /^((\+|00\s?)352)?(\s?\d{2}){3,4}$/</source>
==Luxemburger Mobiltelefonnummer==
<source lang="html"> /^((\+|00\s?)352)?\s?6[269]1(\s?\d{3}){2}$/</source>
=Deutsche Zeichen (mit optionalem Plus oder Minus)=
<source lang="html"> /^[1-6]{1}[\+|\-]?$/</source>
 
 
=Altersvalidierung=
 
 
Beispiel: Alter 20-99
<source lang="html"> /([2-9][0-9])/</source>


==Belgian phone number==
Beispiel: Alter 18-35
<source lang="html">/^((\+|00)32\s?|0)(\d\s?\d{3}|\d{2}\s?\d{2})(\s?\d{2}){2}$/</source>
<source lang="html"> /(1[8-9]|2[0-9]|3[0-5])/</source>
==Belgian mobile phone number==
<source lang="html">/^((\+|00)32\s?|0)4(60|[789]\d)(\s?\d{2}){3}$/</source>
==French phone number==
<source lang="html">/^((\+|00)33\s?|0)[1-5](\s?\d{2}){4}$/</source>
==French mobile phone number==
<source lang="html">/^((\+|00)33\s?|0)[679](\s?\d{2}){4}$/</source>
==Luxemburg phone number==
<source lang="html">/^((\+|00\s?)352)?(\s?\d{2}){3,4}$/</source>
==Luxemburg mobile phone number==
<source lang="html">/^((\+|00\s?)352)?\s?6[269]1(\s?\d{3}){2}$/</source>
=German marks (with optional plus or minus)=
<source lang="html">/^[1-6]{1}[\+|\-]?$/</source>
=Age validation=
Example: Age 20-99
<source lang="html">/([2-9][0-9])/</source>


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


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


=Zahlenvalidierung=


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


=Number validation=
==Zahlen von 1 bis 99999==
==Numbers from 1 to 99999==
<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>  
<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>
<source lang="html"> /^[1-9][0-9]{0,4}$/ macht das Gleiche wie oben, sollte aber etwas schneller laufen</source>  
<source lang="html">/^[1-9][0-9]{0,4}$/ does the same as above but should run a little faster</source>
==Zahlen von 1 bis 999, 1.000 bis 999.999 bis 999.999.999==
==Numbers from 1 to 999, 1.000 to 999.999 to 999.999.999==
<source lang="html"> /^[1-9][0-9]{0,2}(?:\.[0-9]{3}){0,2}$/</source>  
<source lang="html">/^[1-9][0-9]{0,2}(?:\.[0-9]{3}){0,2}$/</source>
Akzeptiert Zahlen von 1 bis 999, 1.000 bis 999.999 bis 999.999.999, aber
Accepts numbers from 1 to 999, 1.000 to 999.999 to 999.999.999 but
lehnt Zahlen wie 999.1.1, 94.22.22, 999.1.22, 999.11.1, 999.1.333 ab
rejects numbers like 999.1.1 , 94.22.22, 999.1.22, 999.11.1, 999.1.333


==Number validation with optional decimal (for price)==
==Zahlenvalidierung mit optionaler Dezimalzahl (für Preis)==
Accepts numbers from 0 to 199, with 2 decimal optional:
Akzeptiert Zahlen von 0 bis 199, mit 2 Dezimalstellen optional:
<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>


==Zahlenvalidierung mit Tausendertrennzeichen==
Leerzeichen als Trennzeichen, kein Minus
<source lang="html"> /^(?!0)\d{1,3}(\ \d{3})*$/</source>
Punkt als Trennzeichen, Minus erlaubt
<source lang="html"> /^-?(?!0)\d{1,3}(\.\d{3})*$/</source>


Forces two decimal points and accepts numbers from 1.00 to 999,999,999.00 with an optional comma delimiting thousands/millions
Es erzwingt zwei Dezimalstellen und akzeptiert Zahlen von 1,00 bis 999.999.999,00 mit einem optionalen Komma zur Trennung von Tausendern/Millionen 3456789.00
including all of the following: 1.00, 1,000.00, 12,345.67, 12345,02, 123,456,468.00, 1234566.00, 123456789.00
aber nicht 1,23,00, 12,3,4 oder 1234,43,04
but not 1,23.00, 12,3.4 or 1234,43.04
<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>
   
   
Similar to the above: Forces two decimal points but accepts a "0" before decimal separator ",".
Ähnlich wie oben: Erzwingt zwei Dezimalstellen, akzeptiert aber eine „0“ vor dem Dezimaltrennzeichen ",".
<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>


Same as above but the two decimal points are optional:
Wie oben, aber die beiden Dezimalstellen sind optional:
<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>


==Month (1-12)==
==Monat (1-12)==


If you want to ask for the month a person was born you can validate the input as follows:
Wenn Sie nach dem Geburtsmonat einer Person fragen möchten, können Sie die Eingabe wie folgt validieren:


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


=Minimum width (set to 3 in this example)=
=Mindestbreite (in diesem Beispiel auf 3 eingestellt)=
 


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


=Currency=


==US currency (dollar sign and cents optional)==
=Währung=
 
 
==US-Währung (Dollarzeichen und Cent optional)==


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


Check for comma usage:
Auf Kommaverwendung prüfen:
<source lang="html">/^\$?\d{1,3}(\d+(?!,))?(,\d{3})*(\.\d{2})?$/</source>
<source lang="html"> /^\$?\d{1,3}(\d+(?!,))?(,\d{3})*(\.\d{2})?$/</source>


==Swiss price==
==Schweizer Preis==


A number with two decimal numbers after the decimal point of which the last one is either a 5 or a 0:
Eine Zahl mit zwei Nachkommazahlen, deren letzte entweder eine 5 oder eine 0 ist:


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


=Validate score=
 
=Bewertung validieren=
 


==1-10==
==1-10==
Line 247: Line 284:
  <source lang="html">/^[1-9]?[0-9]{1}$|^100$/</source>
  <source lang="html">/^[1-9]?[0-9]{1}$|^100$/</source>


=Text validation=


currently multiple short text doesn't support minimum or maximum answers. One way around this is to use a long free text type question with a regular expression.
=Textvalidierung=


The following test for at least one word per line for at least 3 lines and no more than 10 lines.


<source lang="html">/(?:[^,.;:?!& \n\r]+(?: [^,.;:?!& \n\r]+)*)(?:[,.;:?!& \n\r]?(?:\n|\r|\n\r|\r\n)(?:[^,.;:?!& \n\r]+(?: [^,.;:?!& \n\r]+)*)){2,10}/is</source>
Der [[Fragetyp – Mehrfacher Kurztext|Fragetyp „Mehrfacher Kurztext“]] unterstützt derzeit keine Mindest- oder Höchstantworten. Eine Möglichkeit, dies zu umgehen, besteht darin, einen [[Fragetyp – Langer Freitext|langer Freitext-Fragetyp]] mit einem regulären Ausdruck zu verwenden.


If you wanted, say five words per line you could change the first and last star/asterisk to {4,} e.g.
Der folgende Ausdruck testet mindestens ein Wort pro Zeile für mindestens 3 Zeilen und nicht mehr als 10 Zeilen:


  <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]+)*)(?:[,.;:?! & \n\r]?(?:\n|\r|\n\r|\r\n)(?:[^,.;:?!& \n\r]+(?: [^, .;:?!& \n\r]+)*)){2,10}/is</source>


If you wanted one or more words per line on between 1 and 5 lines, you can change the content of the last curley braces to '''0,4''' (note you use 0 because you're already matching the first line).
Wenn Sie möchten, sagen Sie fünf Wörter pro Zeile, können Sie den ersten und letzten Stern/Sternchen in {4,} ändern:


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


==Word count==
Wenn Sie ein oder mehrere Wörter pro Zeile (zwischen Zeile 1 und Zeile 5) wünschen, können Sie den Inhalt in den letzten geschweiften Klammern in „0,4“ ändern (beachten Sie, dass Sie 0 verwenden, da Sie bereits mit der ersten Zeile übereinstimmen).


  The following restricts the number of words allowed to a minimum of 1 and a maximum of 200
  <source lang="html">/(?:[^,.;:?!& \n\r]+(?: [^,.;:?!& \n\r]+)*)(?:[,.;:?! & \n\r]?(?:\n|\r|\n\r|\r\n)(?:[^,.;:?!& \n\r]+(?: [^, .;:?!& \n\r]+)*)){0,4}/is</source>
 
==Wortanzahl==
 
Folgendes beschränkt die Anzahl der zulässigen Wörter auf mindestens 1 und höchstens 200:


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


  To increase the minimum change the zero part of {0,199}
  Um das Minimum zu erhöhen, ändern Sie den Nullteil von {0,199}.


To increase or decrease the maximum change the "199" part of {0,199}
Um den Höchstwert zu erhöhen oder zu verringern, ändern Sie den „199“-Teil von {0,199}.


=Time validation=
=Zeitvalidierung=


There are a number of ways of writing time formats. Some of the possible options are 12 hour or 24 hour, with seconds or without. Although it is an option to use the date question type (it can also capture time) you can use "short free text" with one of the validation regular expressions below:


The following three validation strings test for 24 hour time (in order of appearences) without seconds, with optional seconds lastly with seconds required.
Es gibt verschiedene Möglichkeiten, Zeitformate zu schreiben. Einige der möglichen Optionen sind 12 Stunden oder 24 Stunden, mit oder ohne Sekunde. Obwohl es eine Option ist, den [[Fragetyp – Datum|Datumsfragetyp]] zu verwenden (er kann auch die Zeit erfassen), können Sie den [[Fragetyp – Kurzer Freitext|Kurzfreier Textfragetyp]] mit einem der folgenden regulären Validierungsausdrücke verwenden.
 
Die folgenden drei Validierungszeichenfolgen testen eine 24-Stunden-Zeit (in der Reihenfolge ihres Auftretens) ohne Sekunden, mit optionalen Sekunden und schließlich mit erforderlichen Sekunden:


<source lang="html">/^(?:[01][0-9]|2[0-3]):[0-5][0-9]$/</source>
<source lang="html">/^(?:[01][0-9]|2[0-3]):[0-5][0-9]$/</source>
Line 285: Line 325:
<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>


Die folgenden drei entsprechen der 12-Stunden-Zeit, wie oben mit Sekunden, optionalen Sekunden und mit erforderlichen Sekunden:


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


The following three match 12 hour time, as above with seconds, optional seconds and with seconds required
<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] (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9] (?:[ap]m|[AP]M)|12:[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>


<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>
Die folgenden drei entsprechen entweder der 12- oder der 24-Stunden-Zeit wie oben, mit Sekunden, optionalen Sekunden und mit erforderlichen Sekunden:


<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] (?: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>


The following three match either 12 or 24 hour time as above with seconds, optional seconds and with seconds required
=US-Bundesstaaten=


<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>
Zur Validierung für einen Bundesstaat verwenden Sie Folgendes (Beispiel ist Texas):
*TX nur in Großbuchstaben:<source lang="html"> /^(TX)$/</source>
*tx nur in Kleinbuchstaben:<source lang="html"> /^(tx)$/</source>
*TX Groß- oder Kleinschreibung:<source lang="html"> /^([T|t][X|x])$/</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>


=US states=
=Profanitätsfilter=


To validate for one state use the following (example is Texas):
*TX uppercase only = <source lang="html">/^(TX)$/</source>
*tx lowercase only = <source lang="html">/^(tx)$/</source>
*TX upper or lowercase = <source lang="html">/^([T|t][X|x])$/</source>


=Profanity Filter=
So filtern Sie Schimpfwörter aus einer Antwort:


To filter profanity words from an answer:
<source lang="html">/^(?i)((?!\bENTERPROFANITYHERE\b).)*$(?-i)/</source>


<source lang="html">/^(?i)((?!\bENTERPROFANITYHERE\b).)*$(?-i)/</source>
Ersetzen Sie „ENTERPROFANITYHERE“ durch Ihr schlechtes Wort.
 
Das \b erlaubt die Übergabe von Wörtern wie „Assassination“ und „Hallo“, wenn Sie als Schimpfwort „Arsch“ oder „Hölle“ eingeben. Dies funktioniert auch, wenn Sie versuchen, andere Wörter, Namen usw. in den Antworten wegzulassen.
 
 
=Hilfreiche Links=


Replace "ENTERPROFANITYHERE" with your bad word.


The \b will allow passing of words such as "assassination" & "hello" if you enter "ass" or "hell" as your profanity word. This also works if you are trying to omit other words, names etc. from answers.
Am Anfang dieses Wiki-Abschnitts empfehlen wir Ihnen, https://regex101.com/ zu verwenden, um reguläre Ausdrücke zu testen/erstellen. Sie können auch https://www.regextester.com/ verwenden, um Ausdrücke zu erstellen, falls Sie mit der ersten Option unzufrieden sind. Sie können https://extendsclass.com/regex-tester.html verwenden, um reguläre Ausdrücke zu visualisieren.

Latest revision as of 08:47, 28 July 2023

Reguläre Ausdrücke müssen am Anfang und Ende mit einem Schrägstrich ("/") umschlossen sein. Sie finden eine gute Bibliothek mit regulären Ausdrücken auf http://www.regexlib.net/. Diese Ausdrücke werden fast alle funktionieren, wenn Sie diese mit dem Schrägstrich einschließen.

Um Ihre RegEx zu testen, können Sie diesen RegEx-Tester verwenden.

Template:Hinweis

  Achtung : Bitte beachten Sie, dass alle folgenden Beispiele in einer Zeile geschrieben sind!



Wichtig: Reguläre Ausdrücke in Bedingungen

Beachten Sie, dass bei der Verwendung von regulären Ausdrücken im Bedingungseditor, der Anfangs-/Endschrägstrich NICHT benutzt werden darf.


E-Mail-Validierung

Update (12/2018): Da Domänennamen heutzutage nicht nur Sonderzeichen wie „ü“ enthalten können, sondern auch mehr als 3 Zeichen als Domänennamen wie .tech oder .company verwenden, prüft der folgende E-Mail-Regex nur, ob „@“ und „.“ existiert innerhalb der eingegebenen E-Mail-Adresse.

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

Wenn Sie eine Adresse pro Zeile validieren möchten, gilt in einem mehrzeiligen Langtextfeld:

 
/^(((\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*(\r\n)?\n?)+)*)$/

Bei dieser veralteten Regex ist der Domainname auf 3 Zeichen beschränkt, was nicht alle verfügbaren Domains abdeckt:

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

Postleitzahlen

Australische Postleitzahlen:

/^[0-9]{4}/

Brasilianische Postleitzahlen

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

Kanadische Postleitzahlen

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

US-Postleitzahlen

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

Damit die Postleitzahl mit Null beginnt, verwenden Sie:

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

UK Postleitzahlen

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

Beachten Sie, dass dies nicht sehr genau ist und eine genauere Validierung viel komplexer ist. Weitere Informationen finden Sie beispielsweise unter StackOverflow-Antwort und Wikipedia. Information.

Französische Postleitzahlen

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

Der obige Ausdruck ist sehr präzise und prüft, ob das französische Departement existiert (erste zwei Ziffern), einschließlich überseeischer Departements und überseeischer Gebiete (DOM-TOM).


Telefonnummern

US-Telefonnummern

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

oder

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

Mit dieser zweiten Option werden alle kanadischen und US-amerikanischen Telefonnummern abgeglichen, die nicht-stellige Symbole enthalten, einschließlich:

. ( ) - (Raum)

Dadurch können Sie Telefonnummern zuordnen, die wie folgt aussehen:

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

Australische Telefonnummern

Die folgenden Muster stimmen mit allen verschiedenen australischen Mobil- und Festnetznummern überein, auch mit der Ländervorwahl „+61“:

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

Aber nicht:

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

Klammern, Leerzeichen und Bindestriche werden ignoriert.

Die hier aufgeführten „Sehr präzise:“-Versionen gleichen die ersten vier oder fünf Ziffern einer Zahl ab, um sicherzustellen, dass es sich um gültige australische Zahlen handelt.

Die Angabe „Nicht sehr präzise:“ stimmt nur mit der ersten und zweiten Ziffer überein und lässt daher möglicherweise ungültige Zahlen zu.

Alle australischen Telefonnummern (Mobil- und Festnetz – Vorwahl erforderlich)

Sehr präzise:

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

Nicht sehr präzise:

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

Alle australischen Telefonnummern (nur Festnetz – Vorwahl erforderlich)

Sehr präzise:

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

Nicht sehr präzise:

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

Festnetznummern für New South Wales (Vorwahl optional)

Sehr präzise:

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

Nicht sehr präzise:

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

Viktorianische und tasmanische Festnetznummern (Vorwahl optional)

Sehr präzise:

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

Nicht sehr präzise:

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

Festnetznummern in Queensland (Vorwahl optional)

Sehr präzise:

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

Nicht sehr präzise:

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

Festnetznummern für Südaustralien, Northern Territory, Westaustralien (Vorwahl optional)

Sehr präzise:

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

Nicht sehr präzise:

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

Nur australische Mobiltelefonnummern

Sehr präzise:

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

Nicht sehr präzise:

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

Belgische Telefonnummer

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

Belgische Mobiltelefonnummer

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

Französische Telefonnummer

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

Französische Mobiltelefonnummer

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

Luxemburger Telefonnummer

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

Luxemburger Mobiltelefonnummer

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

Deutsche Zeichen (mit optionalem Plus oder Minus)

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


Altersvalidierung

Beispiel: Alter 20-99

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

Beispiel: Alter 18-35

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

Beispiel: Alter 19-65

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


Zahlenvalidierung

Zahlen von 1 bis 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}$/ macht das Gleiche wie oben, sollte aber etwas schneller laufen

Zahlen von 1 bis 999, 1.000 bis 999.999 bis 999.999.999

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

Akzeptiert Zahlen von 1 bis 999, 1.000 bis 999.999 bis 999.999.999, aber lehnt Zahlen wie 999.1.1, 94.22.22, 999.1.22, 999.11.1, 999.1.333 ab

Zahlenvalidierung mit optionaler Dezimalzahl (für Preis)

Akzeptiert Zahlen von 0 bis 199, mit 2 Dezimalstellen optional:

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

Zahlenvalidierung mit Tausendertrennzeichen

Leerzeichen als Trennzeichen, kein Minus

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

Punkt als Trennzeichen, Minus erlaubt

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

Es erzwingt zwei Dezimalstellen und akzeptiert Zahlen von 1,00 bis 999.999.999,00 mit einem optionalen Komma zur Trennung von Tausendern/Millionen 3456789.00 aber nicht 1,23,00, 12,3,4 oder 1234,43,04

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

Ähnlich wie oben: Erzwingt zwei Dezimalstellen, akzeptiert aber eine „0“ vor dem Dezimaltrennzeichen ",".

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

Wie oben, aber die beiden Dezimalstellen sind optional:

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

Monat (1-12)

Wenn Sie nach dem Geburtsmonat einer Person fragen möchten, können Sie die Eingabe wie folgt validieren:

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

Mindestbreite (in diesem Beispiel auf 3 eingestellt)

/^.{3,}$/


Währung

US-Währung (Dollarzeichen und Cent optional)

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

Auf Kommaverwendung prüfen:

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

Schweizer Preis

Eine Zahl mit zwei Nachkommazahlen, deren letzte entweder eine 5 oder eine 0 ist:

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


Bewertung validieren

1-10

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

1-100

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


Textvalidierung

Der Fragetyp „Mehrfacher Kurztext“ unterstützt derzeit keine Mindest- oder Höchstantworten. Eine Möglichkeit, dies zu umgehen, besteht darin, einen langer Freitext-Fragetyp mit einem regulären Ausdruck zu verwenden.

Der folgende Ausdruck testet mindestens ein Wort pro Zeile für mindestens 3 Zeilen und nicht mehr als 10 Zeilen:

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

Wenn Sie möchten, sagen Sie fünf Wörter pro Zeile, können Sie den ersten und letzten Stern/Sternchen in {4,} ändern:

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

Wenn Sie ein oder mehrere Wörter pro Zeile (zwischen Zeile 1 und Zeile 5) wünschen, können Sie den Inhalt in den letzten geschweiften Klammern in „0,4“ ändern (beachten Sie, dass Sie 0 verwenden, da Sie bereits mit der ersten Zeile übereinstimmen).

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

Wortanzahl

Folgendes beschränkt die Anzahl der zulässigen Wörter auf mindestens 1 und höchstens 200:
/^[-\w]+(?:\W+[-\w]+){0,199}\W*$/
Um das Minimum zu erhöhen, ändern Sie den Nullteil von {0,199}.

Um den Höchstwert zu erhöhen oder zu verringern, ändern Sie den „199“-Teil von {0,199}.

Zeitvalidierung

Es gibt verschiedene Möglichkeiten, Zeitformate zu schreiben. Einige der möglichen Optionen sind 12 Stunden oder 24 Stunden, mit oder ohne Sekunde. Obwohl es eine Option ist, den Datumsfragetyp zu verwenden (er kann auch die Zeit erfassen), können Sie den Kurzfreier Textfragetyp mit einem der folgenden regulären Validierungsausdrücke verwenden.

Die folgenden drei Validierungszeichenfolgen testen eine 24-Stunden-Zeit (in der Reihenfolge ihres Auftretens) ohne Sekunden, mit optionalen Sekunden und schließlich mit erforderlichen Sekunden:

/^(?:[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]$/

Die folgenden drei entsprechen der 12-Stunden-Zeit, wie oben mit Sekunden, optionalen Sekunden und mit erforderlichen Sekunden:

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

Die folgenden drei entsprechen entweder der 12- oder der 24-Stunden-Zeit wie oben, mit Sekunden, optionalen Sekunden und mit erforderlichen Sekunden:

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

US-Bundesstaaten

Zur Validierung für einen Bundesstaat verwenden Sie Folgendes (Beispiel ist Texas):

  • TX nur in Großbuchstaben:
     /^(TX)$/
    
  • tx nur in Kleinbuchstaben:
     /^(tx)$/
    
  • TX Groß- oder Kleinschreibung:
     /^([T|t][X|x])$/
    


Profanitätsfilter

So filtern Sie Schimpfwörter aus einer Antwort:

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

Ersetzen Sie „ENTERPROFANITYHERE“ durch Ihr schlechtes Wort.

Das \b erlaubt die Übergabe von Wörtern wie „Assassination“ und „Hallo“, wenn Sie als Schimpfwort „Arsch“ oder „Hölle“ eingeben. Dies funktioniert auch, wenn Sie versuchen, andere Wörter, Namen usw. in den Antworten wegzulassen.


Hilfreiche Links

Am Anfang dieses Wiki-Abschnitts empfehlen wir Ihnen, https://regex101.com/ zu verwenden, um reguläre Ausdrücke zu testen/erstellen. Sie können auch https://www.regextester.com/ verwenden, um Ausdrücke zu erstellen, falls Sie mit der ersten Option unzufrieden sind. Sie können https://extendsclass.com/regex-tester.html verwenden, um reguläre Ausdrücke zu visualisieren.