<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.limesurvey.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Cyr1lle</id>
	<title>LimeSurvey Manual - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.limesurvey.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Cyr1lle"/>
	<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/Special:Contributions/Cyr1lle"/>
	<updated>2026-08-17T15:29:16Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=Using_regular_expressions&amp;diff=175004</id>
		<title>Using regular expressions</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=Using_regular_expressions&amp;diff=175004"/>
		<updated>2022-11-26T13:15:54Z</updated>

		<summary type="html">&lt;p&gt;Cyr1lle: added a resource in order to visualize regex&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt; &amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:1--&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
Regular Expressions must start and finish with a forward slash (&amp;quot;/&amp;quot;). You can find a good library of regular expressions at http://www.regexlib.net/. These patterns will almost always work if they are surrounded by forward slashes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:3--&amp;gt;&lt;br /&gt;
To test your regex you can [https://regex101.com/ use this regex tester].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:4--&amp;gt;&lt;br /&gt;
{{Note|To improve this wiki section, we kindly ask you to add your successfully tested regular expression(s) to provide a better understanding of this feature to the new LimeSurvey (potential) users.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
{{Alert|title=Attention|text= Please note that all the below examples are written on one line!}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Important: Regular Expressions in conditions= &amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:7--&amp;gt;&lt;br /&gt;
Note that when using regular expressions in the condition editor, do NOT include the beginning and ending slash.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Email validation= &amp;lt;!--T:8--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:123--&amp;gt;&lt;br /&gt;
Update (12/2018): Since these days domain names cannot only hold special characters like “ü” but also use more than 3 characters as domain name like .&#039;&#039;tech&#039;&#039; or .&#039;&#039;company&#039;&#039;, the below email regex only checks if “@” and “.” exists within the entered email address.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
/^.+?@.+?\..+$/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:144--&amp;gt;&lt;br /&gt;
If you want to validate one address per line, in a multiline long text field:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
/^(((\w+([-+.&#039;]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*(\r\n)?\n?)+)*)$/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:145--&amp;gt;&lt;br /&gt;
At this outdated regex the domain name is limited to 3 characters which doesn&#039;t cover all available domains:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
/^(\w[-._+\w]*\w@\w[-._\w]*\w\.\w{2,3})$/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Postcodes= &amp;lt;!--T:13--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Australian postcodes:== &amp;lt;!--T:14--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;!--T:15--&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[0-9]{4}/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Brazilian postcodes== &amp;lt;!--T:16--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;!--T:17--&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[0-9]{2}\.[0-9]{3}-[0-9]{3}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Canadian postcodes== &amp;lt;!--T:18--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;!--T:19--&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[a-zA-Z]\d{1}[a-zA-Z](\-| |)\d{1}[a-zA-Z]\d{1}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==US postal codes== &amp;lt;!--T:20--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;!--T:21--&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[0-9]{5}([- /]?[0-9]{4})?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:141--&amp;gt;&lt;br /&gt;
For the postal code to start with zero, use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:142--&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[0-9]{5}(?:-[0-9]{4})?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==UK postcodes== &amp;lt;!--T:22--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;!--T:23--&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[A-Z][A-Z]?[0-9][A-Z0-9]? ?[0-9][ABDEFGHJLNPQRSTUWXYZ]{2}$/i&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:24--&amp;gt;&lt;br /&gt;
Note that this is not very exact, and a more exact validation is much more complex. For example, see [https://stackoverflow.com/questions/164979/uk-postcode-regex-comprehensive StackOverflow answer] and [https://en.wikipedia.org/wiki/Talk:Postcodes_in_the_United_Kingdom#Regular_Expressions Wikipedia] for more information.&lt;br /&gt;
&lt;br /&gt;
==French postcodes== &amp;lt;!--T:133--&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:134--&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/(^[0-8]\d\d{3}$)|(^9[0-5]\d{3}$)|(^97[1-6]\d{2}$)|(^98[46-8]\d{2}$)/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:27--&amp;gt;&lt;br /&gt;
The above expression is very precise and it will check whether or not the French Department exists (first two digits), including overseas Departments and overseas Territories (DOM-TOM).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Phone numbers= &amp;lt;!--T:25--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==US phone numbers== &amp;lt;!--T:26--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:135--&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\([2-9]\d{2}\)\ ?|[2-9]\d{2}(?:\-?|\ ?))[2-9]\d{2}[- ]?\d{4}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:28--&amp;gt;&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;!--T:29--&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[\(\)\.\- ]{0,}[0-9]{3}[\(\)\.\- ]{0,}[0-9]{3}[\(\)\.\- ]{0,}[0-9]{4}[\(\)\.\- ]{0,}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:30--&amp;gt;&lt;br /&gt;
This second option will match all phone Canadian and US phone numbers that include non-digit symbols including:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;!--T:31--&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt; . ( ) - (space)&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:32--&amp;gt;&lt;br /&gt;
This will allow you to match phone numbers which resemble below:&lt;br /&gt;
*(555)555 5555&lt;br /&gt;
*555.555.5555&lt;br /&gt;
*555 555 5555&lt;br /&gt;
*(555)-555-5555&lt;br /&gt;
*555-555-5555&lt;br /&gt;
*555555555&lt;br /&gt;
&lt;br /&gt;
==Australian phone numbers== &amp;lt;!--T:33--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:34--&amp;gt;&lt;br /&gt;
The following patterns match all various Australian mobile and landline phone numbers including with &amp;quot;+61&amp;quot; country prefix:&lt;br /&gt;
*(02) 9123 6535&lt;br /&gt;
*03 1234-5345&lt;br /&gt;
*0412 345 678&lt;br /&gt;
*+61 2 3456 789&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:35--&amp;gt;&lt;br /&gt;
But not:&lt;br /&gt;
* 234 3450 234&lt;br /&gt;
*a234 534 3432&lt;br /&gt;
*134567&lt;br /&gt;
*123456789013&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:36--&amp;gt;&lt;br /&gt;
Brackets, white space and hypens are ignored.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:37--&amp;gt;&lt;br /&gt;
The &#039;Very precise:&#039; versions listed here match against the first four or five digits in a number to ensure that they are valid Australian numbers.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:38--&amp;gt;&lt;br /&gt;
The &#039;Not very precise:&#039; only match against the first and second digit so may allow invaid numbers.&lt;br /&gt;
&lt;br /&gt;
===All Australian phone numbers (mobile and landline - area code required)=== &amp;lt;!--T:39--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:40--&amp;gt;&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:41--&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^\(?(?:\+?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})$/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:42--&amp;gt;&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:43--&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\+?61|0)[2-478](?:[ -]?[0-9]){8}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===All Australian phone numbers (landlines only - area code required)=== &amp;lt;!--T:44--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:45--&amp;gt;&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:46--&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^\(?(?:\+?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}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:47--&amp;gt;&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:48--&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\+?61|\(?0)[2378]\)?(?:[ -]?[0-9]){8}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===New South Wales landline phone numbers (area code optional)=== &amp;lt;!--T:49--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:50--&amp;gt;&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:51--&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)2\)?[ -]?)?(?:3[ -]?[38]|[46-9][ -]?[0-9]|5[ -]?[0-35-9])(?:[ -]?[0-9]){6}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:52--&amp;gt;&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:53--&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)2\)?(?:[ -]?[0-9]){7}[0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Victorian and Tasmanian landline phone numbers (area code optional)=== &amp;lt;!--T:54--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:55--&amp;gt;&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:56--&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)3\)?[ -]?)?(?:4[ -]?[0-57-9]|[57-9][ -]?[0-9]|6[ -]?[1-67])(?:[ -]?[0-9]){6}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:57--&amp;gt;&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:58--&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)3\)?(?:[ -]?[0-9]){7}[0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Queensland landline phone numbers (area code optional)=== &amp;lt;!--T:59--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:60--&amp;gt;&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:61--&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)7\)?[ -]?)?(?:[2-4][ -]?[0-9]|5[ -]?[2-7]|7[ -]?6)(?:[ -]?[0-9]){6}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:62--&amp;gt;&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:63--&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)7\)?(?:[ -]?[0-9]){7}[0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===South Australia, Northern Territory, Western Australia landline phone numbers (area code optional)=== &amp;lt;!--T:64--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:65--&amp;gt;&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:66--&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)8\)?[ -]?)?(?:5[1-4]|6[0-8]|[7-9][0-9])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:67--&amp;gt;&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:68--&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)8\)?(?:[ -]?[0-9]){7}[0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Australian mobile phone numbers only=== &amp;lt;!--T:69--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:70--&amp;gt;&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:71--&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\+?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}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:72--&amp;gt;&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:73--&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)4\)?(?:[ -]?[0-9]){7}[0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Belgian phone number== &amp;lt;!--T:74--&amp;gt;&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00)32\s?|0)(\d\s?\d{3}|\d{2}\s?\d{2})(\s?\d{2}){2}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
==Belgian mobile phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00)32\s?|0)4(60|[789]\d)(\s?\d{2}){3}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
==French phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00)33\s?|0)[1-59](\s?\d{2}){4}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
==French mobile phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00)33\s?|0)[67](\s?\d{2}){4}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
==Luxemburg phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00\s?)352)?(\s?\d{2}){3,4}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
==Luxemburg mobile phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00\s?)352)?\s?6[269]1(\s?\d{3}){2}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
=German marks (with optional plus or minus)=&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-6]{1}[\+|\-]?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Age validation= &amp;lt;!--T:136--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:137--&amp;gt;&lt;br /&gt;
Example: Age 20-99&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/([2-9][0-9])/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:124--&amp;gt;&lt;br /&gt;
Example: Age 18-35&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/(1[8-9]|2[0-9]|3[0-5])/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:125--&amp;gt;&lt;br /&gt;
Example: Age 19-65&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(1[8-9]|[2-5][0-9]|6[0-5])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Number validation= &amp;lt;!--T:138--&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Numbers from 1 to 99999== &amp;lt;!--T:126--&amp;gt;&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^([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])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9][0-9]{0,4}$/ does the same as above but should run a little faster&amp;lt;/source&amp;gt;&lt;br /&gt;
==Numbers from 1 to 999, 1.000 to 999.999 to 999.999.999==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9][0-9]{0,2}(?:\.[0-9]{3}){0,2}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
Accepts numbers from 1 to 999, 1.000 to 999.999 to 999.999.999 but&lt;br /&gt;
rejects numbers like 999.1.1 , 94.22.22, 999.1.22, 999.11.1, 999.1.333&lt;br /&gt;
&lt;br /&gt;
==Number validation with optional decimal (for price)== &amp;lt;!--T:127--&amp;gt;&lt;br /&gt;
Accepts numbers from 0 to 199, with 2 decimal optional:&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^([1][0-9][0-9]|[1-9][0-9]|[0-9])((\.)[0-9][0-9])?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Number validation with thousand separator== &amp;lt;!--T:143--&amp;gt;&lt;br /&gt;
Space as separator, no minus&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?!0)\d{1,3}(\ \d{3})*$/&amp;lt;/source&amp;gt;&lt;br /&gt;
Dot as separator, minus allowed&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^-?(?!0)\d{1,3}(\.\d{3})*$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:128--&amp;gt;&lt;br /&gt;
It forces two decimal points and accepts numbers from 1.00 to 999,999,999.00 with an optional comma delimiting thousands/millions&lt;br /&gt;
including all of the following: 1.00, 1,000.00, 12,345.67, 12345,02, 123,456,468.00, 1234566.00, 123456789.00&lt;br /&gt;
but not 1,23.00, 12,3.4 or 1234,43.04&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}\.[0-9]{2}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Similar to the above: Forces two decimal points but accepts a &amp;quot;0&amp;quot; before decimal separator &amp;quot;,&amp;quot;.&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/[0-9]{0,2}(?:,?[0-9]{3}){0,3}\.[0-9]{2}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:129--&amp;gt;&lt;br /&gt;
Same as above, but the two decimal points are optional:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}(?:\.[0-9]{2})?$/ &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Month (1-12)== &amp;lt;!--T:75--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:76--&amp;gt;&lt;br /&gt;
If you want to ask for the month a person was born you can validate the input as follows:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;!--T:77--&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[0]*[1-9]$|^[0]*1[0-2]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Minimum width (set to 3 in this example)= &amp;lt;!--T:78--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;!--T:79--&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^.{3,}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Currency= &amp;lt;!--T:80--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==US currency (dollar sign and cents optional)== &amp;lt;!--T:81--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;!--T:82--&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^\$?\d+(\.(\d{2}))?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:132--&amp;gt;&lt;br /&gt;
Check for comma usage:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^\$?\d{1,3}(\d+(?!,))?(,\d{3})*(\.\d{2})?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Swiss price== &amp;lt;!--T:83--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:84--&amp;gt;&lt;br /&gt;
A number with two decimal numbers after the decimal point of which the last one is either a 5 or a 0:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;!--T:85--&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(\d+)(\.\d(05)?)?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Validate score= &amp;lt;!--T:86--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==1-10== &amp;lt;!--T:87--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;!--T:88--&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9]{1}$|^10$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==1-100== &amp;lt;!--T:89--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;!--T:90--&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9]?[0-9]{1}$|^100$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Text validation= &amp;lt;!--T:91--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:92--&amp;gt;&lt;br /&gt;
The [[Question type - Multiple short text|multiple short text question type]] doesn&#039;t support minimum or maximum answers at the moment. One way around this is to use a [[Question type - Long free text|long free text question type]] with a regular expression.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:93--&amp;gt;&lt;br /&gt;
The below expression tests for at least one word per line for at least 3 lines and no more than 10 lines:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;!--T:94--&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+)*)){2,10}/is&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:95--&amp;gt;&lt;br /&gt;
If you want, say five words per line, you could change the first and last star/asterisk to {4,}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:96--&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+){4,})(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+){4,})){2,10}/is&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:97--&amp;gt;&lt;br /&gt;
If you wanted one or more words per line (between line 1 and line 5), you can change the content located within the last curly braces to &#039;&#039;&#039;0,4&#039;&#039;&#039; (note you use 0 because you&#039;re already matching the first line).&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;!--T:98--&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+)*)){0,4}/is&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Word count== &amp;lt;!--T:99--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;!--T:100--&amp;gt;&lt;br /&gt;
The following restricts the number of words allowed to a minimum of 1 and a maximum of 200:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:101--&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[-\w]+(?:\W+[-\w]+){0,199}\W*$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;!--T:102--&amp;gt;&lt;br /&gt;
To increase the minimum change the zero part of {0,199}.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:103--&amp;gt;&lt;br /&gt;
To increase or decrease the maximum change the &amp;quot;199&amp;quot; part of {0,199}.&lt;br /&gt;
&lt;br /&gt;
=Time validation= &amp;lt;!--T:104--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:105--&amp;gt;&lt;br /&gt;
There are a number of ways to write 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 [[Question type - Date|date question type]] (it can also capture time) you can use the [[Question type - Short free text|short free text question type]] with one of the below validation regular expressions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:106--&amp;gt;&lt;br /&gt;
The following three validation strings test for 24 hour time (in order of appearances) without seconds, with optional seconds lastly with seconds required:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:107--&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:108--&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9](?::[0-5][0-9])?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:109--&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:130--&amp;gt;&lt;br /&gt;
The following three match 12 hour time, as above with seconds, optional seconds and with seconds required:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:110--&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?&amp;quot;&amp;gt;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))$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:111--&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?: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))$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:112--&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?: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))$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:131--&amp;gt;&lt;br /&gt;
The following three match either 12 or 24 hour time as above with seconds, optional seconds and with seconds required:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:113--&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:(?: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])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:114--&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:(?: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])?)$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:115--&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:(?: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])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=US states= &amp;lt;!--T:116--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:117--&amp;gt;&lt;br /&gt;
To validate for one state use the following (example is Texas):&lt;br /&gt;
*TX uppercase only: &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(TX)$/&amp;lt;/source&amp;gt;&lt;br /&gt;
*tx lowercase only: &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(tx)$/&amp;lt;/source&amp;gt;&lt;br /&gt;
*TX upper or lowercase: &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^([T|t][X|x])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Profanity Filter= &amp;lt;!--T:118--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:119--&amp;gt;&lt;br /&gt;
To filter profanity words from an answer:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;!--T:120--&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?i)((?!\bENTERPROFANITYHERE\b).)*$(?-i)/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:121--&amp;gt;&lt;br /&gt;
Replace &amp;quot;ENTERPROFANITYHERE&amp;quot; with your bad word.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:122--&amp;gt;&lt;br /&gt;
The \b will allow passing of words such as &amp;quot;assassination&amp;quot; and &amp;quot;hello&amp;quot; if you enter &amp;quot;ass&amp;quot; or &amp;quot;hell&amp;quot; as your profanity word. This also works if you are trying to omit other words, names etc. from answers.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Helpful links= &amp;lt;!--T:139--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:140--&amp;gt;&lt;br /&gt;
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. You can use https://extendsclass.com/regex-tester.html to visualize regular expressions.&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cyr1lle</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=Using_regular_expressions/fr&amp;diff=143419</id>
		<title>Using regular expressions/fr</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=Using_regular_expressions/fr&amp;diff=143419"/>
		<updated>2019-06-16T12:15:55Z</updated>

		<summary type="html">&lt;p&gt;Cyr1lle: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt; &lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-translate-fuzzy&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;La traduction de cette page n&#039;est pas terminée.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=#Validation=&lt;br /&gt;
&lt;br /&gt;
Lorsque vous définissez les attributs d&#039;une question, vous devez indiquer son code, le texte de la question, le type de question,&lt;br /&gt;
&lt;br /&gt;
le nombre minimum et/ou maximum de caractères, etc.&lt;br /&gt;
&lt;br /&gt;
Cependant, il n&#039;est pas possible définir tous les attributs de contrôle pouvant satisfaire les besoins des utilisateurs de LimeSurvey.&lt;br /&gt;
&lt;br /&gt;
La zone de saisie &#039;&#039;Validation&#039;&#039; de l&#039;écran d&#039;édition d&#039;une question joue ce rôle et permet d&#039;ajouter des contrôles supplémentaires sur la réponse.&lt;br /&gt;
&lt;br /&gt;
Ces contrôles se font gr&amp;amp;acirc;ce à des expressions régulières que l&#039;on place dans la zone de saisie &#039;&#039;Validation&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:LimeSurvey-2011-06-01-19-18.png]]&lt;br /&gt;
&lt;br /&gt;
Dans la situation présentée ci-dessus, la réponse sera considérée comme valide si d&#039;une part elle est composée uniquement de lettres&lt;br /&gt;
&lt;br /&gt;
en majuscule et d&#039;autre part si le nombre de lettres est compris entre 1 et 10.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Attention&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour le contenu de la zone de saisie &#039;&#039;Validation&#039;&#039; soit évalué, il faut obligatoirement que l&#039;utilisateur est saisi un caractère.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=#Bref rappel=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Avertissements&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L&#039;objet de cette section n&#039;est pas d&#039;expliquer comment constituer des expressions régulières&lt;br /&gt;
&lt;br /&gt;
ou bien d&#039;expliquer leurs fonctionnements.&lt;br /&gt;
&lt;br /&gt;
De très bons livres le font comme Maîtrise des expressions régulières de Jeffrey E. F. Friedl.&lt;br /&gt;
&lt;br /&gt;
Il y a également des sites qui traitent de ces sujets comme  http://www.regxlib.net/ (en anglais)&lt;br /&gt;
&lt;br /&gt;
ou bien http://perl.enstimac.fr/DocFr/perlrequick.html (en français).&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L&#039;expression régulière est un moyen puissant,flexible et efficace d&#039;appliquer un traitement sur du texte.&lt;br /&gt;
&lt;br /&gt;
Gr&amp;amp;acirc;ce à une notation générale (motif, pattern), c&#039;est une sorte de mini-langage de programmation qui permet de décrire&lt;br /&gt;
&lt;br /&gt;
et d&#039;analyser le texte. Plusieurs notations existent.&lt;br /&gt;
&lt;br /&gt;
Celle utilisée dans LimeSurvey est du type PERL et doivent commencer et se terminer par le caractère slash (&amp;quot;/&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Métacaractère||   Signification||&lt;br /&gt;
|-&lt;br /&gt;
|   .||   n&#039;importe quel caractère sauf \n||&lt;br /&gt;
|-&lt;br /&gt;
|   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;  ]|| tous les caractères énumérés  ||   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;abc]&lt;br /&gt;
|-&lt;br /&gt;
|   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~  ]|| tous les caractères sauf ceux qui sont énumérés  ||   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~abc]&lt;br /&gt;
|-&lt;br /&gt;
|   ~124~ || tous les caractères sauf ceux qui sont énumérés  ||   mot1~124~mot2~124~mot3&lt;br /&gt;
|-&lt;br /&gt;
|   - || intervalle  ||   a-z&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Quantificateur||   Signification   || Exemple&lt;br /&gt;
|-&lt;br /&gt;
|   * ||   zéro ou plus  || A* = zéro ou plus de lettre A&lt;br /&gt;
|-&lt;br /&gt;
|   + || 1 ou plus       || A+ = une lettre A ou plus&lt;br /&gt;
|-&lt;br /&gt;
|   ? || 0 ou 1          || A? = pas de lettre A ou une seule lettre A&lt;br /&gt;
|-&lt;br /&gt;
| {n} || n fois exactement || A{3} = trois lettres A&lt;br /&gt;
|-&lt;br /&gt;
|{min,} || minimum min fois et plus || A{3,} trois lettres A ou plus&lt;br /&gt;
|-&lt;br /&gt;
|{min,max}|| minimum min et maximum max  fois || A{3,7} trois lettres A au minimum et au maximum 7 lettres A&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Caractères||   Signification || Équivalence&lt;br /&gt;
|-&lt;br /&gt;
| \n || nouvelle ligne||&lt;br /&gt;
|-&lt;br /&gt;
| \r || retour à la ligne||&lt;br /&gt;
|-&lt;br /&gt;
| \t || tabulation||&lt;br /&gt;
|-&lt;br /&gt;
| \v || tabulation vertical||&lt;br /&gt;
|-&lt;br /&gt;
| \f || nouvelle page||&lt;br /&gt;
|-&lt;br /&gt;
|   \s ||   caractères d&#039;espacement|| &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;\n\r\t\f]&lt;br /&gt;
|-&lt;br /&gt;
|   \S || tous les caractères sauf les caractères d&#039;espacement|| &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~\n\r\t\f]&lt;br /&gt;
|-&lt;br /&gt;
|   \d || les chiffres||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;0-9]&lt;br /&gt;
|-&lt;br /&gt;
| \D || tous les caractères sauf les chiffres||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~0-9]&lt;br /&gt;
|-&lt;br /&gt;
| \w || caractère constituant un mot||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;0-9a-zA-Z_]&lt;br /&gt;
|-&lt;br /&gt;
| \W || tous les caractères ne constituant pas un mot||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~\w]&lt;br /&gt;
|-&lt;br /&gt;
| \xhh || caractère en hexadécimal(hh) ex: \x41 = A||&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Modificateur||   Signification&lt;br /&gt;
|-&lt;br /&gt;
| i || ignore la casse&lt;br /&gt;
|-&lt;br /&gt;
| x || le point reconnait aussi \n&lt;br /&gt;
|-&lt;br /&gt;
| m || mode multi lignes&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Les modificateurs se mettent après le dernier slash ex : /&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;a-z]/i est équivalent à /&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;a-zA-Z]/&lt;br /&gt;
&lt;br /&gt;
Vous pouvez tester vos expressions régulières sur http://www.spaweditor.com/scripts/regex/index.php&lt;br /&gt;
&lt;br /&gt;
=#Quelques exemples=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&#039;&#039;Vous pouvez ajouter des expressions régulières mais testées auparavant!&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemples (notez qu&#039;elles sont toutes sur une seule ligne):&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un code postal français==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^0[1-9]|[1-8][0-9]|9[0-8]|2A|2B[0-9]{3}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression teste seulement de le format du code postal mais pas de sa validité.&lt;br /&gt;
&lt;br /&gt;
==Validation du numéro de département français==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^0[1-9]|[1-8][0-9]|9[0-8]|2A|2B$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression teste seulement de le format du numéro du département mais pas de sa validité.&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un nombre==&lt;br /&gt;
&lt;br /&gt;
===Validation d&#039;un nombre entier===&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle défini (age, etc.) de 20 à 99====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/([2-9][0-9])/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle défini (age, etc.) de 18 à 35====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(1[8-9]|2[0-9]|3[0-5])/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle défini (age, etc.) de 19 à 65====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;(1[8-9]|[2-5][0-9]|6[0-5])$&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle de 1 à 99999====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^([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])$/&amp;lt;/nowiki&amp;gt;  &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,4}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
C&#039;est deux expressions produisent le même résultat.&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans plusieurs intervalles de 1 à 999, de 1.000 à 999.999====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,2}(?:\.[0-9]{3}){0,1}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un score compris entre 1 et 10====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9]{1}$|^10$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un score compris entre 1 et 100====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9]?[0-9]{1}$|^100$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===validation d&#039;un nombre décimal===&lt;br /&gt;
&lt;br /&gt;
Ce type de validation peut être utilisé dans le cas de prix, mesure&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un nombre décimal====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^([1][0-9][0-9]|[1-9][0-9]|[0-9])[[\.)[0-9][0-9])?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 les nombres entre ayant une partie décimale optionnelle à deux chiffres&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}\.[0-9]{2}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ===Monnaie===&lt;br /&gt;
&lt;br /&gt;
 ====Euro (le signe Euro et les centimes sont optionnels)====&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;/^\d+(\.(\d{3}]]?&amp;amp;euro;?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Dollar US====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\$?\d+(\.(\d{2}))?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le signe dollar en début de saisie et les cents sont optionnels.&lt;br /&gt;
&lt;br /&gt;
====Prix en Franc Suisse====&lt;br /&gt;
&lt;br /&gt;
C&#039;est un nombre avec deux décimales  après la virgule dont le dernier chiffre est soit 5, soit 0.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(\d+)(\.\d(05)?)?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;une date==&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;une date au format jj/mm/aaaa====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\d{1,2}\/\d{1,2}\/\d{4}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;une date au format jj/mm/aaaa du 20 ou 21éme siècle====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\d{1,2}\/\d{1,2}\/(19|20)\d{2}$/&amp;lt;/nowiki&amp;gt; a tester&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un mois (1-12)====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[0]?[1-9]$|^1[0-2]$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression permet de saisir le mois de janvier soit 1, soit 01.&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;une heure==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9]$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
cette expression permet de valider un format d&#039;heure HH:MM ex : 11:32&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9](?::[0-5][0-9])?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression permet de valider un format d&#039;heure HH:MM:SS où la partie de secondes est optionnelle ex : 11:32:53 ou bien 11:32&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression permet de valider un format d&#039;heure HH:MM:SS où la partie des secondes est obligatoire ex : 11:32:53&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;une longueur de saisie==&lt;br /&gt;
&lt;br /&gt;
Pour certain type de question, LimeSurvey propose dans les paramètres avancés ce type de contrôle.&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;une longueur de saisie minimum====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^.{3,}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ici la longueur minimum est de 3 caractères quelconques&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;une longueur de saisie maximum====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^.{3,}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ici la longueur maximum est de 3 caractères quelconques&lt;br /&gt;
&lt;br /&gt;
==Validation de texte==&lt;br /&gt;
&lt;br /&gt;
Actuellement, le type de question &#039;&#039;Multiples zones de texte court&#039;&#039; ne permet pas de contrôler le minimum ou le maximum de réponses.&lt;br /&gt;
&lt;br /&gt;
Une des manières d&#039;y parvenir est d&#039;utiliser le type question &#039;&#039;Zone de texte long&#039;&#039; sur laquelle on appliquera une expression régulière.&lt;br /&gt;
&lt;br /&gt;
L&#039;expression ci-dessous vérifie qu&#039;il y a au moins un mot par ligne et qu&#039;il y a au moins trois lignes mais pas plus de 10 lignes :&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)){2,10}/is&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si vous voulez vérifier qu&#039;il y a au moins 5 mots par ligne, vous devez changer le premier et le dernier caractère étoile (*) par {4,}&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+){4,})(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+){4,})){2,10}/is&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si voulez 1 ou plusieurs mots par ligne et de 1 à 5 lignes, vous pouvez changer les valeurs du quantificateur {0,4}.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)){0,4}/is&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Limiter le nombre de mots===&lt;br /&gt;
&lt;br /&gt;
L&#039;expression ci-dessous permet d&#039;écrire au minimum 1 mot et au maximum 200 mots.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[-\w]+(?:\W+[-\w]+){0,199}\W*$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vous pouvez varier le minimum et le maximum selon vos besoins en changeant {0,199} ( voir ci-dessus le tableau &#039;&#039;Quantificateur&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un mot==&lt;br /&gt;
&lt;br /&gt;
==== mot dans une liste====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(arbre|feuille|fleur){1}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le mot saisie doit correspondre exactement (minuscule) au mot dans la liste.&lt;br /&gt;
&lt;br /&gt;
====validation du mot dans une liste====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(arbre|feuille|fleur){1}$/i&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ici, on ne tient pas compte des minuscules et des majuscules : Les mots suivants Arbre,arbre, ARBRE, ArBrE, etc. sont tous valides.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour tester vos expressions régulières vous pouvez utiliser ces testeurs d&#039;expressions régulières: [https://regex101.com/ regex101] [https://extendsclass.com/regex-tester.html regex tester]&lt;br /&gt;
&lt;br /&gt;
{{Note|To improve this wiki section, we kindly ask you to add your successfully tested regular expression(s) to provide a better understanding of this feature to the new LimeSurvey (potential) users.}}&lt;br /&gt;
&lt;br /&gt;
{{Alert|title=Attention|text= Please note that all the below examples are written on one line!}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Important: Regular Expressions in conditions=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that when using regular expressions in the condition editor, do NOT include the beginning and ending slash.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-translate-fuzzy&amp;quot;&amp;gt;&lt;br /&gt;
=#Validation=&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Update (12/2018): Since these days domain names cannot only hold special characters like “ü” but also use more than 3 characters as domain name like .&#039;&#039;tech&#039;&#039; or .&#039;&#039;company&#039;&#039;, the below email regex only checks if “@” and “.” exists within the entered email address.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
/^.+?@.+?\..+$/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
At this outdated regex the domain name is limited to 3 characters which doesn&#039;t cover all available domains:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
/^(\w[-._+\w]*\w@\w[-._\w]*\w\.\w{2,3})$/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Codes postaux&lt;br /&gt;
&lt;br /&gt;
== Codes postaux australiens: ==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[0-9]{4}/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Codes postaux brésiliens ==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[0-9]{2}\.[0-9]{3}-[0-9]{3}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Codes postaux canadiens ==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[a-zA-Z]\d{1}[a-zA-Z](\-| |)\d{1}[a-zA-Z]\d{1}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Codes postaux américains ==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[0-9]{5}([- /]?[0-9]{4})?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Codes postaux britanniques ==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[A-Z][A-Z]?[0-9][A-Z0-9]? ?[0-9][ABDEFGHJLNPQRSTUWXYZ]{2}$/i&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notez que ceci n&#039;est pas très exact et qu&#039;une validation précise est beaucoup plus complexe. Par exemple, voir [https://stackoverflow.com/questions/164979/uk-postcode-regex-comprehensive StackOverflow answer] et [https://en.wikipedia.org/wiki/Talk:Postcodes_in_the_United_Kingdom#Regular_Expressions Wikipedia] pour plus informations.&lt;br /&gt;
&lt;br /&gt;
== Codes postaux français == &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/(^[0-8]\d\d{3}$)|(^9[0-5]\d{3}$)|(^97[1-6]\d{2}$)|(^98[46-8]\d{2}$)/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L&#039;expression ci-dessus est très précise et permettra de vérifier l&#039;existence ou non du département français (deux premiers chiffres), y compris les départements et territoires d&#039;outre-mer (DOM-TOM).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Numéros de téléphone=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==US phone numbers==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\([2-9]\d{2}\)\ ?|[2-9]\d{2}(?:\-?|\ ?))[2-9]\d{2}[- ]?\d{4}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[\(\)\.\- ]{0,}[0-9]{3}[\(\)\.\- ]{0,}[0-9]{3}[\(\)\.\- ]{0,}[0-9]{4}[\(\)\.\- ]{0,}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This second option will match all phone Canadian and US phone numbers that include non-digit symbols including:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt; . ( ) - (space)&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will allow you to match phone numbers which resemble below:&lt;br /&gt;
*(555)555 5555&lt;br /&gt;
*555.555.5555&lt;br /&gt;
*555 555 5555&lt;br /&gt;
*(555)-555-5555&lt;br /&gt;
*555-555-5555&lt;br /&gt;
*555555555&lt;br /&gt;
&lt;br /&gt;
==Australian phone numbers==&lt;br /&gt;
&lt;br /&gt;
The following patterns match all various Australian mobile and landline phone numbers including with &amp;quot;+61&amp;quot; country prefix:&lt;br /&gt;
*(02) 9123 6535&lt;br /&gt;
*03 1234-5345&lt;br /&gt;
*0412 345 678&lt;br /&gt;
*+61 2 3456 789&lt;br /&gt;
&lt;br /&gt;
But not:&lt;br /&gt;
* 234 3450 234&lt;br /&gt;
*a234 534 3432&lt;br /&gt;
*134567&lt;br /&gt;
*123456789013&lt;br /&gt;
&lt;br /&gt;
Brackets, white space and hypens are ignored.&lt;br /&gt;
&lt;br /&gt;
The &#039;Very precise:&#039; versions listed here match against the first four or five digits in a number to ensure that they are valid Australian numbers.&lt;br /&gt;
&lt;br /&gt;
The &#039;Not very precise:&#039; only match against the first and second digit so may allow invaid numbers.&lt;br /&gt;
&lt;br /&gt;
===All Australian phone numbers (mobile and landline - area code required)===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^\(?(?:\+?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})$/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\+?61|0)[2-478](?:[ -]?[0-9]){8}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===All Australian phone numbers (landlines only - area code required)===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^\(?(?:\+?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}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\+?61|\(?0)[2378]\)?(?:[ -]?[0-9]){8}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===New South Wales landline phone numbers (area code optional)===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)2\)?[ -]?)?(?:3[ -]?[38]|[46-9][ -]?[0-9]|5[ -]?[0-35-9])(?:[ -]?[0-9]){6}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)2\)?(?:[ -]?[0-9]){7}[0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Victorian and Tasmanian landline phone numbers (area code optional)===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)3\)?[ -]?)?(?:4[ -]?[0-57-9]|[57-9][ -]?[0-9]|6[ -]?[1-67])(?:[ -]?[0-9]){6}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)3\)?(?:[ -]?[0-9]){7}[0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Queensland landline phone numbers (area code optional)===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)7\)?[ -]?)?(?:[2-4][ -]?[0-9]|5[ -]?[2-7]|7[ -]?6)(?:[ -]?[0-9]){6}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)7\)?(?:[ -]?[0-9]){7}[0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===South Australia, Northern Territory, Western Australia landline phone numbers (area code optional)===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)8\)?[ -]?)?(?:5[1-4]|6[0-8]|[7-9][0-9])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)8\)?(?:[ -]?[0-9]){7}[0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Australian mobile phone numbers only===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\+?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}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)4\)?(?:[ -]?[0-9]){7}[0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Belgian phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00)32\s?|0)(\d\s?\d{3}|\d{2}\s?\d{2})(\s?\d{2}){2}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
==Belgian mobile phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00)32\s?|0)4(60|[789]\d)(\s?\d{2}){3}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
==French phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00)33\s?|0)[1-59](\s?\d{2}){4}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
==French mobile phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00)33\s?|0)[67](\s?\d{2}){4}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
==Luxemburg phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00\s?)352)?(\s?\d{2}){3,4}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
==Luxemburg mobile phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00\s?)352)?\s?6[269]1(\s?\d{3}){2}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
=German marks (with optional plus or minus)=&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-6]{1}[\+|\-]?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Age validation=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example: Age 20-99&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/([2-9][0-9])/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example: Age 18-35&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/(1[8-9]|2[0-9]|3[0-5])/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example: Age 19-65&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(1[8-9]|[2-5][0-9]|6[0-5])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Number validation= &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Numbers from 1 to 99999==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^([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])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9][0-9]{0,4}$/ does the same as above but should run a little faster&amp;lt;/source&amp;gt;&lt;br /&gt;
==Numbers from 1 to 999, 1.000 to 999.999 to 999.999.999==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9][0-9]{0,2}(?:\.[0-9]{3}){0,2}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
Accepts numbers from 1 to 999, 1.000 to 999.999 to 999.999.999 but&lt;br /&gt;
rejects numbers like 999.1.1 , 94.22.22, 999.1.22, 999.11.1, 999.1.333&lt;br /&gt;
&lt;br /&gt;
==Number validation with optional decimal (for price)==&lt;br /&gt;
Accepts numbers from 0 to 199, with 2 decimal optional:&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^([1][0-9][0-9]|[1-9][0-9]|[0-9])((\.)[0-9][0-9])?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It forces two decimal points and accepts numbers from 1.00 to 999,999,999.00 with an optional comma delimiting thousands/millions&lt;br /&gt;
including all of the following: 1.00, 1,000.00, 12,345.67, 12345,02, 123,456,468.00, 1234566.00, 123456789.00&lt;br /&gt;
but not 1,23.00, 12,3.4 or 1234,43.04&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}\.[0-9]{2}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Similar to the above: Forces two decimal points but accepts a &amp;quot;0&amp;quot; before decimal separator &amp;quot;,&amp;quot;.&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/[0-9]{0,2}(?:,?[0-9]{3}){0,3}\.[0-9]{2}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Same as above, but the two decimal points are optional:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}(?:\.[0-9]{2})?$/ &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Month (1-12)==&lt;br /&gt;
&lt;br /&gt;
If you want to ask for the month a person was born you can validate the input as follows:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[0]*[1-9]$|^[0]*1[0-2]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Minimum width (set to 3 in this example)=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^.{3,}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Currency=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==US currency (dollar sign and cents optional)==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^\$?\d+(\.(\d{2}))?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Check for comma usage:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^\$?\d{1,3}(\d+(?!,))?(,\d{3})*(\.\d{2})?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Swiss price==&lt;br /&gt;
&lt;br /&gt;
A number with two decimal numbers after the decimal point of which the last one is either a 5 or a 0:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(\d+)(\.\d(05)?)?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Validate score=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==1-10==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9]{1}$|^10$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==1-100==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9]?[0-9]{1}$|^100$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Text validation=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The [[Question type - Multiple short text|multiple short text question type]] doesn&#039;t support minimum or maximum answers at the moment. One way around this is to use a [[Question type - Long free text|long free text question type]] with a regular expression.&lt;br /&gt;
&lt;br /&gt;
The below expression tests for at least one word per line for at least 3 lines and no more than 10 lines:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+)*)){2,10}/is&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want, say five words per line, you could change the first and last star/asterisk to {4,}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+){4,})(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+){4,})){2,10}/is&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you wanted one or more words per line (between line 1 and line 5), you can change the content located within the last curly braces to &#039;&#039;&#039;0,4&#039;&#039;&#039; (note you use 0 because you&#039;re already matching the first line).&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+)*)){0,4}/is&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Word count==&lt;br /&gt;
&lt;br /&gt;
 The following restricts the number of words allowed to a minimum of 1 and a maximum of 200:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[-\w]+(?:\W+[-\w]+){0,199}\W*$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 To increase the minimum change the zero part of {0,199}.&lt;br /&gt;
&lt;br /&gt;
To increase or decrease the maximum change the &amp;quot;199&amp;quot; part of {0,199}.&lt;br /&gt;
&lt;br /&gt;
=Time validation=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are a number of ways to write 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 [[Question type - Date|date question type]] (it can also capture time) you can use the [[Question type - Short free text|short free text question type]] with one of the below validation regular expressions.&lt;br /&gt;
&lt;br /&gt;
The following three validation strings test for 24 hour time (in order of appearances) without seconds, with optional seconds lastly with seconds required:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9](?::[0-5][0-9])?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following three match 12 hour time, as above with seconds, optional seconds and with seconds required:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?&amp;quot;&amp;gt;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))$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?: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))$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?: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))$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following three match either 12 or 24 hour time as above with seconds, optional seconds and with seconds required:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:(?: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])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:(?: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])?)$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:(?: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])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=US states=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To validate for one state use the following (example is Texas):&lt;br /&gt;
*TX uppercase only: &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(TX)$/&amp;lt;/source&amp;gt;&lt;br /&gt;
*tx lowercase only: &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(tx)$/&amp;lt;/source&amp;gt;&lt;br /&gt;
*TX upper or lowercase: &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^([T|t][X|x])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Profanity Filter=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To filter profanity words from an answer:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?i)((?!\bENTERPROFANITYHERE\b).)*$(?-i)/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Replace &amp;quot;ENTERPROFANITYHERE&amp;quot; with your bad word.&lt;br /&gt;
&lt;br /&gt;
The \b will allow passing of words such as &amp;quot;assassination&amp;quot; and &amp;quot;hello&amp;quot; if you enter &amp;quot;ass&amp;quot; or &amp;quot;hell&amp;quot; as your profanity word. This also works if you are trying to omit other words, names etc. from answers.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Helpful links=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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.&lt;/div&gt;</summary>
		<author><name>Cyr1lle</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=Translations:Using_regular_expressions/3/fr&amp;diff=143418</id>
		<title>Translations:Using regular expressions/3/fr</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=Translations:Using_regular_expressions/3/fr&amp;diff=143418"/>
		<updated>2019-06-16T12:15:55Z</updated>

		<summary type="html">&lt;p&gt;Cyr1lle: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Pour tester vos expressions régulières vous pouvez utiliser ces testeurs d&#039;expressions régulières: [https://regex101.com/ regex101] [https://extendsclass.com/regex-tester.html regex tester]&lt;/div&gt;</summary>
		<author><name>Cyr1lle</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=Using_regular_expressions/fr&amp;diff=143417</id>
		<title>Using regular expressions/fr</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=Using_regular_expressions/fr&amp;diff=143417"/>
		<updated>2019-06-16T12:15:21Z</updated>

		<summary type="html">&lt;p&gt;Cyr1lle: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt; &lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-translate-fuzzy&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;La traduction de cette page n&#039;est pas terminée.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=#Validation=&lt;br /&gt;
&lt;br /&gt;
Lorsque vous définissez les attributs d&#039;une question, vous devez indiquer son code, le texte de la question, le type de question,&lt;br /&gt;
&lt;br /&gt;
le nombre minimum et/ou maximum de caractères, etc.&lt;br /&gt;
&lt;br /&gt;
Cependant, il n&#039;est pas possible définir tous les attributs de contrôle pouvant satisfaire les besoins des utilisateurs de LimeSurvey.&lt;br /&gt;
&lt;br /&gt;
La zone de saisie &#039;&#039;Validation&#039;&#039; de l&#039;écran d&#039;édition d&#039;une question joue ce rôle et permet d&#039;ajouter des contrôles supplémentaires sur la réponse.&lt;br /&gt;
&lt;br /&gt;
Ces contrôles se font gr&amp;amp;acirc;ce à des expressions régulières que l&#039;on place dans la zone de saisie &#039;&#039;Validation&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:LimeSurvey-2011-06-01-19-18.png]]&lt;br /&gt;
&lt;br /&gt;
Dans la situation présentée ci-dessus, la réponse sera considérée comme valide si d&#039;une part elle est composée uniquement de lettres&lt;br /&gt;
&lt;br /&gt;
en majuscule et d&#039;autre part si le nombre de lettres est compris entre 1 et 10.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Attention&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour le contenu de la zone de saisie &#039;&#039;Validation&#039;&#039; soit évalué, il faut obligatoirement que l&#039;utilisateur est saisi un caractère.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=#Bref rappel=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Avertissements&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L&#039;objet de cette section n&#039;est pas d&#039;expliquer comment constituer des expressions régulières&lt;br /&gt;
&lt;br /&gt;
ou bien d&#039;expliquer leurs fonctionnements.&lt;br /&gt;
&lt;br /&gt;
De très bons livres le font comme Maîtrise des expressions régulières de Jeffrey E. F. Friedl.&lt;br /&gt;
&lt;br /&gt;
Il y a également des sites qui traitent de ces sujets comme  http://www.regxlib.net/ (en anglais)&lt;br /&gt;
&lt;br /&gt;
ou bien http://perl.enstimac.fr/DocFr/perlrequick.html (en français).&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L&#039;expression régulière est un moyen puissant,flexible et efficace d&#039;appliquer un traitement sur du texte.&lt;br /&gt;
&lt;br /&gt;
Gr&amp;amp;acirc;ce à une notation générale (motif, pattern), c&#039;est une sorte de mini-langage de programmation qui permet de décrire&lt;br /&gt;
&lt;br /&gt;
et d&#039;analyser le texte. Plusieurs notations existent.&lt;br /&gt;
&lt;br /&gt;
Celle utilisée dans LimeSurvey est du type PERL et doivent commencer et se terminer par le caractère slash (&amp;quot;/&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Métacaractère||   Signification||&lt;br /&gt;
|-&lt;br /&gt;
|   .||   n&#039;importe quel caractère sauf \n||&lt;br /&gt;
|-&lt;br /&gt;
|   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;  ]|| tous les caractères énumérés  ||   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;abc]&lt;br /&gt;
|-&lt;br /&gt;
|   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~  ]|| tous les caractères sauf ceux qui sont énumérés  ||   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~abc]&lt;br /&gt;
|-&lt;br /&gt;
|   ~124~ || tous les caractères sauf ceux qui sont énumérés  ||   mot1~124~mot2~124~mot3&lt;br /&gt;
|-&lt;br /&gt;
|   - || intervalle  ||   a-z&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Quantificateur||   Signification   || Exemple&lt;br /&gt;
|-&lt;br /&gt;
|   * ||   zéro ou plus  || A* = zéro ou plus de lettre A&lt;br /&gt;
|-&lt;br /&gt;
|   + || 1 ou plus       || A+ = une lettre A ou plus&lt;br /&gt;
|-&lt;br /&gt;
|   ? || 0 ou 1          || A? = pas de lettre A ou une seule lettre A&lt;br /&gt;
|-&lt;br /&gt;
| {n} || n fois exactement || A{3} = trois lettres A&lt;br /&gt;
|-&lt;br /&gt;
|{min,} || minimum min fois et plus || A{3,} trois lettres A ou plus&lt;br /&gt;
|-&lt;br /&gt;
|{min,max}|| minimum min et maximum max  fois || A{3,7} trois lettres A au minimum et au maximum 7 lettres A&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Caractères||   Signification || Équivalence&lt;br /&gt;
|-&lt;br /&gt;
| \n || nouvelle ligne||&lt;br /&gt;
|-&lt;br /&gt;
| \r || retour à la ligne||&lt;br /&gt;
|-&lt;br /&gt;
| \t || tabulation||&lt;br /&gt;
|-&lt;br /&gt;
| \v || tabulation vertical||&lt;br /&gt;
|-&lt;br /&gt;
| \f || nouvelle page||&lt;br /&gt;
|-&lt;br /&gt;
|   \s ||   caractères d&#039;espacement|| &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;\n\r\t\f]&lt;br /&gt;
|-&lt;br /&gt;
|   \S || tous les caractères sauf les caractères d&#039;espacement|| &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~\n\r\t\f]&lt;br /&gt;
|-&lt;br /&gt;
|   \d || les chiffres||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;0-9]&lt;br /&gt;
|-&lt;br /&gt;
| \D || tous les caractères sauf les chiffres||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~0-9]&lt;br /&gt;
|-&lt;br /&gt;
| \w || caractère constituant un mot||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;0-9a-zA-Z_]&lt;br /&gt;
|-&lt;br /&gt;
| \W || tous les caractères ne constituant pas un mot||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~\w]&lt;br /&gt;
|-&lt;br /&gt;
| \xhh || caractère en hexadécimal(hh) ex: \x41 = A||&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Modificateur||   Signification&lt;br /&gt;
|-&lt;br /&gt;
| i || ignore la casse&lt;br /&gt;
|-&lt;br /&gt;
| x || le point reconnait aussi \n&lt;br /&gt;
|-&lt;br /&gt;
| m || mode multi lignes&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Les modificateurs se mettent après le dernier slash ex : /&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;a-z]/i est équivalent à /&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;a-zA-Z]/&lt;br /&gt;
&lt;br /&gt;
Vous pouvez tester vos expressions régulières sur http://www.spaweditor.com/scripts/regex/index.php&lt;br /&gt;
&lt;br /&gt;
=#Quelques exemples=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&#039;&#039;Vous pouvez ajouter des expressions régulières mais testées auparavant!&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemples (notez qu&#039;elles sont toutes sur une seule ligne):&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un code postal français==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^0[1-9]|[1-8][0-9]|9[0-8]|2A|2B[0-9]{3}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression teste seulement de le format du code postal mais pas de sa validité.&lt;br /&gt;
&lt;br /&gt;
==Validation du numéro de département français==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^0[1-9]|[1-8][0-9]|9[0-8]|2A|2B$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression teste seulement de le format du numéro du département mais pas de sa validité.&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un nombre==&lt;br /&gt;
&lt;br /&gt;
===Validation d&#039;un nombre entier===&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle défini (age, etc.) de 20 à 99====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/([2-9][0-9])/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle défini (age, etc.) de 18 à 35====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(1[8-9]|2[0-9]|3[0-5])/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle défini (age, etc.) de 19 à 65====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;(1[8-9]|[2-5][0-9]|6[0-5])$&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle de 1 à 99999====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^([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])$/&amp;lt;/nowiki&amp;gt;  &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,4}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
C&#039;est deux expressions produisent le même résultat.&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans plusieurs intervalles de 1 à 999, de 1.000 à 999.999====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,2}(?:\.[0-9]{3}){0,1}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un score compris entre 1 et 10====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9]{1}$|^10$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un score compris entre 1 et 100====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9]?[0-9]{1}$|^100$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===validation d&#039;un nombre décimal===&lt;br /&gt;
&lt;br /&gt;
Ce type de validation peut être utilisé dans le cas de prix, mesure&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un nombre décimal====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^([1][0-9][0-9]|[1-9][0-9]|[0-9])[[\.)[0-9][0-9])?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 les nombres entre ayant une partie décimale optionnelle à deux chiffres&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}\.[0-9]{2}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ===Monnaie===&lt;br /&gt;
&lt;br /&gt;
 ====Euro (le signe Euro et les centimes sont optionnels)====&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;/^\d+(\.(\d{3}]]?&amp;amp;euro;?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Dollar US====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\$?\d+(\.(\d{2}))?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le signe dollar en début de saisie et les cents sont optionnels.&lt;br /&gt;
&lt;br /&gt;
====Prix en Franc Suisse====&lt;br /&gt;
&lt;br /&gt;
C&#039;est un nombre avec deux décimales  après la virgule dont le dernier chiffre est soit 5, soit 0.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(\d+)(\.\d(05)?)?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;une date==&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;une date au format jj/mm/aaaa====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\d{1,2}\/\d{1,2}\/\d{4}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;une date au format jj/mm/aaaa du 20 ou 21éme siècle====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\d{1,2}\/\d{1,2}\/(19|20)\d{2}$/&amp;lt;/nowiki&amp;gt; a tester&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un mois (1-12)====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[0]?[1-9]$|^1[0-2]$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression permet de saisir le mois de janvier soit 1, soit 01.&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;une heure==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9]$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
cette expression permet de valider un format d&#039;heure HH:MM ex : 11:32&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9](?::[0-5][0-9])?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression permet de valider un format d&#039;heure HH:MM:SS où la partie de secondes est optionnelle ex : 11:32:53 ou bien 11:32&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression permet de valider un format d&#039;heure HH:MM:SS où la partie des secondes est obligatoire ex : 11:32:53&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;une longueur de saisie==&lt;br /&gt;
&lt;br /&gt;
Pour certain type de question, LimeSurvey propose dans les paramètres avancés ce type de contrôle.&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;une longueur de saisie minimum====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^.{3,}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ici la longueur minimum est de 3 caractères quelconques&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;une longueur de saisie maximum====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^.{3,}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ici la longueur maximum est de 3 caractères quelconques&lt;br /&gt;
&lt;br /&gt;
==Validation de texte==&lt;br /&gt;
&lt;br /&gt;
Actuellement, le type de question &#039;&#039;Multiples zones de texte court&#039;&#039; ne permet pas de contrôler le minimum ou le maximum de réponses.&lt;br /&gt;
&lt;br /&gt;
Une des manières d&#039;y parvenir est d&#039;utiliser le type question &#039;&#039;Zone de texte long&#039;&#039; sur laquelle on appliquera une expression régulière.&lt;br /&gt;
&lt;br /&gt;
L&#039;expression ci-dessous vérifie qu&#039;il y a au moins un mot par ligne et qu&#039;il y a au moins trois lignes mais pas plus de 10 lignes :&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)){2,10}/is&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si vous voulez vérifier qu&#039;il y a au moins 5 mots par ligne, vous devez changer le premier et le dernier caractère étoile (*) par {4,}&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+){4,})(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+){4,})){2,10}/is&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si voulez 1 ou plusieurs mots par ligne et de 1 à 5 lignes, vous pouvez changer les valeurs du quantificateur {0,4}.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)){0,4}/is&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Limiter le nombre de mots===&lt;br /&gt;
&lt;br /&gt;
L&#039;expression ci-dessous permet d&#039;écrire au minimum 1 mot et au maximum 200 mots.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[-\w]+(?:\W+[-\w]+){0,199}\W*$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vous pouvez varier le minimum et le maximum selon vos besoins en changeant {0,199} ( voir ci-dessus le tableau &#039;&#039;Quantificateur&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un mot==&lt;br /&gt;
&lt;br /&gt;
==== mot dans une liste====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(arbre|feuille|fleur){1}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le mot saisie doit correspondre exactement (minuscule) au mot dans la liste.&lt;br /&gt;
&lt;br /&gt;
====validation du mot dans une liste====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(arbre|feuille|fleur){1}$/i&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ici, on ne tient pas compte des minuscules et des majuscules : Les mots suivants Arbre,arbre, ARBRE, ArBrE, etc. sont tous valides.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-translate-fuzzy&amp;quot;&amp;gt;&lt;br /&gt;
Pour tester vos expressions régulières vous pouvez utiliser ces testeurs d&#039;expressions régulières: [https://regex101.com/ regex101] |https://extendsclass.com/regex-tester.html regex tester]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note|To improve this wiki section, we kindly ask you to add your successfully tested regular expression(s) to provide a better understanding of this feature to the new LimeSurvey (potential) users.}}&lt;br /&gt;
&lt;br /&gt;
{{Alert|title=Attention|text= Please note that all the below examples are written on one line!}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Important: Regular Expressions in conditions=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that when using regular expressions in the condition editor, do NOT include the beginning and ending slash.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-translate-fuzzy&amp;quot;&amp;gt;&lt;br /&gt;
=#Validation=&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Update (12/2018): Since these days domain names cannot only hold special characters like “ü” but also use more than 3 characters as domain name like .&#039;&#039;tech&#039;&#039; or .&#039;&#039;company&#039;&#039;, the below email regex only checks if “@” and “.” exists within the entered email address.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
/^.+?@.+?\..+$/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
At this outdated regex the domain name is limited to 3 characters which doesn&#039;t cover all available domains:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
/^(\w[-._+\w]*\w@\w[-._\w]*\w\.\w{2,3})$/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Codes postaux&lt;br /&gt;
&lt;br /&gt;
== Codes postaux australiens: ==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[0-9]{4}/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Codes postaux brésiliens ==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[0-9]{2}\.[0-9]{3}-[0-9]{3}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Codes postaux canadiens ==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[a-zA-Z]\d{1}[a-zA-Z](\-| |)\d{1}[a-zA-Z]\d{1}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Codes postaux américains ==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[0-9]{5}([- /]?[0-9]{4})?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Codes postaux britanniques ==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[A-Z][A-Z]?[0-9][A-Z0-9]? ?[0-9][ABDEFGHJLNPQRSTUWXYZ]{2}$/i&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notez que ceci n&#039;est pas très exact et qu&#039;une validation précise est beaucoup plus complexe. Par exemple, voir [https://stackoverflow.com/questions/164979/uk-postcode-regex-comprehensive StackOverflow answer] et [https://en.wikipedia.org/wiki/Talk:Postcodes_in_the_United_Kingdom#Regular_Expressions Wikipedia] pour plus informations.&lt;br /&gt;
&lt;br /&gt;
== Codes postaux français == &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/(^[0-8]\d\d{3}$)|(^9[0-5]\d{3}$)|(^97[1-6]\d{2}$)|(^98[46-8]\d{2}$)/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L&#039;expression ci-dessus est très précise et permettra de vérifier l&#039;existence ou non du département français (deux premiers chiffres), y compris les départements et territoires d&#039;outre-mer (DOM-TOM).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Numéros de téléphone=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==US phone numbers==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\([2-9]\d{2}\)\ ?|[2-9]\d{2}(?:\-?|\ ?))[2-9]\d{2}[- ]?\d{4}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[\(\)\.\- ]{0,}[0-9]{3}[\(\)\.\- ]{0,}[0-9]{3}[\(\)\.\- ]{0,}[0-9]{4}[\(\)\.\- ]{0,}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This second option will match all phone Canadian and US phone numbers that include non-digit symbols including:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt; . ( ) - (space)&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will allow you to match phone numbers which resemble below:&lt;br /&gt;
*(555)555 5555&lt;br /&gt;
*555.555.5555&lt;br /&gt;
*555 555 5555&lt;br /&gt;
*(555)-555-5555&lt;br /&gt;
*555-555-5555&lt;br /&gt;
*555555555&lt;br /&gt;
&lt;br /&gt;
==Australian phone numbers==&lt;br /&gt;
&lt;br /&gt;
The following patterns match all various Australian mobile and landline phone numbers including with &amp;quot;+61&amp;quot; country prefix:&lt;br /&gt;
*(02) 9123 6535&lt;br /&gt;
*03 1234-5345&lt;br /&gt;
*0412 345 678&lt;br /&gt;
*+61 2 3456 789&lt;br /&gt;
&lt;br /&gt;
But not:&lt;br /&gt;
* 234 3450 234&lt;br /&gt;
*a234 534 3432&lt;br /&gt;
*134567&lt;br /&gt;
*123456789013&lt;br /&gt;
&lt;br /&gt;
Brackets, white space and hypens are ignored.&lt;br /&gt;
&lt;br /&gt;
The &#039;Very precise:&#039; versions listed here match against the first four or five digits in a number to ensure that they are valid Australian numbers.&lt;br /&gt;
&lt;br /&gt;
The &#039;Not very precise:&#039; only match against the first and second digit so may allow invaid numbers.&lt;br /&gt;
&lt;br /&gt;
===All Australian phone numbers (mobile and landline - area code required)===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^\(?(?:\+?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})$/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\+?61|0)[2-478](?:[ -]?[0-9]){8}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===All Australian phone numbers (landlines only - area code required)===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^\(?(?:\+?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}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\+?61|\(?0)[2378]\)?(?:[ -]?[0-9]){8}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===New South Wales landline phone numbers (area code optional)===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)2\)?[ -]?)?(?:3[ -]?[38]|[46-9][ -]?[0-9]|5[ -]?[0-35-9])(?:[ -]?[0-9]){6}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)2\)?(?:[ -]?[0-9]){7}[0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Victorian and Tasmanian landline phone numbers (area code optional)===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)3\)?[ -]?)?(?:4[ -]?[0-57-9]|[57-9][ -]?[0-9]|6[ -]?[1-67])(?:[ -]?[0-9]){6}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)3\)?(?:[ -]?[0-9]){7}[0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Queensland landline phone numbers (area code optional)===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)7\)?[ -]?)?(?:[2-4][ -]?[0-9]|5[ -]?[2-7]|7[ -]?6)(?:[ -]?[0-9]){6}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)7\)?(?:[ -]?[0-9]){7}[0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===South Australia, Northern Territory, Western Australia landline phone numbers (area code optional)===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)8\)?[ -]?)?(?:5[1-4]|6[0-8]|[7-9][0-9])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)8\)?(?:[ -]?[0-9]){7}[0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Australian mobile phone numbers only===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\+?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}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)4\)?(?:[ -]?[0-9]){7}[0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Belgian phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00)32\s?|0)(\d\s?\d{3}|\d{2}\s?\d{2})(\s?\d{2}){2}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
==Belgian mobile phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00)32\s?|0)4(60|[789]\d)(\s?\d{2}){3}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
==French phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00)33\s?|0)[1-59](\s?\d{2}){4}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
==French mobile phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00)33\s?|0)[67](\s?\d{2}){4}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
==Luxemburg phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00\s?)352)?(\s?\d{2}){3,4}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
==Luxemburg mobile phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00\s?)352)?\s?6[269]1(\s?\d{3}){2}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
=German marks (with optional plus or minus)=&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-6]{1}[\+|\-]?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Age validation=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example: Age 20-99&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/([2-9][0-9])/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example: Age 18-35&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/(1[8-9]|2[0-9]|3[0-5])/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example: Age 19-65&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(1[8-9]|[2-5][0-9]|6[0-5])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Number validation= &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Numbers from 1 to 99999==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^([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])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9][0-9]{0,4}$/ does the same as above but should run a little faster&amp;lt;/source&amp;gt;&lt;br /&gt;
==Numbers from 1 to 999, 1.000 to 999.999 to 999.999.999==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9][0-9]{0,2}(?:\.[0-9]{3}){0,2}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
Accepts numbers from 1 to 999, 1.000 to 999.999 to 999.999.999 but&lt;br /&gt;
rejects numbers like 999.1.1 , 94.22.22, 999.1.22, 999.11.1, 999.1.333&lt;br /&gt;
&lt;br /&gt;
==Number validation with optional decimal (for price)==&lt;br /&gt;
Accepts numbers from 0 to 199, with 2 decimal optional:&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^([1][0-9][0-9]|[1-9][0-9]|[0-9])((\.)[0-9][0-9])?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It forces two decimal points and accepts numbers from 1.00 to 999,999,999.00 with an optional comma delimiting thousands/millions&lt;br /&gt;
including all of the following: 1.00, 1,000.00, 12,345.67, 12345,02, 123,456,468.00, 1234566.00, 123456789.00&lt;br /&gt;
but not 1,23.00, 12,3.4 or 1234,43.04&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}\.[0-9]{2}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Similar to the above: Forces two decimal points but accepts a &amp;quot;0&amp;quot; before decimal separator &amp;quot;,&amp;quot;.&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/[0-9]{0,2}(?:,?[0-9]{3}){0,3}\.[0-9]{2}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Same as above, but the two decimal points are optional:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}(?:\.[0-9]{2})?$/ &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Month (1-12)==&lt;br /&gt;
&lt;br /&gt;
If you want to ask for the month a person was born you can validate the input as follows:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[0]*[1-9]$|^[0]*1[0-2]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Minimum width (set to 3 in this example)=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^.{3,}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Currency=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==US currency (dollar sign and cents optional)==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^\$?\d+(\.(\d{2}))?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Check for comma usage:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^\$?\d{1,3}(\d+(?!,))?(,\d{3})*(\.\d{2})?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Swiss price==&lt;br /&gt;
&lt;br /&gt;
A number with two decimal numbers after the decimal point of which the last one is either a 5 or a 0:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(\d+)(\.\d(05)?)?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Validate score=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==1-10==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9]{1}$|^10$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==1-100==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9]?[0-9]{1}$|^100$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Text validation=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The [[Question type - Multiple short text|multiple short text question type]] doesn&#039;t support minimum or maximum answers at the moment. One way around this is to use a [[Question type - Long free text|long free text question type]] with a regular expression.&lt;br /&gt;
&lt;br /&gt;
The below expression tests for at least one word per line for at least 3 lines and no more than 10 lines:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+)*)){2,10}/is&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want, say five words per line, you could change the first and last star/asterisk to {4,}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+){4,})(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+){4,})){2,10}/is&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you wanted one or more words per line (between line 1 and line 5), you can change the content located within the last curly braces to &#039;&#039;&#039;0,4&#039;&#039;&#039; (note you use 0 because you&#039;re already matching the first line).&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+)*)){0,4}/is&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Word count==&lt;br /&gt;
&lt;br /&gt;
 The following restricts the number of words allowed to a minimum of 1 and a maximum of 200:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[-\w]+(?:\W+[-\w]+){0,199}\W*$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 To increase the minimum change the zero part of {0,199}.&lt;br /&gt;
&lt;br /&gt;
To increase or decrease the maximum change the &amp;quot;199&amp;quot; part of {0,199}.&lt;br /&gt;
&lt;br /&gt;
=Time validation=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are a number of ways to write 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 [[Question type - Date|date question type]] (it can also capture time) you can use the [[Question type - Short free text|short free text question type]] with one of the below validation regular expressions.&lt;br /&gt;
&lt;br /&gt;
The following three validation strings test for 24 hour time (in order of appearances) without seconds, with optional seconds lastly with seconds required:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9](?::[0-5][0-9])?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following three match 12 hour time, as above with seconds, optional seconds and with seconds required:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?&amp;quot;&amp;gt;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))$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?: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))$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?: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))$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following three match either 12 or 24 hour time as above with seconds, optional seconds and with seconds required:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:(?: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])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:(?: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])?)$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:(?: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])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=US states=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To validate for one state use the following (example is Texas):&lt;br /&gt;
*TX uppercase only: &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(TX)$/&amp;lt;/source&amp;gt;&lt;br /&gt;
*tx lowercase only: &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(tx)$/&amp;lt;/source&amp;gt;&lt;br /&gt;
*TX upper or lowercase: &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^([T|t][X|x])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Profanity Filter=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To filter profanity words from an answer:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?i)((?!\bENTERPROFANITYHERE\b).)*$(?-i)/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Replace &amp;quot;ENTERPROFANITYHERE&amp;quot; with your bad word.&lt;br /&gt;
&lt;br /&gt;
The \b will allow passing of words such as &amp;quot;assassination&amp;quot; and &amp;quot;hello&amp;quot; if you enter &amp;quot;ass&amp;quot; or &amp;quot;hell&amp;quot; as your profanity word. This also works if you are trying to omit other words, names etc. from answers.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Helpful links=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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.&lt;/div&gt;</summary>
		<author><name>Cyr1lle</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=Translations:Using_regular_expressions/3/fr&amp;diff=143416</id>
		<title>Translations:Using regular expressions/3/fr</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=Translations:Using_regular_expressions/3/fr&amp;diff=143416"/>
		<updated>2019-06-16T12:15:21Z</updated>

		<summary type="html">&lt;p&gt;Cyr1lle: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Pour tester vos expressions régulières vous pouvez utiliser ces testeurs d&#039;expressions régulières: [https://regex101.com/ regex101] |https://extendsclass.com/regex-tester.html regex tester]&lt;/div&gt;</summary>
		<author><name>Cyr1lle</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=Using_regular_expressions/fr&amp;diff=143415</id>
		<title>Using regular expressions/fr</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=Using_regular_expressions/fr&amp;diff=143415"/>
		<updated>2019-06-16T12:13:14Z</updated>

		<summary type="html">&lt;p&gt;Cyr1lle: Created page with &amp;quot;=Numéros de téléphone=&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt; &lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-translate-fuzzy&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;La traduction de cette page n&#039;est pas terminée.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=#Validation=&lt;br /&gt;
&lt;br /&gt;
Lorsque vous définissez les attributs d&#039;une question, vous devez indiquer son code, le texte de la question, le type de question,&lt;br /&gt;
&lt;br /&gt;
le nombre minimum et/ou maximum de caractères, etc.&lt;br /&gt;
&lt;br /&gt;
Cependant, il n&#039;est pas possible définir tous les attributs de contrôle pouvant satisfaire les besoins des utilisateurs de LimeSurvey.&lt;br /&gt;
&lt;br /&gt;
La zone de saisie &#039;&#039;Validation&#039;&#039; de l&#039;écran d&#039;édition d&#039;une question joue ce rôle et permet d&#039;ajouter des contrôles supplémentaires sur la réponse.&lt;br /&gt;
&lt;br /&gt;
Ces contrôles se font gr&amp;amp;acirc;ce à des expressions régulières que l&#039;on place dans la zone de saisie &#039;&#039;Validation&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:LimeSurvey-2011-06-01-19-18.png]]&lt;br /&gt;
&lt;br /&gt;
Dans la situation présentée ci-dessus, la réponse sera considérée comme valide si d&#039;une part elle est composée uniquement de lettres&lt;br /&gt;
&lt;br /&gt;
en majuscule et d&#039;autre part si le nombre de lettres est compris entre 1 et 10.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Attention&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour le contenu de la zone de saisie &#039;&#039;Validation&#039;&#039; soit évalué, il faut obligatoirement que l&#039;utilisateur est saisi un caractère.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=#Bref rappel=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Avertissements&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L&#039;objet de cette section n&#039;est pas d&#039;expliquer comment constituer des expressions régulières&lt;br /&gt;
&lt;br /&gt;
ou bien d&#039;expliquer leurs fonctionnements.&lt;br /&gt;
&lt;br /&gt;
De très bons livres le font comme Maîtrise des expressions régulières de Jeffrey E. F. Friedl.&lt;br /&gt;
&lt;br /&gt;
Il y a également des sites qui traitent de ces sujets comme  http://www.regxlib.net/ (en anglais)&lt;br /&gt;
&lt;br /&gt;
ou bien http://perl.enstimac.fr/DocFr/perlrequick.html (en français).&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L&#039;expression régulière est un moyen puissant,flexible et efficace d&#039;appliquer un traitement sur du texte.&lt;br /&gt;
&lt;br /&gt;
Gr&amp;amp;acirc;ce à une notation générale (motif, pattern), c&#039;est une sorte de mini-langage de programmation qui permet de décrire&lt;br /&gt;
&lt;br /&gt;
et d&#039;analyser le texte. Plusieurs notations existent.&lt;br /&gt;
&lt;br /&gt;
Celle utilisée dans LimeSurvey est du type PERL et doivent commencer et se terminer par le caractère slash (&amp;quot;/&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Métacaractère||   Signification||&lt;br /&gt;
|-&lt;br /&gt;
|   .||   n&#039;importe quel caractère sauf \n||&lt;br /&gt;
|-&lt;br /&gt;
|   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;  ]|| tous les caractères énumérés  ||   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;abc]&lt;br /&gt;
|-&lt;br /&gt;
|   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~  ]|| tous les caractères sauf ceux qui sont énumérés  ||   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~abc]&lt;br /&gt;
|-&lt;br /&gt;
|   ~124~ || tous les caractères sauf ceux qui sont énumérés  ||   mot1~124~mot2~124~mot3&lt;br /&gt;
|-&lt;br /&gt;
|   - || intervalle  ||   a-z&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Quantificateur||   Signification   || Exemple&lt;br /&gt;
|-&lt;br /&gt;
|   * ||   zéro ou plus  || A* = zéro ou plus de lettre A&lt;br /&gt;
|-&lt;br /&gt;
|   + || 1 ou plus       || A+ = une lettre A ou plus&lt;br /&gt;
|-&lt;br /&gt;
|   ? || 0 ou 1          || A? = pas de lettre A ou une seule lettre A&lt;br /&gt;
|-&lt;br /&gt;
| {n} || n fois exactement || A{3} = trois lettres A&lt;br /&gt;
|-&lt;br /&gt;
|{min,} || minimum min fois et plus || A{3,} trois lettres A ou plus&lt;br /&gt;
|-&lt;br /&gt;
|{min,max}|| minimum min et maximum max  fois || A{3,7} trois lettres A au minimum et au maximum 7 lettres A&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Caractères||   Signification || Équivalence&lt;br /&gt;
|-&lt;br /&gt;
| \n || nouvelle ligne||&lt;br /&gt;
|-&lt;br /&gt;
| \r || retour à la ligne||&lt;br /&gt;
|-&lt;br /&gt;
| \t || tabulation||&lt;br /&gt;
|-&lt;br /&gt;
| \v || tabulation vertical||&lt;br /&gt;
|-&lt;br /&gt;
| \f || nouvelle page||&lt;br /&gt;
|-&lt;br /&gt;
|   \s ||   caractères d&#039;espacement|| &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;\n\r\t\f]&lt;br /&gt;
|-&lt;br /&gt;
|   \S || tous les caractères sauf les caractères d&#039;espacement|| &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~\n\r\t\f]&lt;br /&gt;
|-&lt;br /&gt;
|   \d || les chiffres||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;0-9]&lt;br /&gt;
|-&lt;br /&gt;
| \D || tous les caractères sauf les chiffres||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~0-9]&lt;br /&gt;
|-&lt;br /&gt;
| \w || caractère constituant un mot||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;0-9a-zA-Z_]&lt;br /&gt;
|-&lt;br /&gt;
| \W || tous les caractères ne constituant pas un mot||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~\w]&lt;br /&gt;
|-&lt;br /&gt;
| \xhh || caractère en hexadécimal(hh) ex: \x41 = A||&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Modificateur||   Signification&lt;br /&gt;
|-&lt;br /&gt;
| i || ignore la casse&lt;br /&gt;
|-&lt;br /&gt;
| x || le point reconnait aussi \n&lt;br /&gt;
|-&lt;br /&gt;
| m || mode multi lignes&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Les modificateurs se mettent après le dernier slash ex : /&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;a-z]/i est équivalent à /&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;a-zA-Z]/&lt;br /&gt;
&lt;br /&gt;
Vous pouvez tester vos expressions régulières sur http://www.spaweditor.com/scripts/regex/index.php&lt;br /&gt;
&lt;br /&gt;
=#Quelques exemples=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&#039;&#039;Vous pouvez ajouter des expressions régulières mais testées auparavant!&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemples (notez qu&#039;elles sont toutes sur une seule ligne):&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un code postal français==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^0[1-9]|[1-8][0-9]|9[0-8]|2A|2B[0-9]{3}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression teste seulement de le format du code postal mais pas de sa validité.&lt;br /&gt;
&lt;br /&gt;
==Validation du numéro de département français==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^0[1-9]|[1-8][0-9]|9[0-8]|2A|2B$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression teste seulement de le format du numéro du département mais pas de sa validité.&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un nombre==&lt;br /&gt;
&lt;br /&gt;
===Validation d&#039;un nombre entier===&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle défini (age, etc.) de 20 à 99====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/([2-9][0-9])/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle défini (age, etc.) de 18 à 35====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(1[8-9]|2[0-9]|3[0-5])/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle défini (age, etc.) de 19 à 65====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;(1[8-9]|[2-5][0-9]|6[0-5])$&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle de 1 à 99999====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^([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])$/&amp;lt;/nowiki&amp;gt;  &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,4}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
C&#039;est deux expressions produisent le même résultat.&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans plusieurs intervalles de 1 à 999, de 1.000 à 999.999====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,2}(?:\.[0-9]{3}){0,1}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un score compris entre 1 et 10====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9]{1}$|^10$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un score compris entre 1 et 100====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9]?[0-9]{1}$|^100$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===validation d&#039;un nombre décimal===&lt;br /&gt;
&lt;br /&gt;
Ce type de validation peut être utilisé dans le cas de prix, mesure&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un nombre décimal====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^([1][0-9][0-9]|[1-9][0-9]|[0-9])[[\.)[0-9][0-9])?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 les nombres entre ayant une partie décimale optionnelle à deux chiffres&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}\.[0-9]{2}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ===Monnaie===&lt;br /&gt;
&lt;br /&gt;
 ====Euro (le signe Euro et les centimes sont optionnels)====&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;/^\d+(\.(\d{3}]]?&amp;amp;euro;?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Dollar US====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\$?\d+(\.(\d{2}))?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le signe dollar en début de saisie et les cents sont optionnels.&lt;br /&gt;
&lt;br /&gt;
====Prix en Franc Suisse====&lt;br /&gt;
&lt;br /&gt;
C&#039;est un nombre avec deux décimales  après la virgule dont le dernier chiffre est soit 5, soit 0.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(\d+)(\.\d(05)?)?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;une date==&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;une date au format jj/mm/aaaa====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\d{1,2}\/\d{1,2}\/\d{4}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;une date au format jj/mm/aaaa du 20 ou 21éme siècle====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\d{1,2}\/\d{1,2}\/(19|20)\d{2}$/&amp;lt;/nowiki&amp;gt; a tester&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un mois (1-12)====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[0]?[1-9]$|^1[0-2]$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression permet de saisir le mois de janvier soit 1, soit 01.&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;une heure==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9]$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
cette expression permet de valider un format d&#039;heure HH:MM ex : 11:32&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9](?::[0-5][0-9])?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression permet de valider un format d&#039;heure HH:MM:SS où la partie de secondes est optionnelle ex : 11:32:53 ou bien 11:32&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression permet de valider un format d&#039;heure HH:MM:SS où la partie des secondes est obligatoire ex : 11:32:53&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;une longueur de saisie==&lt;br /&gt;
&lt;br /&gt;
Pour certain type de question, LimeSurvey propose dans les paramètres avancés ce type de contrôle.&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;une longueur de saisie minimum====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^.{3,}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ici la longueur minimum est de 3 caractères quelconques&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;une longueur de saisie maximum====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^.{3,}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ici la longueur maximum est de 3 caractères quelconques&lt;br /&gt;
&lt;br /&gt;
==Validation de texte==&lt;br /&gt;
&lt;br /&gt;
Actuellement, le type de question &#039;&#039;Multiples zones de texte court&#039;&#039; ne permet pas de contrôler le minimum ou le maximum de réponses.&lt;br /&gt;
&lt;br /&gt;
Une des manières d&#039;y parvenir est d&#039;utiliser le type question &#039;&#039;Zone de texte long&#039;&#039; sur laquelle on appliquera une expression régulière.&lt;br /&gt;
&lt;br /&gt;
L&#039;expression ci-dessous vérifie qu&#039;il y a au moins un mot par ligne et qu&#039;il y a au moins trois lignes mais pas plus de 10 lignes :&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)){2,10}/is&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si vous voulez vérifier qu&#039;il y a au moins 5 mots par ligne, vous devez changer le premier et le dernier caractère étoile (*) par {4,}&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+){4,})(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+){4,})){2,10}/is&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si voulez 1 ou plusieurs mots par ligne et de 1 à 5 lignes, vous pouvez changer les valeurs du quantificateur {0,4}.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)){0,4}/is&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Limiter le nombre de mots===&lt;br /&gt;
&lt;br /&gt;
L&#039;expression ci-dessous permet d&#039;écrire au minimum 1 mot et au maximum 200 mots.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[-\w]+(?:\W+[-\w]+){0,199}\W*$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vous pouvez varier le minimum et le maximum selon vos besoins en changeant {0,199} ( voir ci-dessus le tableau &#039;&#039;Quantificateur&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un mot==&lt;br /&gt;
&lt;br /&gt;
==== mot dans une liste====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(arbre|feuille|fleur){1}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le mot saisie doit correspondre exactement (minuscule) au mot dans la liste.&lt;br /&gt;
&lt;br /&gt;
====validation du mot dans une liste====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(arbre|feuille|fleur){1}$/i&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ici, on ne tient pas compte des minuscules et des majuscules : Les mots suivants Arbre,arbre, ARBRE, ArBrE, etc. sont tous valides.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-translate-fuzzy&amp;quot;&amp;gt;&lt;br /&gt;
Pour tester vos expressions régulières vous pouvez utiliser ces testeurs d&#039;expressions régulières: [https://regex101.com/ regex101] |https://extendsclass.com/regex-tester.html  regex tester]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note|To improve this wiki section, we kindly ask you to add your successfully tested regular expression(s) to provide a better understanding of this feature to the new LimeSurvey (potential) users.}}&lt;br /&gt;
&lt;br /&gt;
{{Alert|title=Attention|text= Please note that all the below examples are written on one line!}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Important: Regular Expressions in conditions=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that when using regular expressions in the condition editor, do NOT include the beginning and ending slash.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-translate-fuzzy&amp;quot;&amp;gt;&lt;br /&gt;
=#Validation=&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Update (12/2018): Since these days domain names cannot only hold special characters like “ü” but also use more than 3 characters as domain name like .&#039;&#039;tech&#039;&#039; or .&#039;&#039;company&#039;&#039;, the below email regex only checks if “@” and “.” exists within the entered email address.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
/^.+?@.+?\..+$/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
At this outdated regex the domain name is limited to 3 characters which doesn&#039;t cover all available domains:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
/^(\w[-._+\w]*\w@\w[-._\w]*\w\.\w{2,3})$/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Codes postaux&lt;br /&gt;
&lt;br /&gt;
== Codes postaux australiens: ==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[0-9]{4}/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Codes postaux brésiliens ==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[0-9]{2}\.[0-9]{3}-[0-9]{3}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Codes postaux canadiens ==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[a-zA-Z]\d{1}[a-zA-Z](\-| |)\d{1}[a-zA-Z]\d{1}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Codes postaux américains ==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[0-9]{5}([- /]?[0-9]{4})?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Codes postaux britanniques ==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[A-Z][A-Z]?[0-9][A-Z0-9]? ?[0-9][ABDEFGHJLNPQRSTUWXYZ]{2}$/i&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notez que ceci n&#039;est pas très exact et qu&#039;une validation précise est beaucoup plus complexe. Par exemple, voir [https://stackoverflow.com/questions/164979/uk-postcode-regex-comprehensive StackOverflow answer] et [https://en.wikipedia.org/wiki/Talk:Postcodes_in_the_United_Kingdom#Regular_Expressions Wikipedia] pour plus informations.&lt;br /&gt;
&lt;br /&gt;
== Codes postaux français == &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/(^[0-8]\d\d{3}$)|(^9[0-5]\d{3}$)|(^97[1-6]\d{2}$)|(^98[46-8]\d{2}$)/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L&#039;expression ci-dessus est très précise et permettra de vérifier l&#039;existence ou non du département français (deux premiers chiffres), y compris les départements et territoires d&#039;outre-mer (DOM-TOM).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Numéros de téléphone=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==US phone numbers==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\([2-9]\d{2}\)\ ?|[2-9]\d{2}(?:\-?|\ ?))[2-9]\d{2}[- ]?\d{4}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[\(\)\.\- ]{0,}[0-9]{3}[\(\)\.\- ]{0,}[0-9]{3}[\(\)\.\- ]{0,}[0-9]{4}[\(\)\.\- ]{0,}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This second option will match all phone Canadian and US phone numbers that include non-digit symbols including:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt; . ( ) - (space)&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will allow you to match phone numbers which resemble below:&lt;br /&gt;
*(555)555 5555&lt;br /&gt;
*555.555.5555&lt;br /&gt;
*555 555 5555&lt;br /&gt;
*(555)-555-5555&lt;br /&gt;
*555-555-5555&lt;br /&gt;
*555555555&lt;br /&gt;
&lt;br /&gt;
==Australian phone numbers==&lt;br /&gt;
&lt;br /&gt;
The following patterns match all various Australian mobile and landline phone numbers including with &amp;quot;+61&amp;quot; country prefix:&lt;br /&gt;
*(02) 9123 6535&lt;br /&gt;
*03 1234-5345&lt;br /&gt;
*0412 345 678&lt;br /&gt;
*+61 2 3456 789&lt;br /&gt;
&lt;br /&gt;
But not:&lt;br /&gt;
* 234 3450 234&lt;br /&gt;
*a234 534 3432&lt;br /&gt;
*134567&lt;br /&gt;
*123456789013&lt;br /&gt;
&lt;br /&gt;
Brackets, white space and hypens are ignored.&lt;br /&gt;
&lt;br /&gt;
The &#039;Very precise:&#039; versions listed here match against the first four or five digits in a number to ensure that they are valid Australian numbers.&lt;br /&gt;
&lt;br /&gt;
The &#039;Not very precise:&#039; only match against the first and second digit so may allow invaid numbers.&lt;br /&gt;
&lt;br /&gt;
===All Australian phone numbers (mobile and landline - area code required)===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^\(?(?:\+?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})$/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\+?61|0)[2-478](?:[ -]?[0-9]){8}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===All Australian phone numbers (landlines only - area code required)===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^\(?(?:\+?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}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\+?61|\(?0)[2378]\)?(?:[ -]?[0-9]){8}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===New South Wales landline phone numbers (area code optional)===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)2\)?[ -]?)?(?:3[ -]?[38]|[46-9][ -]?[0-9]|5[ -]?[0-35-9])(?:[ -]?[0-9]){6}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)2\)?(?:[ -]?[0-9]){7}[0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Victorian and Tasmanian landline phone numbers (area code optional)===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)3\)?[ -]?)?(?:4[ -]?[0-57-9]|[57-9][ -]?[0-9]|6[ -]?[1-67])(?:[ -]?[0-9]){6}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)3\)?(?:[ -]?[0-9]){7}[0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Queensland landline phone numbers (area code optional)===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)7\)?[ -]?)?(?:[2-4][ -]?[0-9]|5[ -]?[2-7]|7[ -]?6)(?:[ -]?[0-9]){6}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)7\)?(?:[ -]?[0-9]){7}[0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===South Australia, Northern Territory, Western Australia landline phone numbers (area code optional)===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)8\)?[ -]?)?(?:5[1-4]|6[0-8]|[7-9][0-9])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)8\)?(?:[ -]?[0-9]){7}[0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Australian mobile phone numbers only===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\+?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}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)4\)?(?:[ -]?[0-9]){7}[0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Belgian phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00)32\s?|0)(\d\s?\d{3}|\d{2}\s?\d{2})(\s?\d{2}){2}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
==Belgian mobile phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00)32\s?|0)4(60|[789]\d)(\s?\d{2}){3}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
==French phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00)33\s?|0)[1-59](\s?\d{2}){4}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
==French mobile phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00)33\s?|0)[67](\s?\d{2}){4}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
==Luxemburg phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00\s?)352)?(\s?\d{2}){3,4}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
==Luxemburg mobile phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00\s?)352)?\s?6[269]1(\s?\d{3}){2}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
=German marks (with optional plus or minus)=&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-6]{1}[\+|\-]?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Age validation=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example: Age 20-99&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/([2-9][0-9])/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example: Age 18-35&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/(1[8-9]|2[0-9]|3[0-5])/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example: Age 19-65&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(1[8-9]|[2-5][0-9]|6[0-5])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Number validation= &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Numbers from 1 to 99999==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^([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])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9][0-9]{0,4}$/ does the same as above but should run a little faster&amp;lt;/source&amp;gt;&lt;br /&gt;
==Numbers from 1 to 999, 1.000 to 999.999 to 999.999.999==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9][0-9]{0,2}(?:\.[0-9]{3}){0,2}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
Accepts numbers from 1 to 999, 1.000 to 999.999 to 999.999.999 but&lt;br /&gt;
rejects numbers like 999.1.1 , 94.22.22, 999.1.22, 999.11.1, 999.1.333&lt;br /&gt;
&lt;br /&gt;
==Number validation with optional decimal (for price)==&lt;br /&gt;
Accepts numbers from 0 to 199, with 2 decimal optional:&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^([1][0-9][0-9]|[1-9][0-9]|[0-9])((\.)[0-9][0-9])?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It forces two decimal points and accepts numbers from 1.00 to 999,999,999.00 with an optional comma delimiting thousands/millions&lt;br /&gt;
including all of the following: 1.00, 1,000.00, 12,345.67, 12345,02, 123,456,468.00, 1234566.00, 123456789.00&lt;br /&gt;
but not 1,23.00, 12,3.4 or 1234,43.04&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}\.[0-9]{2}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Similar to the above: Forces two decimal points but accepts a &amp;quot;0&amp;quot; before decimal separator &amp;quot;,&amp;quot;.&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/[0-9]{0,2}(?:,?[0-9]{3}){0,3}\.[0-9]{2}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Same as above, but the two decimal points are optional:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}(?:\.[0-9]{2})?$/ &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Month (1-12)==&lt;br /&gt;
&lt;br /&gt;
If you want to ask for the month a person was born you can validate the input as follows:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[0]*[1-9]$|^[0]*1[0-2]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Minimum width (set to 3 in this example)=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^.{3,}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Currency=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==US currency (dollar sign and cents optional)==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^\$?\d+(\.(\d{2}))?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Check for comma usage:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^\$?\d{1,3}(\d+(?!,))?(,\d{3})*(\.\d{2})?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Swiss price==&lt;br /&gt;
&lt;br /&gt;
A number with two decimal numbers after the decimal point of which the last one is either a 5 or a 0:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(\d+)(\.\d(05)?)?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Validate score=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==1-10==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9]{1}$|^10$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==1-100==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9]?[0-9]{1}$|^100$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Text validation=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The [[Question type - Multiple short text|multiple short text question type]] doesn&#039;t support minimum or maximum answers at the moment. One way around this is to use a [[Question type - Long free text|long free text question type]] with a regular expression.&lt;br /&gt;
&lt;br /&gt;
The below expression tests for at least one word per line for at least 3 lines and no more than 10 lines:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+)*)){2,10}/is&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want, say five words per line, you could change the first and last star/asterisk to {4,}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+){4,})(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+){4,})){2,10}/is&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you wanted one or more words per line (between line 1 and line 5), you can change the content located within the last curly braces to &#039;&#039;&#039;0,4&#039;&#039;&#039; (note you use 0 because you&#039;re already matching the first line).&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+)*)){0,4}/is&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Word count==&lt;br /&gt;
&lt;br /&gt;
 The following restricts the number of words allowed to a minimum of 1 and a maximum of 200:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[-\w]+(?:\W+[-\w]+){0,199}\W*$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 To increase the minimum change the zero part of {0,199}.&lt;br /&gt;
&lt;br /&gt;
To increase or decrease the maximum change the &amp;quot;199&amp;quot; part of {0,199}.&lt;br /&gt;
&lt;br /&gt;
=Time validation=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are a number of ways to write 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 [[Question type - Date|date question type]] (it can also capture time) you can use the [[Question type - Short free text|short free text question type]] with one of the below validation regular expressions.&lt;br /&gt;
&lt;br /&gt;
The following three validation strings test for 24 hour time (in order of appearances) without seconds, with optional seconds lastly with seconds required:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9](?::[0-5][0-9])?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following three match 12 hour time, as above with seconds, optional seconds and with seconds required:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?&amp;quot;&amp;gt;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))$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?: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))$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?: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))$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following three match either 12 or 24 hour time as above with seconds, optional seconds and with seconds required:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:(?: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])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:(?: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])?)$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:(?: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])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=US states=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To validate for one state use the following (example is Texas):&lt;br /&gt;
*TX uppercase only: &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(TX)$/&amp;lt;/source&amp;gt;&lt;br /&gt;
*tx lowercase only: &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(tx)$/&amp;lt;/source&amp;gt;&lt;br /&gt;
*TX upper or lowercase: &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^([T|t][X|x])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Profanity Filter=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To filter profanity words from an answer:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?i)((?!\bENTERPROFANITYHERE\b).)*$(?-i)/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Replace &amp;quot;ENTERPROFANITYHERE&amp;quot; with your bad word.&lt;br /&gt;
&lt;br /&gt;
The \b will allow passing of words such as &amp;quot;assassination&amp;quot; and &amp;quot;hello&amp;quot; if you enter &amp;quot;ass&amp;quot; or &amp;quot;hell&amp;quot; as your profanity word. This also works if you are trying to omit other words, names etc. from answers.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Helpful links=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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.&lt;/div&gt;</summary>
		<author><name>Cyr1lle</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=Translations:Using_regular_expressions/25/fr&amp;diff=143414</id>
		<title>Translations:Using regular expressions/25/fr</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=Translations:Using_regular_expressions/25/fr&amp;diff=143414"/>
		<updated>2019-06-16T12:13:13Z</updated>

		<summary type="html">&lt;p&gt;Cyr1lle: Created page with &amp;quot;=Numéros de téléphone=&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Numéros de téléphone=&lt;/div&gt;</summary>
		<author><name>Cyr1lle</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=Using_regular_expressions/fr&amp;diff=143413</id>
		<title>Using regular expressions/fr</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=Using_regular_expressions/fr&amp;diff=143413"/>
		<updated>2019-06-16T12:12:53Z</updated>

		<summary type="html">&lt;p&gt;Cyr1lle: Created page with &amp;quot;L&amp;#039;expression ci-dessus est très précise et permettra de vérifier l&amp;#039;existence ou non du département français (deux premiers chiffres), y compris les départements et terri...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt; &lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-translate-fuzzy&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;La traduction de cette page n&#039;est pas terminée.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=#Validation=&lt;br /&gt;
&lt;br /&gt;
Lorsque vous définissez les attributs d&#039;une question, vous devez indiquer son code, le texte de la question, le type de question,&lt;br /&gt;
&lt;br /&gt;
le nombre minimum et/ou maximum de caractères, etc.&lt;br /&gt;
&lt;br /&gt;
Cependant, il n&#039;est pas possible définir tous les attributs de contrôle pouvant satisfaire les besoins des utilisateurs de LimeSurvey.&lt;br /&gt;
&lt;br /&gt;
La zone de saisie &#039;&#039;Validation&#039;&#039; de l&#039;écran d&#039;édition d&#039;une question joue ce rôle et permet d&#039;ajouter des contrôles supplémentaires sur la réponse.&lt;br /&gt;
&lt;br /&gt;
Ces contrôles se font gr&amp;amp;acirc;ce à des expressions régulières que l&#039;on place dans la zone de saisie &#039;&#039;Validation&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:LimeSurvey-2011-06-01-19-18.png]]&lt;br /&gt;
&lt;br /&gt;
Dans la situation présentée ci-dessus, la réponse sera considérée comme valide si d&#039;une part elle est composée uniquement de lettres&lt;br /&gt;
&lt;br /&gt;
en majuscule et d&#039;autre part si le nombre de lettres est compris entre 1 et 10.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Attention&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour le contenu de la zone de saisie &#039;&#039;Validation&#039;&#039; soit évalué, il faut obligatoirement que l&#039;utilisateur est saisi un caractère.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=#Bref rappel=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Avertissements&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L&#039;objet de cette section n&#039;est pas d&#039;expliquer comment constituer des expressions régulières&lt;br /&gt;
&lt;br /&gt;
ou bien d&#039;expliquer leurs fonctionnements.&lt;br /&gt;
&lt;br /&gt;
De très bons livres le font comme Maîtrise des expressions régulières de Jeffrey E. F. Friedl.&lt;br /&gt;
&lt;br /&gt;
Il y a également des sites qui traitent de ces sujets comme  http://www.regxlib.net/ (en anglais)&lt;br /&gt;
&lt;br /&gt;
ou bien http://perl.enstimac.fr/DocFr/perlrequick.html (en français).&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L&#039;expression régulière est un moyen puissant,flexible et efficace d&#039;appliquer un traitement sur du texte.&lt;br /&gt;
&lt;br /&gt;
Gr&amp;amp;acirc;ce à une notation générale (motif, pattern), c&#039;est une sorte de mini-langage de programmation qui permet de décrire&lt;br /&gt;
&lt;br /&gt;
et d&#039;analyser le texte. Plusieurs notations existent.&lt;br /&gt;
&lt;br /&gt;
Celle utilisée dans LimeSurvey est du type PERL et doivent commencer et se terminer par le caractère slash (&amp;quot;/&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Métacaractère||   Signification||&lt;br /&gt;
|-&lt;br /&gt;
|   .||   n&#039;importe quel caractère sauf \n||&lt;br /&gt;
|-&lt;br /&gt;
|   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;  ]|| tous les caractères énumérés  ||   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;abc]&lt;br /&gt;
|-&lt;br /&gt;
|   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~  ]|| tous les caractères sauf ceux qui sont énumérés  ||   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~abc]&lt;br /&gt;
|-&lt;br /&gt;
|   ~124~ || tous les caractères sauf ceux qui sont énumérés  ||   mot1~124~mot2~124~mot3&lt;br /&gt;
|-&lt;br /&gt;
|   - || intervalle  ||   a-z&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Quantificateur||   Signification   || Exemple&lt;br /&gt;
|-&lt;br /&gt;
|   * ||   zéro ou plus  || A* = zéro ou plus de lettre A&lt;br /&gt;
|-&lt;br /&gt;
|   + || 1 ou plus       || A+ = une lettre A ou plus&lt;br /&gt;
|-&lt;br /&gt;
|   ? || 0 ou 1          || A? = pas de lettre A ou une seule lettre A&lt;br /&gt;
|-&lt;br /&gt;
| {n} || n fois exactement || A{3} = trois lettres A&lt;br /&gt;
|-&lt;br /&gt;
|{min,} || minimum min fois et plus || A{3,} trois lettres A ou plus&lt;br /&gt;
|-&lt;br /&gt;
|{min,max}|| minimum min et maximum max  fois || A{3,7} trois lettres A au minimum et au maximum 7 lettres A&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Caractères||   Signification || Équivalence&lt;br /&gt;
|-&lt;br /&gt;
| \n || nouvelle ligne||&lt;br /&gt;
|-&lt;br /&gt;
| \r || retour à la ligne||&lt;br /&gt;
|-&lt;br /&gt;
| \t || tabulation||&lt;br /&gt;
|-&lt;br /&gt;
| \v || tabulation vertical||&lt;br /&gt;
|-&lt;br /&gt;
| \f || nouvelle page||&lt;br /&gt;
|-&lt;br /&gt;
|   \s ||   caractères d&#039;espacement|| &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;\n\r\t\f]&lt;br /&gt;
|-&lt;br /&gt;
|   \S || tous les caractères sauf les caractères d&#039;espacement|| &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~\n\r\t\f]&lt;br /&gt;
|-&lt;br /&gt;
|   \d || les chiffres||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;0-9]&lt;br /&gt;
|-&lt;br /&gt;
| \D || tous les caractères sauf les chiffres||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~0-9]&lt;br /&gt;
|-&lt;br /&gt;
| \w || caractère constituant un mot||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;0-9a-zA-Z_]&lt;br /&gt;
|-&lt;br /&gt;
| \W || tous les caractères ne constituant pas un mot||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~\w]&lt;br /&gt;
|-&lt;br /&gt;
| \xhh || caractère en hexadécimal(hh) ex: \x41 = A||&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Modificateur||   Signification&lt;br /&gt;
|-&lt;br /&gt;
| i || ignore la casse&lt;br /&gt;
|-&lt;br /&gt;
| x || le point reconnait aussi \n&lt;br /&gt;
|-&lt;br /&gt;
| m || mode multi lignes&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Les modificateurs se mettent après le dernier slash ex : /&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;a-z]/i est équivalent à /&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;a-zA-Z]/&lt;br /&gt;
&lt;br /&gt;
Vous pouvez tester vos expressions régulières sur http://www.spaweditor.com/scripts/regex/index.php&lt;br /&gt;
&lt;br /&gt;
=#Quelques exemples=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&#039;&#039;Vous pouvez ajouter des expressions régulières mais testées auparavant!&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemples (notez qu&#039;elles sont toutes sur une seule ligne):&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un code postal français==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^0[1-9]|[1-8][0-9]|9[0-8]|2A|2B[0-9]{3}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression teste seulement de le format du code postal mais pas de sa validité.&lt;br /&gt;
&lt;br /&gt;
==Validation du numéro de département français==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^0[1-9]|[1-8][0-9]|9[0-8]|2A|2B$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression teste seulement de le format du numéro du département mais pas de sa validité.&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un nombre==&lt;br /&gt;
&lt;br /&gt;
===Validation d&#039;un nombre entier===&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle défini (age, etc.) de 20 à 99====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/([2-9][0-9])/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle défini (age, etc.) de 18 à 35====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(1[8-9]|2[0-9]|3[0-5])/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle défini (age, etc.) de 19 à 65====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;(1[8-9]|[2-5][0-9]|6[0-5])$&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle de 1 à 99999====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^([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])$/&amp;lt;/nowiki&amp;gt;  &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,4}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
C&#039;est deux expressions produisent le même résultat.&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans plusieurs intervalles de 1 à 999, de 1.000 à 999.999====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,2}(?:\.[0-9]{3}){0,1}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un score compris entre 1 et 10====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9]{1}$|^10$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un score compris entre 1 et 100====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9]?[0-9]{1}$|^100$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===validation d&#039;un nombre décimal===&lt;br /&gt;
&lt;br /&gt;
Ce type de validation peut être utilisé dans le cas de prix, mesure&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un nombre décimal====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^([1][0-9][0-9]|[1-9][0-9]|[0-9])[[\.)[0-9][0-9])?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 les nombres entre ayant une partie décimale optionnelle à deux chiffres&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}\.[0-9]{2}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ===Monnaie===&lt;br /&gt;
&lt;br /&gt;
 ====Euro (le signe Euro et les centimes sont optionnels)====&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;/^\d+(\.(\d{3}]]?&amp;amp;euro;?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Dollar US====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\$?\d+(\.(\d{2}))?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le signe dollar en début de saisie et les cents sont optionnels.&lt;br /&gt;
&lt;br /&gt;
====Prix en Franc Suisse====&lt;br /&gt;
&lt;br /&gt;
C&#039;est un nombre avec deux décimales  après la virgule dont le dernier chiffre est soit 5, soit 0.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(\d+)(\.\d(05)?)?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;une date==&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;une date au format jj/mm/aaaa====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\d{1,2}\/\d{1,2}\/\d{4}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;une date au format jj/mm/aaaa du 20 ou 21éme siècle====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\d{1,2}\/\d{1,2}\/(19|20)\d{2}$/&amp;lt;/nowiki&amp;gt; a tester&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un mois (1-12)====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[0]?[1-9]$|^1[0-2]$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression permet de saisir le mois de janvier soit 1, soit 01.&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;une heure==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9]$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
cette expression permet de valider un format d&#039;heure HH:MM ex : 11:32&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9](?::[0-5][0-9])?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression permet de valider un format d&#039;heure HH:MM:SS où la partie de secondes est optionnelle ex : 11:32:53 ou bien 11:32&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression permet de valider un format d&#039;heure HH:MM:SS où la partie des secondes est obligatoire ex : 11:32:53&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;une longueur de saisie==&lt;br /&gt;
&lt;br /&gt;
Pour certain type de question, LimeSurvey propose dans les paramètres avancés ce type de contrôle.&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;une longueur de saisie minimum====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^.{3,}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ici la longueur minimum est de 3 caractères quelconques&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;une longueur de saisie maximum====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^.{3,}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ici la longueur maximum est de 3 caractères quelconques&lt;br /&gt;
&lt;br /&gt;
==Validation de texte==&lt;br /&gt;
&lt;br /&gt;
Actuellement, le type de question &#039;&#039;Multiples zones de texte court&#039;&#039; ne permet pas de contrôler le minimum ou le maximum de réponses.&lt;br /&gt;
&lt;br /&gt;
Une des manières d&#039;y parvenir est d&#039;utiliser le type question &#039;&#039;Zone de texte long&#039;&#039; sur laquelle on appliquera une expression régulière.&lt;br /&gt;
&lt;br /&gt;
L&#039;expression ci-dessous vérifie qu&#039;il y a au moins un mot par ligne et qu&#039;il y a au moins trois lignes mais pas plus de 10 lignes :&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)){2,10}/is&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si vous voulez vérifier qu&#039;il y a au moins 5 mots par ligne, vous devez changer le premier et le dernier caractère étoile (*) par {4,}&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+){4,})(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+){4,})){2,10}/is&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si voulez 1 ou plusieurs mots par ligne et de 1 à 5 lignes, vous pouvez changer les valeurs du quantificateur {0,4}.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)){0,4}/is&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Limiter le nombre de mots===&lt;br /&gt;
&lt;br /&gt;
L&#039;expression ci-dessous permet d&#039;écrire au minimum 1 mot et au maximum 200 mots.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[-\w]+(?:\W+[-\w]+){0,199}\W*$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vous pouvez varier le minimum et le maximum selon vos besoins en changeant {0,199} ( voir ci-dessus le tableau &#039;&#039;Quantificateur&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un mot==&lt;br /&gt;
&lt;br /&gt;
==== mot dans une liste====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(arbre|feuille|fleur){1}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le mot saisie doit correspondre exactement (minuscule) au mot dans la liste.&lt;br /&gt;
&lt;br /&gt;
====validation du mot dans une liste====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(arbre|feuille|fleur){1}$/i&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ici, on ne tient pas compte des minuscules et des majuscules : Les mots suivants Arbre,arbre, ARBRE, ArBrE, etc. sont tous valides.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-translate-fuzzy&amp;quot;&amp;gt;&lt;br /&gt;
Pour tester vos expressions régulières vous pouvez utiliser ces testeurs d&#039;expressions régulières: [https://regex101.com/ regex101] |https://extendsclass.com/regex-tester.html  regex tester]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note|To improve this wiki section, we kindly ask you to add your successfully tested regular expression(s) to provide a better understanding of this feature to the new LimeSurvey (potential) users.}}&lt;br /&gt;
&lt;br /&gt;
{{Alert|title=Attention|text= Please note that all the below examples are written on one line!}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Important: Regular Expressions in conditions=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that when using regular expressions in the condition editor, do NOT include the beginning and ending slash.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-translate-fuzzy&amp;quot;&amp;gt;&lt;br /&gt;
=#Validation=&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Update (12/2018): Since these days domain names cannot only hold special characters like “ü” but also use more than 3 characters as domain name like .&#039;&#039;tech&#039;&#039; or .&#039;&#039;company&#039;&#039;, the below email regex only checks if “@” and “.” exists within the entered email address.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
/^.+?@.+?\..+$/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
At this outdated regex the domain name is limited to 3 characters which doesn&#039;t cover all available domains:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
/^(\w[-._+\w]*\w@\w[-._\w]*\w\.\w{2,3})$/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Codes postaux&lt;br /&gt;
&lt;br /&gt;
== Codes postaux australiens: ==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[0-9]{4}/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Codes postaux brésiliens ==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[0-9]{2}\.[0-9]{3}-[0-9]{3}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Codes postaux canadiens ==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[a-zA-Z]\d{1}[a-zA-Z](\-| |)\d{1}[a-zA-Z]\d{1}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Codes postaux américains ==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[0-9]{5}([- /]?[0-9]{4})?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Codes postaux britanniques ==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[A-Z][A-Z]?[0-9][A-Z0-9]? ?[0-9][ABDEFGHJLNPQRSTUWXYZ]{2}$/i&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notez que ceci n&#039;est pas très exact et qu&#039;une validation précise est beaucoup plus complexe. Par exemple, voir [https://stackoverflow.com/questions/164979/uk-postcode-regex-comprehensive StackOverflow answer] et [https://en.wikipedia.org/wiki/Talk:Postcodes_in_the_United_Kingdom#Regular_Expressions Wikipedia] pour plus informations.&lt;br /&gt;
&lt;br /&gt;
== Codes postaux français == &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/(^[0-8]\d\d{3}$)|(^9[0-5]\d{3}$)|(^97[1-6]\d{2}$)|(^98[46-8]\d{2}$)/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L&#039;expression ci-dessus est très précise et permettra de vérifier l&#039;existence ou non du département français (deux premiers chiffres), y compris les départements et territoires d&#039;outre-mer (DOM-TOM).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Phone numbers=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==US phone numbers==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\([2-9]\d{2}\)\ ?|[2-9]\d{2}(?:\-?|\ ?))[2-9]\d{2}[- ]?\d{4}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[\(\)\.\- ]{0,}[0-9]{3}[\(\)\.\- ]{0,}[0-9]{3}[\(\)\.\- ]{0,}[0-9]{4}[\(\)\.\- ]{0,}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This second option will match all phone Canadian and US phone numbers that include non-digit symbols including:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt; . ( ) - (space)&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will allow you to match phone numbers which resemble below:&lt;br /&gt;
*(555)555 5555&lt;br /&gt;
*555.555.5555&lt;br /&gt;
*555 555 5555&lt;br /&gt;
*(555)-555-5555&lt;br /&gt;
*555-555-5555&lt;br /&gt;
*555555555&lt;br /&gt;
&lt;br /&gt;
==Australian phone numbers==&lt;br /&gt;
&lt;br /&gt;
The following patterns match all various Australian mobile and landline phone numbers including with &amp;quot;+61&amp;quot; country prefix:&lt;br /&gt;
*(02) 9123 6535&lt;br /&gt;
*03 1234-5345&lt;br /&gt;
*0412 345 678&lt;br /&gt;
*+61 2 3456 789&lt;br /&gt;
&lt;br /&gt;
But not:&lt;br /&gt;
* 234 3450 234&lt;br /&gt;
*a234 534 3432&lt;br /&gt;
*134567&lt;br /&gt;
*123456789013&lt;br /&gt;
&lt;br /&gt;
Brackets, white space and hypens are ignored.&lt;br /&gt;
&lt;br /&gt;
The &#039;Very precise:&#039; versions listed here match against the first four or five digits in a number to ensure that they are valid Australian numbers.&lt;br /&gt;
&lt;br /&gt;
The &#039;Not very precise:&#039; only match against the first and second digit so may allow invaid numbers.&lt;br /&gt;
&lt;br /&gt;
===All Australian phone numbers (mobile and landline - area code required)===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^\(?(?:\+?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})$/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\+?61|0)[2-478](?:[ -]?[0-9]){8}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===All Australian phone numbers (landlines only - area code required)===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^\(?(?:\+?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}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\+?61|\(?0)[2378]\)?(?:[ -]?[0-9]){8}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===New South Wales landline phone numbers (area code optional)===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)2\)?[ -]?)?(?:3[ -]?[38]|[46-9][ -]?[0-9]|5[ -]?[0-35-9])(?:[ -]?[0-9]){6}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)2\)?(?:[ -]?[0-9]){7}[0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Victorian and Tasmanian landline phone numbers (area code optional)===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)3\)?[ -]?)?(?:4[ -]?[0-57-9]|[57-9][ -]?[0-9]|6[ -]?[1-67])(?:[ -]?[0-9]){6}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)3\)?(?:[ -]?[0-9]){7}[0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Queensland landline phone numbers (area code optional)===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)7\)?[ -]?)?(?:[2-4][ -]?[0-9]|5[ -]?[2-7]|7[ -]?6)(?:[ -]?[0-9]){6}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)7\)?(?:[ -]?[0-9]){7}[0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===South Australia, Northern Territory, Western Australia landline phone numbers (area code optional)===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)8\)?[ -]?)?(?:5[1-4]|6[0-8]|[7-9][0-9])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)8\)?(?:[ -]?[0-9]){7}[0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Australian mobile phone numbers only===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\+?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}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)4\)?(?:[ -]?[0-9]){7}[0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Belgian phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00)32\s?|0)(\d\s?\d{3}|\d{2}\s?\d{2})(\s?\d{2}){2}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
==Belgian mobile phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00)32\s?|0)4(60|[789]\d)(\s?\d{2}){3}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
==French phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00)33\s?|0)[1-59](\s?\d{2}){4}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
==French mobile phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00)33\s?|0)[67](\s?\d{2}){4}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
==Luxemburg phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00\s?)352)?(\s?\d{2}){3,4}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
==Luxemburg mobile phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00\s?)352)?\s?6[269]1(\s?\d{3}){2}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
=German marks (with optional plus or minus)=&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-6]{1}[\+|\-]?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Age validation=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example: Age 20-99&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/([2-9][0-9])/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example: Age 18-35&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/(1[8-9]|2[0-9]|3[0-5])/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example: Age 19-65&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(1[8-9]|[2-5][0-9]|6[0-5])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Number validation= &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Numbers from 1 to 99999==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^([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])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9][0-9]{0,4}$/ does the same as above but should run a little faster&amp;lt;/source&amp;gt;&lt;br /&gt;
==Numbers from 1 to 999, 1.000 to 999.999 to 999.999.999==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9][0-9]{0,2}(?:\.[0-9]{3}){0,2}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
Accepts numbers from 1 to 999, 1.000 to 999.999 to 999.999.999 but&lt;br /&gt;
rejects numbers like 999.1.1 , 94.22.22, 999.1.22, 999.11.1, 999.1.333&lt;br /&gt;
&lt;br /&gt;
==Number validation with optional decimal (for price)==&lt;br /&gt;
Accepts numbers from 0 to 199, with 2 decimal optional:&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^([1][0-9][0-9]|[1-9][0-9]|[0-9])((\.)[0-9][0-9])?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It forces two decimal points and accepts numbers from 1.00 to 999,999,999.00 with an optional comma delimiting thousands/millions&lt;br /&gt;
including all of the following: 1.00, 1,000.00, 12,345.67, 12345,02, 123,456,468.00, 1234566.00, 123456789.00&lt;br /&gt;
but not 1,23.00, 12,3.4 or 1234,43.04&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}\.[0-9]{2}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Similar to the above: Forces two decimal points but accepts a &amp;quot;0&amp;quot; before decimal separator &amp;quot;,&amp;quot;.&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/[0-9]{0,2}(?:,?[0-9]{3}){0,3}\.[0-9]{2}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Same as above, but the two decimal points are optional:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}(?:\.[0-9]{2})?$/ &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Month (1-12)==&lt;br /&gt;
&lt;br /&gt;
If you want to ask for the month a person was born you can validate the input as follows:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[0]*[1-9]$|^[0]*1[0-2]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Minimum width (set to 3 in this example)=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^.{3,}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Currency=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==US currency (dollar sign and cents optional)==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^\$?\d+(\.(\d{2}))?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Check for comma usage:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^\$?\d{1,3}(\d+(?!,))?(,\d{3})*(\.\d{2})?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Swiss price==&lt;br /&gt;
&lt;br /&gt;
A number with two decimal numbers after the decimal point of which the last one is either a 5 or a 0:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(\d+)(\.\d(05)?)?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Validate score=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==1-10==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9]{1}$|^10$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==1-100==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9]?[0-9]{1}$|^100$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Text validation=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The [[Question type - Multiple short text|multiple short text question type]] doesn&#039;t support minimum or maximum answers at the moment. One way around this is to use a [[Question type - Long free text|long free text question type]] with a regular expression.&lt;br /&gt;
&lt;br /&gt;
The below expression tests for at least one word per line for at least 3 lines and no more than 10 lines:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+)*)){2,10}/is&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want, say five words per line, you could change the first and last star/asterisk to {4,}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+){4,})(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+){4,})){2,10}/is&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you wanted one or more words per line (between line 1 and line 5), you can change the content located within the last curly braces to &#039;&#039;&#039;0,4&#039;&#039;&#039; (note you use 0 because you&#039;re already matching the first line).&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+)*)){0,4}/is&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Word count==&lt;br /&gt;
&lt;br /&gt;
 The following restricts the number of words allowed to a minimum of 1 and a maximum of 200:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[-\w]+(?:\W+[-\w]+){0,199}\W*$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 To increase the minimum change the zero part of {0,199}.&lt;br /&gt;
&lt;br /&gt;
To increase or decrease the maximum change the &amp;quot;199&amp;quot; part of {0,199}.&lt;br /&gt;
&lt;br /&gt;
=Time validation=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are a number of ways to write 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 [[Question type - Date|date question type]] (it can also capture time) you can use the [[Question type - Short free text|short free text question type]] with one of the below validation regular expressions.&lt;br /&gt;
&lt;br /&gt;
The following three validation strings test for 24 hour time (in order of appearances) without seconds, with optional seconds lastly with seconds required:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9](?::[0-5][0-9])?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following three match 12 hour time, as above with seconds, optional seconds and with seconds required:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?&amp;quot;&amp;gt;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))$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?: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))$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?: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))$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following three match either 12 or 24 hour time as above with seconds, optional seconds and with seconds required:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:(?: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])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:(?: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])?)$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:(?: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])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=US states=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To validate for one state use the following (example is Texas):&lt;br /&gt;
*TX uppercase only: &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(TX)$/&amp;lt;/source&amp;gt;&lt;br /&gt;
*tx lowercase only: &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(tx)$/&amp;lt;/source&amp;gt;&lt;br /&gt;
*TX upper or lowercase: &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^([T|t][X|x])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Profanity Filter=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To filter profanity words from an answer:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?i)((?!\bENTERPROFANITYHERE\b).)*$(?-i)/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Replace &amp;quot;ENTERPROFANITYHERE&amp;quot; with your bad word.&lt;br /&gt;
&lt;br /&gt;
The \b will allow passing of words such as &amp;quot;assassination&amp;quot; and &amp;quot;hello&amp;quot; if you enter &amp;quot;ass&amp;quot; or &amp;quot;hell&amp;quot; as your profanity word. This also works if you are trying to omit other words, names etc. from answers.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Helpful links=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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.&lt;/div&gt;</summary>
		<author><name>Cyr1lle</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=Translations:Using_regular_expressions/27/fr&amp;diff=143412</id>
		<title>Translations:Using regular expressions/27/fr</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=Translations:Using_regular_expressions/27/fr&amp;diff=143412"/>
		<updated>2019-06-16T12:12:52Z</updated>

		<summary type="html">&lt;p&gt;Cyr1lle: Created page with &amp;quot;L&amp;#039;expression ci-dessus est très précise et permettra de vérifier l&amp;#039;existence ou non du département français (deux premiers chiffres), y compris les départements et terri...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;L&#039;expression ci-dessus est très précise et permettra de vérifier l&#039;existence ou non du département français (deux premiers chiffres), y compris les départements et territoires d&#039;outre-mer (DOM-TOM).&lt;/div&gt;</summary>
		<author><name>Cyr1lle</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=Using_regular_expressions/fr&amp;diff=143411</id>
		<title>Using regular expressions/fr</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=Using_regular_expressions/fr&amp;diff=143411"/>
		<updated>2019-06-16T12:11:39Z</updated>

		<summary type="html">&lt;p&gt;Cyr1lle: Created page with &amp;quot;== Codes postaux français ==&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt; &lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-translate-fuzzy&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;La traduction de cette page n&#039;est pas terminée.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=#Validation=&lt;br /&gt;
&lt;br /&gt;
Lorsque vous définissez les attributs d&#039;une question, vous devez indiquer son code, le texte de la question, le type de question,&lt;br /&gt;
&lt;br /&gt;
le nombre minimum et/ou maximum de caractères, etc.&lt;br /&gt;
&lt;br /&gt;
Cependant, il n&#039;est pas possible définir tous les attributs de contrôle pouvant satisfaire les besoins des utilisateurs de LimeSurvey.&lt;br /&gt;
&lt;br /&gt;
La zone de saisie &#039;&#039;Validation&#039;&#039; de l&#039;écran d&#039;édition d&#039;une question joue ce rôle et permet d&#039;ajouter des contrôles supplémentaires sur la réponse.&lt;br /&gt;
&lt;br /&gt;
Ces contrôles se font gr&amp;amp;acirc;ce à des expressions régulières que l&#039;on place dans la zone de saisie &#039;&#039;Validation&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:LimeSurvey-2011-06-01-19-18.png]]&lt;br /&gt;
&lt;br /&gt;
Dans la situation présentée ci-dessus, la réponse sera considérée comme valide si d&#039;une part elle est composée uniquement de lettres&lt;br /&gt;
&lt;br /&gt;
en majuscule et d&#039;autre part si le nombre de lettres est compris entre 1 et 10.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Attention&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour le contenu de la zone de saisie &#039;&#039;Validation&#039;&#039; soit évalué, il faut obligatoirement que l&#039;utilisateur est saisi un caractère.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=#Bref rappel=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Avertissements&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L&#039;objet de cette section n&#039;est pas d&#039;expliquer comment constituer des expressions régulières&lt;br /&gt;
&lt;br /&gt;
ou bien d&#039;expliquer leurs fonctionnements.&lt;br /&gt;
&lt;br /&gt;
De très bons livres le font comme Maîtrise des expressions régulières de Jeffrey E. F. Friedl.&lt;br /&gt;
&lt;br /&gt;
Il y a également des sites qui traitent de ces sujets comme  http://www.regxlib.net/ (en anglais)&lt;br /&gt;
&lt;br /&gt;
ou bien http://perl.enstimac.fr/DocFr/perlrequick.html (en français).&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L&#039;expression régulière est un moyen puissant,flexible et efficace d&#039;appliquer un traitement sur du texte.&lt;br /&gt;
&lt;br /&gt;
Gr&amp;amp;acirc;ce à une notation générale (motif, pattern), c&#039;est une sorte de mini-langage de programmation qui permet de décrire&lt;br /&gt;
&lt;br /&gt;
et d&#039;analyser le texte. Plusieurs notations existent.&lt;br /&gt;
&lt;br /&gt;
Celle utilisée dans LimeSurvey est du type PERL et doivent commencer et se terminer par le caractère slash (&amp;quot;/&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Métacaractère||   Signification||&lt;br /&gt;
|-&lt;br /&gt;
|   .||   n&#039;importe quel caractère sauf \n||&lt;br /&gt;
|-&lt;br /&gt;
|   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;  ]|| tous les caractères énumérés  ||   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;abc]&lt;br /&gt;
|-&lt;br /&gt;
|   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~  ]|| tous les caractères sauf ceux qui sont énumérés  ||   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~abc]&lt;br /&gt;
|-&lt;br /&gt;
|   ~124~ || tous les caractères sauf ceux qui sont énumérés  ||   mot1~124~mot2~124~mot3&lt;br /&gt;
|-&lt;br /&gt;
|   - || intervalle  ||   a-z&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Quantificateur||   Signification   || Exemple&lt;br /&gt;
|-&lt;br /&gt;
|   * ||   zéro ou plus  || A* = zéro ou plus de lettre A&lt;br /&gt;
|-&lt;br /&gt;
|   + || 1 ou plus       || A+ = une lettre A ou plus&lt;br /&gt;
|-&lt;br /&gt;
|   ? || 0 ou 1          || A? = pas de lettre A ou une seule lettre A&lt;br /&gt;
|-&lt;br /&gt;
| {n} || n fois exactement || A{3} = trois lettres A&lt;br /&gt;
|-&lt;br /&gt;
|{min,} || minimum min fois et plus || A{3,} trois lettres A ou plus&lt;br /&gt;
|-&lt;br /&gt;
|{min,max}|| minimum min et maximum max  fois || A{3,7} trois lettres A au minimum et au maximum 7 lettres A&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Caractères||   Signification || Équivalence&lt;br /&gt;
|-&lt;br /&gt;
| \n || nouvelle ligne||&lt;br /&gt;
|-&lt;br /&gt;
| \r || retour à la ligne||&lt;br /&gt;
|-&lt;br /&gt;
| \t || tabulation||&lt;br /&gt;
|-&lt;br /&gt;
| \v || tabulation vertical||&lt;br /&gt;
|-&lt;br /&gt;
| \f || nouvelle page||&lt;br /&gt;
|-&lt;br /&gt;
|   \s ||   caractères d&#039;espacement|| &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;\n\r\t\f]&lt;br /&gt;
|-&lt;br /&gt;
|   \S || tous les caractères sauf les caractères d&#039;espacement|| &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~\n\r\t\f]&lt;br /&gt;
|-&lt;br /&gt;
|   \d || les chiffres||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;0-9]&lt;br /&gt;
|-&lt;br /&gt;
| \D || tous les caractères sauf les chiffres||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~0-9]&lt;br /&gt;
|-&lt;br /&gt;
| \w || caractère constituant un mot||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;0-9a-zA-Z_]&lt;br /&gt;
|-&lt;br /&gt;
| \W || tous les caractères ne constituant pas un mot||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~\w]&lt;br /&gt;
|-&lt;br /&gt;
| \xhh || caractère en hexadécimal(hh) ex: \x41 = A||&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Modificateur||   Signification&lt;br /&gt;
|-&lt;br /&gt;
| i || ignore la casse&lt;br /&gt;
|-&lt;br /&gt;
| x || le point reconnait aussi \n&lt;br /&gt;
|-&lt;br /&gt;
| m || mode multi lignes&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Les modificateurs se mettent après le dernier slash ex : /&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;a-z]/i est équivalent à /&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;a-zA-Z]/&lt;br /&gt;
&lt;br /&gt;
Vous pouvez tester vos expressions régulières sur http://www.spaweditor.com/scripts/regex/index.php&lt;br /&gt;
&lt;br /&gt;
=#Quelques exemples=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&#039;&#039;Vous pouvez ajouter des expressions régulières mais testées auparavant!&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemples (notez qu&#039;elles sont toutes sur une seule ligne):&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un code postal français==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^0[1-9]|[1-8][0-9]|9[0-8]|2A|2B[0-9]{3}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression teste seulement de le format du code postal mais pas de sa validité.&lt;br /&gt;
&lt;br /&gt;
==Validation du numéro de département français==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^0[1-9]|[1-8][0-9]|9[0-8]|2A|2B$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression teste seulement de le format du numéro du département mais pas de sa validité.&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un nombre==&lt;br /&gt;
&lt;br /&gt;
===Validation d&#039;un nombre entier===&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle défini (age, etc.) de 20 à 99====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/([2-9][0-9])/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle défini (age, etc.) de 18 à 35====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(1[8-9]|2[0-9]|3[0-5])/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle défini (age, etc.) de 19 à 65====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;(1[8-9]|[2-5][0-9]|6[0-5])$&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle de 1 à 99999====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^([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])$/&amp;lt;/nowiki&amp;gt;  &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,4}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
C&#039;est deux expressions produisent le même résultat.&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans plusieurs intervalles de 1 à 999, de 1.000 à 999.999====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,2}(?:\.[0-9]{3}){0,1}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un score compris entre 1 et 10====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9]{1}$|^10$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un score compris entre 1 et 100====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9]?[0-9]{1}$|^100$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===validation d&#039;un nombre décimal===&lt;br /&gt;
&lt;br /&gt;
Ce type de validation peut être utilisé dans le cas de prix, mesure&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un nombre décimal====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^([1][0-9][0-9]|[1-9][0-9]|[0-9])[[\.)[0-9][0-9])?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 les nombres entre ayant une partie décimale optionnelle à deux chiffres&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}\.[0-9]{2}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ===Monnaie===&lt;br /&gt;
&lt;br /&gt;
 ====Euro (le signe Euro et les centimes sont optionnels)====&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;/^\d+(\.(\d{3}]]?&amp;amp;euro;?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Dollar US====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\$?\d+(\.(\d{2}))?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le signe dollar en début de saisie et les cents sont optionnels.&lt;br /&gt;
&lt;br /&gt;
====Prix en Franc Suisse====&lt;br /&gt;
&lt;br /&gt;
C&#039;est un nombre avec deux décimales  après la virgule dont le dernier chiffre est soit 5, soit 0.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(\d+)(\.\d(05)?)?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;une date==&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;une date au format jj/mm/aaaa====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\d{1,2}\/\d{1,2}\/\d{4}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;une date au format jj/mm/aaaa du 20 ou 21éme siècle====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\d{1,2}\/\d{1,2}\/(19|20)\d{2}$/&amp;lt;/nowiki&amp;gt; a tester&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un mois (1-12)====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[0]?[1-9]$|^1[0-2]$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression permet de saisir le mois de janvier soit 1, soit 01.&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;une heure==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9]$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
cette expression permet de valider un format d&#039;heure HH:MM ex : 11:32&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9](?::[0-5][0-9])?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression permet de valider un format d&#039;heure HH:MM:SS où la partie de secondes est optionnelle ex : 11:32:53 ou bien 11:32&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression permet de valider un format d&#039;heure HH:MM:SS où la partie des secondes est obligatoire ex : 11:32:53&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;une longueur de saisie==&lt;br /&gt;
&lt;br /&gt;
Pour certain type de question, LimeSurvey propose dans les paramètres avancés ce type de contrôle.&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;une longueur de saisie minimum====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^.{3,}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ici la longueur minimum est de 3 caractères quelconques&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;une longueur de saisie maximum====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^.{3,}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ici la longueur maximum est de 3 caractères quelconques&lt;br /&gt;
&lt;br /&gt;
==Validation de texte==&lt;br /&gt;
&lt;br /&gt;
Actuellement, le type de question &#039;&#039;Multiples zones de texte court&#039;&#039; ne permet pas de contrôler le minimum ou le maximum de réponses.&lt;br /&gt;
&lt;br /&gt;
Une des manières d&#039;y parvenir est d&#039;utiliser le type question &#039;&#039;Zone de texte long&#039;&#039; sur laquelle on appliquera une expression régulière.&lt;br /&gt;
&lt;br /&gt;
L&#039;expression ci-dessous vérifie qu&#039;il y a au moins un mot par ligne et qu&#039;il y a au moins trois lignes mais pas plus de 10 lignes :&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)){2,10}/is&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si vous voulez vérifier qu&#039;il y a au moins 5 mots par ligne, vous devez changer le premier et le dernier caractère étoile (*) par {4,}&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+){4,})(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+){4,})){2,10}/is&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si voulez 1 ou plusieurs mots par ligne et de 1 à 5 lignes, vous pouvez changer les valeurs du quantificateur {0,4}.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)){0,4}/is&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Limiter le nombre de mots===&lt;br /&gt;
&lt;br /&gt;
L&#039;expression ci-dessous permet d&#039;écrire au minimum 1 mot et au maximum 200 mots.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[-\w]+(?:\W+[-\w]+){0,199}\W*$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vous pouvez varier le minimum et le maximum selon vos besoins en changeant {0,199} ( voir ci-dessus le tableau &#039;&#039;Quantificateur&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un mot==&lt;br /&gt;
&lt;br /&gt;
==== mot dans une liste====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(arbre|feuille|fleur){1}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le mot saisie doit correspondre exactement (minuscule) au mot dans la liste.&lt;br /&gt;
&lt;br /&gt;
====validation du mot dans une liste====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(arbre|feuille|fleur){1}$/i&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ici, on ne tient pas compte des minuscules et des majuscules : Les mots suivants Arbre,arbre, ARBRE, ArBrE, etc. sont tous valides.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-translate-fuzzy&amp;quot;&amp;gt;&lt;br /&gt;
Pour tester vos expressions régulières vous pouvez utiliser ces testeurs d&#039;expressions régulières: [https://regex101.com/ regex101] |https://extendsclass.com/regex-tester.html  regex tester]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note|To improve this wiki section, we kindly ask you to add your successfully tested regular expression(s) to provide a better understanding of this feature to the new LimeSurvey (potential) users.}}&lt;br /&gt;
&lt;br /&gt;
{{Alert|title=Attention|text= Please note that all the below examples are written on one line!}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Important: Regular Expressions in conditions=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that when using regular expressions in the condition editor, do NOT include the beginning and ending slash.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-translate-fuzzy&amp;quot;&amp;gt;&lt;br /&gt;
=#Validation=&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Update (12/2018): Since these days domain names cannot only hold special characters like “ü” but also use more than 3 characters as domain name like .&#039;&#039;tech&#039;&#039; or .&#039;&#039;company&#039;&#039;, the below email regex only checks if “@” and “.” exists within the entered email address.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
/^.+?@.+?\..+$/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
At this outdated regex the domain name is limited to 3 characters which doesn&#039;t cover all available domains:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
/^(\w[-._+\w]*\w@\w[-._\w]*\w\.\w{2,3})$/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Codes postaux&lt;br /&gt;
&lt;br /&gt;
== Codes postaux australiens: ==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[0-9]{4}/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Codes postaux brésiliens ==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[0-9]{2}\.[0-9]{3}-[0-9]{3}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Codes postaux canadiens ==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[a-zA-Z]\d{1}[a-zA-Z](\-| |)\d{1}[a-zA-Z]\d{1}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Codes postaux américains ==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[0-9]{5}([- /]?[0-9]{4})?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Codes postaux britanniques ==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[A-Z][A-Z]?[0-9][A-Z0-9]? ?[0-9][ABDEFGHJLNPQRSTUWXYZ]{2}$/i&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notez que ceci n&#039;est pas très exact et qu&#039;une validation précise est beaucoup plus complexe. Par exemple, voir [https://stackoverflow.com/questions/164979/uk-postcode-regex-comprehensive StackOverflow answer] et [https://en.wikipedia.org/wiki/Talk:Postcodes_in_the_United_Kingdom#Regular_Expressions Wikipedia] pour plus informations.&lt;br /&gt;
&lt;br /&gt;
== Codes postaux français == &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/(^[0-8]\d\d{3}$)|(^9[0-5]\d{3}$)|(^97[1-6]\d{2}$)|(^98[46-8]\d{2}$)/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above expression is very precise and it will check whether or not the French Department exists (first two digits), including overseas Departments and overseas Territories (DOM-TOM).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Phone numbers=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==US phone numbers==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\([2-9]\d{2}\)\ ?|[2-9]\d{2}(?:\-?|\ ?))[2-9]\d{2}[- ]?\d{4}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[\(\)\.\- ]{0,}[0-9]{3}[\(\)\.\- ]{0,}[0-9]{3}[\(\)\.\- ]{0,}[0-9]{4}[\(\)\.\- ]{0,}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This second option will match all phone Canadian and US phone numbers that include non-digit symbols including:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt; . ( ) - (space)&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will allow you to match phone numbers which resemble below:&lt;br /&gt;
*(555)555 5555&lt;br /&gt;
*555.555.5555&lt;br /&gt;
*555 555 5555&lt;br /&gt;
*(555)-555-5555&lt;br /&gt;
*555-555-5555&lt;br /&gt;
*555555555&lt;br /&gt;
&lt;br /&gt;
==Australian phone numbers==&lt;br /&gt;
&lt;br /&gt;
The following patterns match all various Australian mobile and landline phone numbers including with &amp;quot;+61&amp;quot; country prefix:&lt;br /&gt;
*(02) 9123 6535&lt;br /&gt;
*03 1234-5345&lt;br /&gt;
*0412 345 678&lt;br /&gt;
*+61 2 3456 789&lt;br /&gt;
&lt;br /&gt;
But not:&lt;br /&gt;
* 234 3450 234&lt;br /&gt;
*a234 534 3432&lt;br /&gt;
*134567&lt;br /&gt;
*123456789013&lt;br /&gt;
&lt;br /&gt;
Brackets, white space and hypens are ignored.&lt;br /&gt;
&lt;br /&gt;
The &#039;Very precise:&#039; versions listed here match against the first four or five digits in a number to ensure that they are valid Australian numbers.&lt;br /&gt;
&lt;br /&gt;
The &#039;Not very precise:&#039; only match against the first and second digit so may allow invaid numbers.&lt;br /&gt;
&lt;br /&gt;
===All Australian phone numbers (mobile and landline - area code required)===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^\(?(?:\+?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})$/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\+?61|0)[2-478](?:[ -]?[0-9]){8}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===All Australian phone numbers (landlines only - area code required)===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^\(?(?:\+?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}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\+?61|\(?0)[2378]\)?(?:[ -]?[0-9]){8}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===New South Wales landline phone numbers (area code optional)===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)2\)?[ -]?)?(?:3[ -]?[38]|[46-9][ -]?[0-9]|5[ -]?[0-35-9])(?:[ -]?[0-9]){6}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)2\)?(?:[ -]?[0-9]){7}[0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Victorian and Tasmanian landline phone numbers (area code optional)===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)3\)?[ -]?)?(?:4[ -]?[0-57-9]|[57-9][ -]?[0-9]|6[ -]?[1-67])(?:[ -]?[0-9]){6}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)3\)?(?:[ -]?[0-9]){7}[0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Queensland landline phone numbers (area code optional)===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)7\)?[ -]?)?(?:[2-4][ -]?[0-9]|5[ -]?[2-7]|7[ -]?6)(?:[ -]?[0-9]){6}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)7\)?(?:[ -]?[0-9]){7}[0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===South Australia, Northern Territory, Western Australia landline phone numbers (area code optional)===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)8\)?[ -]?)?(?:5[1-4]|6[0-8]|[7-9][0-9])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)8\)?(?:[ -]?[0-9]){7}[0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Australian mobile phone numbers only===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\+?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}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)4\)?(?:[ -]?[0-9]){7}[0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Belgian phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00)32\s?|0)(\d\s?\d{3}|\d{2}\s?\d{2})(\s?\d{2}){2}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
==Belgian mobile phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00)32\s?|0)4(60|[789]\d)(\s?\d{2}){3}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
==French phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00)33\s?|0)[1-59](\s?\d{2}){4}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
==French mobile phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00)33\s?|0)[67](\s?\d{2}){4}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
==Luxemburg phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00\s?)352)?(\s?\d{2}){3,4}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
==Luxemburg mobile phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00\s?)352)?\s?6[269]1(\s?\d{3}){2}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
=German marks (with optional plus or minus)=&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-6]{1}[\+|\-]?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Age validation=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example: Age 20-99&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/([2-9][0-9])/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example: Age 18-35&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/(1[8-9]|2[0-9]|3[0-5])/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example: Age 19-65&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(1[8-9]|[2-5][0-9]|6[0-5])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Number validation= &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Numbers from 1 to 99999==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^([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])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9][0-9]{0,4}$/ does the same as above but should run a little faster&amp;lt;/source&amp;gt;&lt;br /&gt;
==Numbers from 1 to 999, 1.000 to 999.999 to 999.999.999==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9][0-9]{0,2}(?:\.[0-9]{3}){0,2}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
Accepts numbers from 1 to 999, 1.000 to 999.999 to 999.999.999 but&lt;br /&gt;
rejects numbers like 999.1.1 , 94.22.22, 999.1.22, 999.11.1, 999.1.333&lt;br /&gt;
&lt;br /&gt;
==Number validation with optional decimal (for price)==&lt;br /&gt;
Accepts numbers from 0 to 199, with 2 decimal optional:&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^([1][0-9][0-9]|[1-9][0-9]|[0-9])((\.)[0-9][0-9])?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It forces two decimal points and accepts numbers from 1.00 to 999,999,999.00 with an optional comma delimiting thousands/millions&lt;br /&gt;
including all of the following: 1.00, 1,000.00, 12,345.67, 12345,02, 123,456,468.00, 1234566.00, 123456789.00&lt;br /&gt;
but not 1,23.00, 12,3.4 or 1234,43.04&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}\.[0-9]{2}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Similar to the above: Forces two decimal points but accepts a &amp;quot;0&amp;quot; before decimal separator &amp;quot;,&amp;quot;.&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/[0-9]{0,2}(?:,?[0-9]{3}){0,3}\.[0-9]{2}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Same as above, but the two decimal points are optional:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}(?:\.[0-9]{2})?$/ &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Month (1-12)==&lt;br /&gt;
&lt;br /&gt;
If you want to ask for the month a person was born you can validate the input as follows:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[0]*[1-9]$|^[0]*1[0-2]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Minimum width (set to 3 in this example)=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^.{3,}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Currency=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==US currency (dollar sign and cents optional)==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^\$?\d+(\.(\d{2}))?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Check for comma usage:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^\$?\d{1,3}(\d+(?!,))?(,\d{3})*(\.\d{2})?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Swiss price==&lt;br /&gt;
&lt;br /&gt;
A number with two decimal numbers after the decimal point of which the last one is either a 5 or a 0:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(\d+)(\.\d(05)?)?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Validate score=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==1-10==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9]{1}$|^10$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==1-100==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9]?[0-9]{1}$|^100$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Text validation=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The [[Question type - Multiple short text|multiple short text question type]] doesn&#039;t support minimum or maximum answers at the moment. One way around this is to use a [[Question type - Long free text|long free text question type]] with a regular expression.&lt;br /&gt;
&lt;br /&gt;
The below expression tests for at least one word per line for at least 3 lines and no more than 10 lines:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+)*)){2,10}/is&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want, say five words per line, you could change the first and last star/asterisk to {4,}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+){4,})(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+){4,})){2,10}/is&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you wanted one or more words per line (between line 1 and line 5), you can change the content located within the last curly braces to &#039;&#039;&#039;0,4&#039;&#039;&#039; (note you use 0 because you&#039;re already matching the first line).&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+)*)){0,4}/is&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Word count==&lt;br /&gt;
&lt;br /&gt;
 The following restricts the number of words allowed to a minimum of 1 and a maximum of 200:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[-\w]+(?:\W+[-\w]+){0,199}\W*$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 To increase the minimum change the zero part of {0,199}.&lt;br /&gt;
&lt;br /&gt;
To increase or decrease the maximum change the &amp;quot;199&amp;quot; part of {0,199}.&lt;br /&gt;
&lt;br /&gt;
=Time validation=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are a number of ways to write 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 [[Question type - Date|date question type]] (it can also capture time) you can use the [[Question type - Short free text|short free text question type]] with one of the below validation regular expressions.&lt;br /&gt;
&lt;br /&gt;
The following three validation strings test for 24 hour time (in order of appearances) without seconds, with optional seconds lastly with seconds required:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9](?::[0-5][0-9])?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following three match 12 hour time, as above with seconds, optional seconds and with seconds required:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?&amp;quot;&amp;gt;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))$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?: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))$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?: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))$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following three match either 12 or 24 hour time as above with seconds, optional seconds and with seconds required:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:(?: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])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:(?: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])?)$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:(?: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])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=US states=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To validate for one state use the following (example is Texas):&lt;br /&gt;
*TX uppercase only: &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(TX)$/&amp;lt;/source&amp;gt;&lt;br /&gt;
*tx lowercase only: &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(tx)$/&amp;lt;/source&amp;gt;&lt;br /&gt;
*TX upper or lowercase: &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^([T|t][X|x])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Profanity Filter=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To filter profanity words from an answer:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?i)((?!\bENTERPROFANITYHERE\b).)*$(?-i)/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Replace &amp;quot;ENTERPROFANITYHERE&amp;quot; with your bad word.&lt;br /&gt;
&lt;br /&gt;
The \b will allow passing of words such as &amp;quot;assassination&amp;quot; and &amp;quot;hello&amp;quot; if you enter &amp;quot;ass&amp;quot; or &amp;quot;hell&amp;quot; as your profanity word. This also works if you are trying to omit other words, names etc. from answers.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Helpful links=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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.&lt;/div&gt;</summary>
		<author><name>Cyr1lle</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=Translations:Using_regular_expressions/133/fr&amp;diff=143410</id>
		<title>Translations:Using regular expressions/133/fr</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=Translations:Using_regular_expressions/133/fr&amp;diff=143410"/>
		<updated>2019-06-16T12:11:38Z</updated>

		<summary type="html">&lt;p&gt;Cyr1lle: Created page with &amp;quot;== Codes postaux français ==&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Codes postaux français ==&lt;/div&gt;</summary>
		<author><name>Cyr1lle</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=Using_regular_expressions/fr&amp;diff=143409</id>
		<title>Using regular expressions/fr</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=Using_regular_expressions/fr&amp;diff=143409"/>
		<updated>2019-06-16T12:09:56Z</updated>

		<summary type="html">&lt;p&gt;Cyr1lle: Created page with &amp;quot;Notez que ceci n&amp;#039;est pas très exact et qu&amp;#039;une validation précise est beaucoup plus complexe. Par exemple, voir [https://stackoverflow.com/questions/164979/uk-postcode-regex-...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt; &lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-translate-fuzzy&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;La traduction de cette page n&#039;est pas terminée.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=#Validation=&lt;br /&gt;
&lt;br /&gt;
Lorsque vous définissez les attributs d&#039;une question, vous devez indiquer son code, le texte de la question, le type de question,&lt;br /&gt;
&lt;br /&gt;
le nombre minimum et/ou maximum de caractères, etc.&lt;br /&gt;
&lt;br /&gt;
Cependant, il n&#039;est pas possible définir tous les attributs de contrôle pouvant satisfaire les besoins des utilisateurs de LimeSurvey.&lt;br /&gt;
&lt;br /&gt;
La zone de saisie &#039;&#039;Validation&#039;&#039; de l&#039;écran d&#039;édition d&#039;une question joue ce rôle et permet d&#039;ajouter des contrôles supplémentaires sur la réponse.&lt;br /&gt;
&lt;br /&gt;
Ces contrôles se font gr&amp;amp;acirc;ce à des expressions régulières que l&#039;on place dans la zone de saisie &#039;&#039;Validation&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:LimeSurvey-2011-06-01-19-18.png]]&lt;br /&gt;
&lt;br /&gt;
Dans la situation présentée ci-dessus, la réponse sera considérée comme valide si d&#039;une part elle est composée uniquement de lettres&lt;br /&gt;
&lt;br /&gt;
en majuscule et d&#039;autre part si le nombre de lettres est compris entre 1 et 10.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Attention&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour le contenu de la zone de saisie &#039;&#039;Validation&#039;&#039; soit évalué, il faut obligatoirement que l&#039;utilisateur est saisi un caractère.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=#Bref rappel=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Avertissements&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L&#039;objet de cette section n&#039;est pas d&#039;expliquer comment constituer des expressions régulières&lt;br /&gt;
&lt;br /&gt;
ou bien d&#039;expliquer leurs fonctionnements.&lt;br /&gt;
&lt;br /&gt;
De très bons livres le font comme Maîtrise des expressions régulières de Jeffrey E. F. Friedl.&lt;br /&gt;
&lt;br /&gt;
Il y a également des sites qui traitent de ces sujets comme  http://www.regxlib.net/ (en anglais)&lt;br /&gt;
&lt;br /&gt;
ou bien http://perl.enstimac.fr/DocFr/perlrequick.html (en français).&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L&#039;expression régulière est un moyen puissant,flexible et efficace d&#039;appliquer un traitement sur du texte.&lt;br /&gt;
&lt;br /&gt;
Gr&amp;amp;acirc;ce à une notation générale (motif, pattern), c&#039;est une sorte de mini-langage de programmation qui permet de décrire&lt;br /&gt;
&lt;br /&gt;
et d&#039;analyser le texte. Plusieurs notations existent.&lt;br /&gt;
&lt;br /&gt;
Celle utilisée dans LimeSurvey est du type PERL et doivent commencer et se terminer par le caractère slash (&amp;quot;/&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Métacaractère||   Signification||&lt;br /&gt;
|-&lt;br /&gt;
|   .||   n&#039;importe quel caractère sauf \n||&lt;br /&gt;
|-&lt;br /&gt;
|   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;  ]|| tous les caractères énumérés  ||   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;abc]&lt;br /&gt;
|-&lt;br /&gt;
|   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~  ]|| tous les caractères sauf ceux qui sont énumérés  ||   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~abc]&lt;br /&gt;
|-&lt;br /&gt;
|   ~124~ || tous les caractères sauf ceux qui sont énumérés  ||   mot1~124~mot2~124~mot3&lt;br /&gt;
|-&lt;br /&gt;
|   - || intervalle  ||   a-z&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Quantificateur||   Signification   || Exemple&lt;br /&gt;
|-&lt;br /&gt;
|   * ||   zéro ou plus  || A* = zéro ou plus de lettre A&lt;br /&gt;
|-&lt;br /&gt;
|   + || 1 ou plus       || A+ = une lettre A ou plus&lt;br /&gt;
|-&lt;br /&gt;
|   ? || 0 ou 1          || A? = pas de lettre A ou une seule lettre A&lt;br /&gt;
|-&lt;br /&gt;
| {n} || n fois exactement || A{3} = trois lettres A&lt;br /&gt;
|-&lt;br /&gt;
|{min,} || minimum min fois et plus || A{3,} trois lettres A ou plus&lt;br /&gt;
|-&lt;br /&gt;
|{min,max}|| minimum min et maximum max  fois || A{3,7} trois lettres A au minimum et au maximum 7 lettres A&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Caractères||   Signification || Équivalence&lt;br /&gt;
|-&lt;br /&gt;
| \n || nouvelle ligne||&lt;br /&gt;
|-&lt;br /&gt;
| \r || retour à la ligne||&lt;br /&gt;
|-&lt;br /&gt;
| \t || tabulation||&lt;br /&gt;
|-&lt;br /&gt;
| \v || tabulation vertical||&lt;br /&gt;
|-&lt;br /&gt;
| \f || nouvelle page||&lt;br /&gt;
|-&lt;br /&gt;
|   \s ||   caractères d&#039;espacement|| &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;\n\r\t\f]&lt;br /&gt;
|-&lt;br /&gt;
|   \S || tous les caractères sauf les caractères d&#039;espacement|| &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~\n\r\t\f]&lt;br /&gt;
|-&lt;br /&gt;
|   \d || les chiffres||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;0-9]&lt;br /&gt;
|-&lt;br /&gt;
| \D || tous les caractères sauf les chiffres||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~0-9]&lt;br /&gt;
|-&lt;br /&gt;
| \w || caractère constituant un mot||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;0-9a-zA-Z_]&lt;br /&gt;
|-&lt;br /&gt;
| \W || tous les caractères ne constituant pas un mot||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~\w]&lt;br /&gt;
|-&lt;br /&gt;
| \xhh || caractère en hexadécimal(hh) ex: \x41 = A||&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Modificateur||   Signification&lt;br /&gt;
|-&lt;br /&gt;
| i || ignore la casse&lt;br /&gt;
|-&lt;br /&gt;
| x || le point reconnait aussi \n&lt;br /&gt;
|-&lt;br /&gt;
| m || mode multi lignes&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Les modificateurs se mettent après le dernier slash ex : /&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;a-z]/i est équivalent à /&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;a-zA-Z]/&lt;br /&gt;
&lt;br /&gt;
Vous pouvez tester vos expressions régulières sur http://www.spaweditor.com/scripts/regex/index.php&lt;br /&gt;
&lt;br /&gt;
=#Quelques exemples=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&#039;&#039;Vous pouvez ajouter des expressions régulières mais testées auparavant!&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemples (notez qu&#039;elles sont toutes sur une seule ligne):&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un code postal français==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^0[1-9]|[1-8][0-9]|9[0-8]|2A|2B[0-9]{3}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression teste seulement de le format du code postal mais pas de sa validité.&lt;br /&gt;
&lt;br /&gt;
==Validation du numéro de département français==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^0[1-9]|[1-8][0-9]|9[0-8]|2A|2B$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression teste seulement de le format du numéro du département mais pas de sa validité.&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un nombre==&lt;br /&gt;
&lt;br /&gt;
===Validation d&#039;un nombre entier===&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle défini (age, etc.) de 20 à 99====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/([2-9][0-9])/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle défini (age, etc.) de 18 à 35====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(1[8-9]|2[0-9]|3[0-5])/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle défini (age, etc.) de 19 à 65====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;(1[8-9]|[2-5][0-9]|6[0-5])$&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle de 1 à 99999====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^([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])$/&amp;lt;/nowiki&amp;gt;  &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,4}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
C&#039;est deux expressions produisent le même résultat.&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans plusieurs intervalles de 1 à 999, de 1.000 à 999.999====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,2}(?:\.[0-9]{3}){0,1}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un score compris entre 1 et 10====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9]{1}$|^10$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un score compris entre 1 et 100====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9]?[0-9]{1}$|^100$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===validation d&#039;un nombre décimal===&lt;br /&gt;
&lt;br /&gt;
Ce type de validation peut être utilisé dans le cas de prix, mesure&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un nombre décimal====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^([1][0-9][0-9]|[1-9][0-9]|[0-9])[[\.)[0-9][0-9])?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 les nombres entre ayant une partie décimale optionnelle à deux chiffres&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}\.[0-9]{2}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ===Monnaie===&lt;br /&gt;
&lt;br /&gt;
 ====Euro (le signe Euro et les centimes sont optionnels)====&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;/^\d+(\.(\d{3}]]?&amp;amp;euro;?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Dollar US====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\$?\d+(\.(\d{2}))?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le signe dollar en début de saisie et les cents sont optionnels.&lt;br /&gt;
&lt;br /&gt;
====Prix en Franc Suisse====&lt;br /&gt;
&lt;br /&gt;
C&#039;est un nombre avec deux décimales  après la virgule dont le dernier chiffre est soit 5, soit 0.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(\d+)(\.\d(05)?)?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;une date==&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;une date au format jj/mm/aaaa====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\d{1,2}\/\d{1,2}\/\d{4}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;une date au format jj/mm/aaaa du 20 ou 21éme siècle====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\d{1,2}\/\d{1,2}\/(19|20)\d{2}$/&amp;lt;/nowiki&amp;gt; a tester&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un mois (1-12)====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[0]?[1-9]$|^1[0-2]$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression permet de saisir le mois de janvier soit 1, soit 01.&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;une heure==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9]$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
cette expression permet de valider un format d&#039;heure HH:MM ex : 11:32&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9](?::[0-5][0-9])?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression permet de valider un format d&#039;heure HH:MM:SS où la partie de secondes est optionnelle ex : 11:32:53 ou bien 11:32&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression permet de valider un format d&#039;heure HH:MM:SS où la partie des secondes est obligatoire ex : 11:32:53&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;une longueur de saisie==&lt;br /&gt;
&lt;br /&gt;
Pour certain type de question, LimeSurvey propose dans les paramètres avancés ce type de contrôle.&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;une longueur de saisie minimum====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^.{3,}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ici la longueur minimum est de 3 caractères quelconques&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;une longueur de saisie maximum====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^.{3,}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ici la longueur maximum est de 3 caractères quelconques&lt;br /&gt;
&lt;br /&gt;
==Validation de texte==&lt;br /&gt;
&lt;br /&gt;
Actuellement, le type de question &#039;&#039;Multiples zones de texte court&#039;&#039; ne permet pas de contrôler le minimum ou le maximum de réponses.&lt;br /&gt;
&lt;br /&gt;
Une des manières d&#039;y parvenir est d&#039;utiliser le type question &#039;&#039;Zone de texte long&#039;&#039; sur laquelle on appliquera une expression régulière.&lt;br /&gt;
&lt;br /&gt;
L&#039;expression ci-dessous vérifie qu&#039;il y a au moins un mot par ligne et qu&#039;il y a au moins trois lignes mais pas plus de 10 lignes :&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)){2,10}/is&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si vous voulez vérifier qu&#039;il y a au moins 5 mots par ligne, vous devez changer le premier et le dernier caractère étoile (*) par {4,}&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+){4,})(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+){4,})){2,10}/is&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si voulez 1 ou plusieurs mots par ligne et de 1 à 5 lignes, vous pouvez changer les valeurs du quantificateur {0,4}.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)){0,4}/is&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Limiter le nombre de mots===&lt;br /&gt;
&lt;br /&gt;
L&#039;expression ci-dessous permet d&#039;écrire au minimum 1 mot et au maximum 200 mots.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[-\w]+(?:\W+[-\w]+){0,199}\W*$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vous pouvez varier le minimum et le maximum selon vos besoins en changeant {0,199} ( voir ci-dessus le tableau &#039;&#039;Quantificateur&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un mot==&lt;br /&gt;
&lt;br /&gt;
==== mot dans une liste====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(arbre|feuille|fleur){1}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le mot saisie doit correspondre exactement (minuscule) au mot dans la liste.&lt;br /&gt;
&lt;br /&gt;
====validation du mot dans une liste====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(arbre|feuille|fleur){1}$/i&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ici, on ne tient pas compte des minuscules et des majuscules : Les mots suivants Arbre,arbre, ARBRE, ArBrE, etc. sont tous valides.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-translate-fuzzy&amp;quot;&amp;gt;&lt;br /&gt;
Pour tester vos expressions régulières vous pouvez utiliser ces testeurs d&#039;expressions régulières: [https://regex101.com/ regex101] |https://extendsclass.com/regex-tester.html  regex tester]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note|To improve this wiki section, we kindly ask you to add your successfully tested regular expression(s) to provide a better understanding of this feature to the new LimeSurvey (potential) users.}}&lt;br /&gt;
&lt;br /&gt;
{{Alert|title=Attention|text= Please note that all the below examples are written on one line!}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Important: Regular Expressions in conditions=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that when using regular expressions in the condition editor, do NOT include the beginning and ending slash.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-translate-fuzzy&amp;quot;&amp;gt;&lt;br /&gt;
=#Validation=&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Update (12/2018): Since these days domain names cannot only hold special characters like “ü” but also use more than 3 characters as domain name like .&#039;&#039;tech&#039;&#039; or .&#039;&#039;company&#039;&#039;, the below email regex only checks if “@” and “.” exists within the entered email address.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
/^.+?@.+?\..+$/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
At this outdated regex the domain name is limited to 3 characters which doesn&#039;t cover all available domains:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
/^(\w[-._+\w]*\w@\w[-._\w]*\w\.\w{2,3})$/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Codes postaux&lt;br /&gt;
&lt;br /&gt;
== Codes postaux australiens: ==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[0-9]{4}/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Codes postaux brésiliens ==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[0-9]{2}\.[0-9]{3}-[0-9]{3}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Codes postaux canadiens ==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[a-zA-Z]\d{1}[a-zA-Z](\-| |)\d{1}[a-zA-Z]\d{1}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Codes postaux américains ==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[0-9]{5}([- /]?[0-9]{4})?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Codes postaux britanniques ==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[A-Z][A-Z]?[0-9][A-Z0-9]? ?[0-9][ABDEFGHJLNPQRSTUWXYZ]{2}$/i&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notez que ceci n&#039;est pas très exact et qu&#039;une validation précise est beaucoup plus complexe. Par exemple, voir [https://stackoverflow.com/questions/164979/uk-postcode-regex-comprehensive StackOverflow answer] et [https://en.wikipedia.org/wiki/Talk:Postcodes_in_the_United_Kingdom#Regular_Expressions Wikipedia] pour plus informations.&lt;br /&gt;
&lt;br /&gt;
==French postcodes== &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/(^[0-8]\d\d{3}$)|(^9[0-5]\d{3}$)|(^97[1-6]\d{2}$)|(^98[46-8]\d{2}$)/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above expression is very precise and it will check whether or not the French Department exists (first two digits), including overseas Departments and overseas Territories (DOM-TOM).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Phone numbers=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==US phone numbers==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\([2-9]\d{2}\)\ ?|[2-9]\d{2}(?:\-?|\ ?))[2-9]\d{2}[- ]?\d{4}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[\(\)\.\- ]{0,}[0-9]{3}[\(\)\.\- ]{0,}[0-9]{3}[\(\)\.\- ]{0,}[0-9]{4}[\(\)\.\- ]{0,}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This second option will match all phone Canadian and US phone numbers that include non-digit symbols including:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt; . ( ) - (space)&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will allow you to match phone numbers which resemble below:&lt;br /&gt;
*(555)555 5555&lt;br /&gt;
*555.555.5555&lt;br /&gt;
*555 555 5555&lt;br /&gt;
*(555)-555-5555&lt;br /&gt;
*555-555-5555&lt;br /&gt;
*555555555&lt;br /&gt;
&lt;br /&gt;
==Australian phone numbers==&lt;br /&gt;
&lt;br /&gt;
The following patterns match all various Australian mobile and landline phone numbers including with &amp;quot;+61&amp;quot; country prefix:&lt;br /&gt;
*(02) 9123 6535&lt;br /&gt;
*03 1234-5345&lt;br /&gt;
*0412 345 678&lt;br /&gt;
*+61 2 3456 789&lt;br /&gt;
&lt;br /&gt;
But not:&lt;br /&gt;
* 234 3450 234&lt;br /&gt;
*a234 534 3432&lt;br /&gt;
*134567&lt;br /&gt;
*123456789013&lt;br /&gt;
&lt;br /&gt;
Brackets, white space and hypens are ignored.&lt;br /&gt;
&lt;br /&gt;
The &#039;Very precise:&#039; versions listed here match against the first four or five digits in a number to ensure that they are valid Australian numbers.&lt;br /&gt;
&lt;br /&gt;
The &#039;Not very precise:&#039; only match against the first and second digit so may allow invaid numbers.&lt;br /&gt;
&lt;br /&gt;
===All Australian phone numbers (mobile and landline - area code required)===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^\(?(?:\+?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})$/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\+?61|0)[2-478](?:[ -]?[0-9]){8}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===All Australian phone numbers (landlines only - area code required)===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^\(?(?:\+?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}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\+?61|\(?0)[2378]\)?(?:[ -]?[0-9]){8}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===New South Wales landline phone numbers (area code optional)===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)2\)?[ -]?)?(?:3[ -]?[38]|[46-9][ -]?[0-9]|5[ -]?[0-35-9])(?:[ -]?[0-9]){6}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)2\)?(?:[ -]?[0-9]){7}[0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Victorian and Tasmanian landline phone numbers (area code optional)===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)3\)?[ -]?)?(?:4[ -]?[0-57-9]|[57-9][ -]?[0-9]|6[ -]?[1-67])(?:[ -]?[0-9]){6}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)3\)?(?:[ -]?[0-9]){7}[0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Queensland landline phone numbers (area code optional)===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)7\)?[ -]?)?(?:[2-4][ -]?[0-9]|5[ -]?[2-7]|7[ -]?6)(?:[ -]?[0-9]){6}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)7\)?(?:[ -]?[0-9]){7}[0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===South Australia, Northern Territory, Western Australia landline phone numbers (area code optional)===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)8\)?[ -]?)?(?:5[1-4]|6[0-8]|[7-9][0-9])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)8\)?(?:[ -]?[0-9]){7}[0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Australian mobile phone numbers only===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\+?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}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)4\)?(?:[ -]?[0-9]){7}[0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Belgian phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00)32\s?|0)(\d\s?\d{3}|\d{2}\s?\d{2})(\s?\d{2}){2}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
==Belgian mobile phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00)32\s?|0)4(60|[789]\d)(\s?\d{2}){3}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
==French phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00)33\s?|0)[1-59](\s?\d{2}){4}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
==French mobile phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00)33\s?|0)[67](\s?\d{2}){4}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
==Luxemburg phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00\s?)352)?(\s?\d{2}){3,4}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
==Luxemburg mobile phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00\s?)352)?\s?6[269]1(\s?\d{3}){2}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
=German marks (with optional plus or minus)=&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-6]{1}[\+|\-]?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Age validation=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example: Age 20-99&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/([2-9][0-9])/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example: Age 18-35&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/(1[8-9]|2[0-9]|3[0-5])/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example: Age 19-65&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(1[8-9]|[2-5][0-9]|6[0-5])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Number validation= &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Numbers from 1 to 99999==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^([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])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9][0-9]{0,4}$/ does the same as above but should run a little faster&amp;lt;/source&amp;gt;&lt;br /&gt;
==Numbers from 1 to 999, 1.000 to 999.999 to 999.999.999==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9][0-9]{0,2}(?:\.[0-9]{3}){0,2}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
Accepts numbers from 1 to 999, 1.000 to 999.999 to 999.999.999 but&lt;br /&gt;
rejects numbers like 999.1.1 , 94.22.22, 999.1.22, 999.11.1, 999.1.333&lt;br /&gt;
&lt;br /&gt;
==Number validation with optional decimal (for price)==&lt;br /&gt;
Accepts numbers from 0 to 199, with 2 decimal optional:&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^([1][0-9][0-9]|[1-9][0-9]|[0-9])((\.)[0-9][0-9])?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It forces two decimal points and accepts numbers from 1.00 to 999,999,999.00 with an optional comma delimiting thousands/millions&lt;br /&gt;
including all of the following: 1.00, 1,000.00, 12,345.67, 12345,02, 123,456,468.00, 1234566.00, 123456789.00&lt;br /&gt;
but not 1,23.00, 12,3.4 or 1234,43.04&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}\.[0-9]{2}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Similar to the above: Forces two decimal points but accepts a &amp;quot;0&amp;quot; before decimal separator &amp;quot;,&amp;quot;.&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/[0-9]{0,2}(?:,?[0-9]{3}){0,3}\.[0-9]{2}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Same as above, but the two decimal points are optional:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}(?:\.[0-9]{2})?$/ &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Month (1-12)==&lt;br /&gt;
&lt;br /&gt;
If you want to ask for the month a person was born you can validate the input as follows:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[0]*[1-9]$|^[0]*1[0-2]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Minimum width (set to 3 in this example)=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^.{3,}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Currency=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==US currency (dollar sign and cents optional)==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^\$?\d+(\.(\d{2}))?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Check for comma usage:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^\$?\d{1,3}(\d+(?!,))?(,\d{3})*(\.\d{2})?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Swiss price==&lt;br /&gt;
&lt;br /&gt;
A number with two decimal numbers after the decimal point of which the last one is either a 5 or a 0:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(\d+)(\.\d(05)?)?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Validate score=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==1-10==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9]{1}$|^10$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==1-100==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9]?[0-9]{1}$|^100$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Text validation=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The [[Question type - Multiple short text|multiple short text question type]] doesn&#039;t support minimum or maximum answers at the moment. One way around this is to use a [[Question type - Long free text|long free text question type]] with a regular expression.&lt;br /&gt;
&lt;br /&gt;
The below expression tests for at least one word per line for at least 3 lines and no more than 10 lines:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+)*)){2,10}/is&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want, say five words per line, you could change the first and last star/asterisk to {4,}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+){4,})(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+){4,})){2,10}/is&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you wanted one or more words per line (between line 1 and line 5), you can change the content located within the last curly braces to &#039;&#039;&#039;0,4&#039;&#039;&#039; (note you use 0 because you&#039;re already matching the first line).&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+)*)){0,4}/is&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Word count==&lt;br /&gt;
&lt;br /&gt;
 The following restricts the number of words allowed to a minimum of 1 and a maximum of 200:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[-\w]+(?:\W+[-\w]+){0,199}\W*$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 To increase the minimum change the zero part of {0,199}.&lt;br /&gt;
&lt;br /&gt;
To increase or decrease the maximum change the &amp;quot;199&amp;quot; part of {0,199}.&lt;br /&gt;
&lt;br /&gt;
=Time validation=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are a number of ways to write 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 [[Question type - Date|date question type]] (it can also capture time) you can use the [[Question type - Short free text|short free text question type]] with one of the below validation regular expressions.&lt;br /&gt;
&lt;br /&gt;
The following three validation strings test for 24 hour time (in order of appearances) without seconds, with optional seconds lastly with seconds required:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9](?::[0-5][0-9])?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following three match 12 hour time, as above with seconds, optional seconds and with seconds required:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?&amp;quot;&amp;gt;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))$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?: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))$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?: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))$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following three match either 12 or 24 hour time as above with seconds, optional seconds and with seconds required:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:(?: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])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:(?: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])?)$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:(?: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])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=US states=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To validate for one state use the following (example is Texas):&lt;br /&gt;
*TX uppercase only: &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(TX)$/&amp;lt;/source&amp;gt;&lt;br /&gt;
*tx lowercase only: &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(tx)$/&amp;lt;/source&amp;gt;&lt;br /&gt;
*TX upper or lowercase: &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^([T|t][X|x])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Profanity Filter=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To filter profanity words from an answer:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?i)((?!\bENTERPROFANITYHERE\b).)*$(?-i)/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Replace &amp;quot;ENTERPROFANITYHERE&amp;quot; with your bad word.&lt;br /&gt;
&lt;br /&gt;
The \b will allow passing of words such as &amp;quot;assassination&amp;quot; and &amp;quot;hello&amp;quot; if you enter &amp;quot;ass&amp;quot; or &amp;quot;hell&amp;quot; as your profanity word. This also works if you are trying to omit other words, names etc. from answers.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Helpful links=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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.&lt;/div&gt;</summary>
		<author><name>Cyr1lle</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=Translations:Using_regular_expressions/24/fr&amp;diff=143408</id>
		<title>Translations:Using regular expressions/24/fr</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=Translations:Using_regular_expressions/24/fr&amp;diff=143408"/>
		<updated>2019-06-16T12:09:56Z</updated>

		<summary type="html">&lt;p&gt;Cyr1lle: Created page with &amp;quot;Notez que ceci n&amp;#039;est pas très exact et qu&amp;#039;une validation précise est beaucoup plus complexe. Par exemple, voir [https://stackoverflow.com/questions/164979/uk-postcode-regex-...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Notez que ceci n&#039;est pas très exact et qu&#039;une validation précise est beaucoup plus complexe. Par exemple, voir [https://stackoverflow.com/questions/164979/uk-postcode-regex-comprehensive StackOverflow answer] et [https://en.wikipedia.org/wiki/Talk:Postcodes_in_the_United_Kingdom#Regular_Expressions Wikipedia] pour plus informations.&lt;/div&gt;</summary>
		<author><name>Cyr1lle</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=Using_regular_expressions/fr&amp;diff=143407</id>
		<title>Using regular expressions/fr</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=Using_regular_expressions/fr&amp;diff=143407"/>
		<updated>2019-06-16T12:08:34Z</updated>

		<summary type="html">&lt;p&gt;Cyr1lle: Created page with &amp;quot;== Codes postaux britanniques ==&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt; &lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-translate-fuzzy&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;La traduction de cette page n&#039;est pas terminée.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=#Validation=&lt;br /&gt;
&lt;br /&gt;
Lorsque vous définissez les attributs d&#039;une question, vous devez indiquer son code, le texte de la question, le type de question,&lt;br /&gt;
&lt;br /&gt;
le nombre minimum et/ou maximum de caractères, etc.&lt;br /&gt;
&lt;br /&gt;
Cependant, il n&#039;est pas possible définir tous les attributs de contrôle pouvant satisfaire les besoins des utilisateurs de LimeSurvey.&lt;br /&gt;
&lt;br /&gt;
La zone de saisie &#039;&#039;Validation&#039;&#039; de l&#039;écran d&#039;édition d&#039;une question joue ce rôle et permet d&#039;ajouter des contrôles supplémentaires sur la réponse.&lt;br /&gt;
&lt;br /&gt;
Ces contrôles se font gr&amp;amp;acirc;ce à des expressions régulières que l&#039;on place dans la zone de saisie &#039;&#039;Validation&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:LimeSurvey-2011-06-01-19-18.png]]&lt;br /&gt;
&lt;br /&gt;
Dans la situation présentée ci-dessus, la réponse sera considérée comme valide si d&#039;une part elle est composée uniquement de lettres&lt;br /&gt;
&lt;br /&gt;
en majuscule et d&#039;autre part si le nombre de lettres est compris entre 1 et 10.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Attention&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour le contenu de la zone de saisie &#039;&#039;Validation&#039;&#039; soit évalué, il faut obligatoirement que l&#039;utilisateur est saisi un caractère.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=#Bref rappel=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Avertissements&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L&#039;objet de cette section n&#039;est pas d&#039;expliquer comment constituer des expressions régulières&lt;br /&gt;
&lt;br /&gt;
ou bien d&#039;expliquer leurs fonctionnements.&lt;br /&gt;
&lt;br /&gt;
De très bons livres le font comme Maîtrise des expressions régulières de Jeffrey E. F. Friedl.&lt;br /&gt;
&lt;br /&gt;
Il y a également des sites qui traitent de ces sujets comme  http://www.regxlib.net/ (en anglais)&lt;br /&gt;
&lt;br /&gt;
ou bien http://perl.enstimac.fr/DocFr/perlrequick.html (en français).&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L&#039;expression régulière est un moyen puissant,flexible et efficace d&#039;appliquer un traitement sur du texte.&lt;br /&gt;
&lt;br /&gt;
Gr&amp;amp;acirc;ce à une notation générale (motif, pattern), c&#039;est une sorte de mini-langage de programmation qui permet de décrire&lt;br /&gt;
&lt;br /&gt;
et d&#039;analyser le texte. Plusieurs notations existent.&lt;br /&gt;
&lt;br /&gt;
Celle utilisée dans LimeSurvey est du type PERL et doivent commencer et se terminer par le caractère slash (&amp;quot;/&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Métacaractère||   Signification||&lt;br /&gt;
|-&lt;br /&gt;
|   .||   n&#039;importe quel caractère sauf \n||&lt;br /&gt;
|-&lt;br /&gt;
|   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;  ]|| tous les caractères énumérés  ||   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;abc]&lt;br /&gt;
|-&lt;br /&gt;
|   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~  ]|| tous les caractères sauf ceux qui sont énumérés  ||   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~abc]&lt;br /&gt;
|-&lt;br /&gt;
|   ~124~ || tous les caractères sauf ceux qui sont énumérés  ||   mot1~124~mot2~124~mot3&lt;br /&gt;
|-&lt;br /&gt;
|   - || intervalle  ||   a-z&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Quantificateur||   Signification   || Exemple&lt;br /&gt;
|-&lt;br /&gt;
|   * ||   zéro ou plus  || A* = zéro ou plus de lettre A&lt;br /&gt;
|-&lt;br /&gt;
|   + || 1 ou plus       || A+ = une lettre A ou plus&lt;br /&gt;
|-&lt;br /&gt;
|   ? || 0 ou 1          || A? = pas de lettre A ou une seule lettre A&lt;br /&gt;
|-&lt;br /&gt;
| {n} || n fois exactement || A{3} = trois lettres A&lt;br /&gt;
|-&lt;br /&gt;
|{min,} || minimum min fois et plus || A{3,} trois lettres A ou plus&lt;br /&gt;
|-&lt;br /&gt;
|{min,max}|| minimum min et maximum max  fois || A{3,7} trois lettres A au minimum et au maximum 7 lettres A&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Caractères||   Signification || Équivalence&lt;br /&gt;
|-&lt;br /&gt;
| \n || nouvelle ligne||&lt;br /&gt;
|-&lt;br /&gt;
| \r || retour à la ligne||&lt;br /&gt;
|-&lt;br /&gt;
| \t || tabulation||&lt;br /&gt;
|-&lt;br /&gt;
| \v || tabulation vertical||&lt;br /&gt;
|-&lt;br /&gt;
| \f || nouvelle page||&lt;br /&gt;
|-&lt;br /&gt;
|   \s ||   caractères d&#039;espacement|| &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;\n\r\t\f]&lt;br /&gt;
|-&lt;br /&gt;
|   \S || tous les caractères sauf les caractères d&#039;espacement|| &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~\n\r\t\f]&lt;br /&gt;
|-&lt;br /&gt;
|   \d || les chiffres||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;0-9]&lt;br /&gt;
|-&lt;br /&gt;
| \D || tous les caractères sauf les chiffres||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~0-9]&lt;br /&gt;
|-&lt;br /&gt;
| \w || caractère constituant un mot||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;0-9a-zA-Z_]&lt;br /&gt;
|-&lt;br /&gt;
| \W || tous les caractères ne constituant pas un mot||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~\w]&lt;br /&gt;
|-&lt;br /&gt;
| \xhh || caractère en hexadécimal(hh) ex: \x41 = A||&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Modificateur||   Signification&lt;br /&gt;
|-&lt;br /&gt;
| i || ignore la casse&lt;br /&gt;
|-&lt;br /&gt;
| x || le point reconnait aussi \n&lt;br /&gt;
|-&lt;br /&gt;
| m || mode multi lignes&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Les modificateurs se mettent après le dernier slash ex : /&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;a-z]/i est équivalent à /&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;a-zA-Z]/&lt;br /&gt;
&lt;br /&gt;
Vous pouvez tester vos expressions régulières sur http://www.spaweditor.com/scripts/regex/index.php&lt;br /&gt;
&lt;br /&gt;
=#Quelques exemples=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&#039;&#039;Vous pouvez ajouter des expressions régulières mais testées auparavant!&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemples (notez qu&#039;elles sont toutes sur une seule ligne):&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un code postal français==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^0[1-9]|[1-8][0-9]|9[0-8]|2A|2B[0-9]{3}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression teste seulement de le format du code postal mais pas de sa validité.&lt;br /&gt;
&lt;br /&gt;
==Validation du numéro de département français==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^0[1-9]|[1-8][0-9]|9[0-8]|2A|2B$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression teste seulement de le format du numéro du département mais pas de sa validité.&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un nombre==&lt;br /&gt;
&lt;br /&gt;
===Validation d&#039;un nombre entier===&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle défini (age, etc.) de 20 à 99====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/([2-9][0-9])/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle défini (age, etc.) de 18 à 35====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(1[8-9]|2[0-9]|3[0-5])/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle défini (age, etc.) de 19 à 65====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;(1[8-9]|[2-5][0-9]|6[0-5])$&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle de 1 à 99999====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^([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])$/&amp;lt;/nowiki&amp;gt;  &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,4}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
C&#039;est deux expressions produisent le même résultat.&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans plusieurs intervalles de 1 à 999, de 1.000 à 999.999====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,2}(?:\.[0-9]{3}){0,1}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un score compris entre 1 et 10====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9]{1}$|^10$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un score compris entre 1 et 100====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9]?[0-9]{1}$|^100$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===validation d&#039;un nombre décimal===&lt;br /&gt;
&lt;br /&gt;
Ce type de validation peut être utilisé dans le cas de prix, mesure&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un nombre décimal====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^([1][0-9][0-9]|[1-9][0-9]|[0-9])[[\.)[0-9][0-9])?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 les nombres entre ayant une partie décimale optionnelle à deux chiffres&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}\.[0-9]{2}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ===Monnaie===&lt;br /&gt;
&lt;br /&gt;
 ====Euro (le signe Euro et les centimes sont optionnels)====&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;/^\d+(\.(\d{3}]]?&amp;amp;euro;?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Dollar US====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\$?\d+(\.(\d{2}))?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le signe dollar en début de saisie et les cents sont optionnels.&lt;br /&gt;
&lt;br /&gt;
====Prix en Franc Suisse====&lt;br /&gt;
&lt;br /&gt;
C&#039;est un nombre avec deux décimales  après la virgule dont le dernier chiffre est soit 5, soit 0.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(\d+)(\.\d(05)?)?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;une date==&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;une date au format jj/mm/aaaa====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\d{1,2}\/\d{1,2}\/\d{4}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;une date au format jj/mm/aaaa du 20 ou 21éme siècle====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\d{1,2}\/\d{1,2}\/(19|20)\d{2}$/&amp;lt;/nowiki&amp;gt; a tester&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un mois (1-12)====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[0]?[1-9]$|^1[0-2]$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression permet de saisir le mois de janvier soit 1, soit 01.&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;une heure==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9]$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
cette expression permet de valider un format d&#039;heure HH:MM ex : 11:32&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9](?::[0-5][0-9])?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression permet de valider un format d&#039;heure HH:MM:SS où la partie de secondes est optionnelle ex : 11:32:53 ou bien 11:32&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression permet de valider un format d&#039;heure HH:MM:SS où la partie des secondes est obligatoire ex : 11:32:53&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;une longueur de saisie==&lt;br /&gt;
&lt;br /&gt;
Pour certain type de question, LimeSurvey propose dans les paramètres avancés ce type de contrôle.&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;une longueur de saisie minimum====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^.{3,}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ici la longueur minimum est de 3 caractères quelconques&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;une longueur de saisie maximum====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^.{3,}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ici la longueur maximum est de 3 caractères quelconques&lt;br /&gt;
&lt;br /&gt;
==Validation de texte==&lt;br /&gt;
&lt;br /&gt;
Actuellement, le type de question &#039;&#039;Multiples zones de texte court&#039;&#039; ne permet pas de contrôler le minimum ou le maximum de réponses.&lt;br /&gt;
&lt;br /&gt;
Une des manières d&#039;y parvenir est d&#039;utiliser le type question &#039;&#039;Zone de texte long&#039;&#039; sur laquelle on appliquera une expression régulière.&lt;br /&gt;
&lt;br /&gt;
L&#039;expression ci-dessous vérifie qu&#039;il y a au moins un mot par ligne et qu&#039;il y a au moins trois lignes mais pas plus de 10 lignes :&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)){2,10}/is&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si vous voulez vérifier qu&#039;il y a au moins 5 mots par ligne, vous devez changer le premier et le dernier caractère étoile (*) par {4,}&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+){4,})(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+){4,})){2,10}/is&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si voulez 1 ou plusieurs mots par ligne et de 1 à 5 lignes, vous pouvez changer les valeurs du quantificateur {0,4}.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)){0,4}/is&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Limiter le nombre de mots===&lt;br /&gt;
&lt;br /&gt;
L&#039;expression ci-dessous permet d&#039;écrire au minimum 1 mot et au maximum 200 mots.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[-\w]+(?:\W+[-\w]+){0,199}\W*$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vous pouvez varier le minimum et le maximum selon vos besoins en changeant {0,199} ( voir ci-dessus le tableau &#039;&#039;Quantificateur&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un mot==&lt;br /&gt;
&lt;br /&gt;
==== mot dans une liste====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(arbre|feuille|fleur){1}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le mot saisie doit correspondre exactement (minuscule) au mot dans la liste.&lt;br /&gt;
&lt;br /&gt;
====validation du mot dans une liste====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(arbre|feuille|fleur){1}$/i&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ici, on ne tient pas compte des minuscules et des majuscules : Les mots suivants Arbre,arbre, ARBRE, ArBrE, etc. sont tous valides.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-translate-fuzzy&amp;quot;&amp;gt;&lt;br /&gt;
Pour tester vos expressions régulières vous pouvez utiliser ces testeurs d&#039;expressions régulières: [https://regex101.com/ regex101] |https://extendsclass.com/regex-tester.html  regex tester]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note|To improve this wiki section, we kindly ask you to add your successfully tested regular expression(s) to provide a better understanding of this feature to the new LimeSurvey (potential) users.}}&lt;br /&gt;
&lt;br /&gt;
{{Alert|title=Attention|text= Please note that all the below examples are written on one line!}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Important: Regular Expressions in conditions=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that when using regular expressions in the condition editor, do NOT include the beginning and ending slash.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-translate-fuzzy&amp;quot;&amp;gt;&lt;br /&gt;
=#Validation=&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Update (12/2018): Since these days domain names cannot only hold special characters like “ü” but also use more than 3 characters as domain name like .&#039;&#039;tech&#039;&#039; or .&#039;&#039;company&#039;&#039;, the below email regex only checks if “@” and “.” exists within the entered email address.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
/^.+?@.+?\..+$/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
At this outdated regex the domain name is limited to 3 characters which doesn&#039;t cover all available domains:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
/^(\w[-._+\w]*\w@\w[-._\w]*\w\.\w{2,3})$/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Codes postaux&lt;br /&gt;
&lt;br /&gt;
== Codes postaux australiens: ==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[0-9]{4}/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Codes postaux brésiliens ==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[0-9]{2}\.[0-9]{3}-[0-9]{3}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Codes postaux canadiens ==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[a-zA-Z]\d{1}[a-zA-Z](\-| |)\d{1}[a-zA-Z]\d{1}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Codes postaux américains ==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[0-9]{5}([- /]?[0-9]{4})?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Codes postaux britanniques ==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[A-Z][A-Z]?[0-9][A-Z0-9]? ?[0-9][ABDEFGHJLNPQRSTUWXYZ]{2}$/i&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that this is not very exact, and a more exact validation is much more complex. For example, see [https://stackoverflow.com/questions/164979/uk-postcode-regex-comprehensive StackOverflow answer] and [https://en.wikipedia.org/wiki/Talk:Postcodes_in_the_United_Kingdom#Regular_Expressions Wikipedia] for more information.&lt;br /&gt;
&lt;br /&gt;
==French postcodes== &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/(^[0-8]\d\d{3}$)|(^9[0-5]\d{3}$)|(^97[1-6]\d{2}$)|(^98[46-8]\d{2}$)/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above expression is very precise and it will check whether or not the French Department exists (first two digits), including overseas Departments and overseas Territories (DOM-TOM).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Phone numbers=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==US phone numbers==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\([2-9]\d{2}\)\ ?|[2-9]\d{2}(?:\-?|\ ?))[2-9]\d{2}[- ]?\d{4}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[\(\)\.\- ]{0,}[0-9]{3}[\(\)\.\- ]{0,}[0-9]{3}[\(\)\.\- ]{0,}[0-9]{4}[\(\)\.\- ]{0,}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This second option will match all phone Canadian and US phone numbers that include non-digit symbols including:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt; . ( ) - (space)&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will allow you to match phone numbers which resemble below:&lt;br /&gt;
*(555)555 5555&lt;br /&gt;
*555.555.5555&lt;br /&gt;
*555 555 5555&lt;br /&gt;
*(555)-555-5555&lt;br /&gt;
*555-555-5555&lt;br /&gt;
*555555555&lt;br /&gt;
&lt;br /&gt;
==Australian phone numbers==&lt;br /&gt;
&lt;br /&gt;
The following patterns match all various Australian mobile and landline phone numbers including with &amp;quot;+61&amp;quot; country prefix:&lt;br /&gt;
*(02) 9123 6535&lt;br /&gt;
*03 1234-5345&lt;br /&gt;
*0412 345 678&lt;br /&gt;
*+61 2 3456 789&lt;br /&gt;
&lt;br /&gt;
But not:&lt;br /&gt;
* 234 3450 234&lt;br /&gt;
*a234 534 3432&lt;br /&gt;
*134567&lt;br /&gt;
*123456789013&lt;br /&gt;
&lt;br /&gt;
Brackets, white space and hypens are ignored.&lt;br /&gt;
&lt;br /&gt;
The &#039;Very precise:&#039; versions listed here match against the first four or five digits in a number to ensure that they are valid Australian numbers.&lt;br /&gt;
&lt;br /&gt;
The &#039;Not very precise:&#039; only match against the first and second digit so may allow invaid numbers.&lt;br /&gt;
&lt;br /&gt;
===All Australian phone numbers (mobile and landline - area code required)===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^\(?(?:\+?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})$/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\+?61|0)[2-478](?:[ -]?[0-9]){8}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===All Australian phone numbers (landlines only - area code required)===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^\(?(?:\+?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}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\+?61|\(?0)[2378]\)?(?:[ -]?[0-9]){8}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===New South Wales landline phone numbers (area code optional)===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)2\)?[ -]?)?(?:3[ -]?[38]|[46-9][ -]?[0-9]|5[ -]?[0-35-9])(?:[ -]?[0-9]){6}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)2\)?(?:[ -]?[0-9]){7}[0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Victorian and Tasmanian landline phone numbers (area code optional)===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)3\)?[ -]?)?(?:4[ -]?[0-57-9]|[57-9][ -]?[0-9]|6[ -]?[1-67])(?:[ -]?[0-9]){6}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)3\)?(?:[ -]?[0-9]){7}[0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Queensland landline phone numbers (area code optional)===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)7\)?[ -]?)?(?:[2-4][ -]?[0-9]|5[ -]?[2-7]|7[ -]?6)(?:[ -]?[0-9]){6}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)7\)?(?:[ -]?[0-9]){7}[0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===South Australia, Northern Territory, Western Australia landline phone numbers (area code optional)===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)8\)?[ -]?)?(?:5[1-4]|6[0-8]|[7-9][0-9])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)8\)?(?:[ -]?[0-9]){7}[0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Australian mobile phone numbers only===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\+?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}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)4\)?(?:[ -]?[0-9]){7}[0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Belgian phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00)32\s?|0)(\d\s?\d{3}|\d{2}\s?\d{2})(\s?\d{2}){2}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
==Belgian mobile phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00)32\s?|0)4(60|[789]\d)(\s?\d{2}){3}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
==French phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00)33\s?|0)[1-59](\s?\d{2}){4}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
==French mobile phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00)33\s?|0)[67](\s?\d{2}){4}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
==Luxemburg phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00\s?)352)?(\s?\d{2}){3,4}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
==Luxemburg mobile phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00\s?)352)?\s?6[269]1(\s?\d{3}){2}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
=German marks (with optional plus or minus)=&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-6]{1}[\+|\-]?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Age validation=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example: Age 20-99&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/([2-9][0-9])/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example: Age 18-35&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/(1[8-9]|2[0-9]|3[0-5])/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example: Age 19-65&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(1[8-9]|[2-5][0-9]|6[0-5])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Number validation= &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Numbers from 1 to 99999==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^([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])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9][0-9]{0,4}$/ does the same as above but should run a little faster&amp;lt;/source&amp;gt;&lt;br /&gt;
==Numbers from 1 to 999, 1.000 to 999.999 to 999.999.999==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9][0-9]{0,2}(?:\.[0-9]{3}){0,2}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
Accepts numbers from 1 to 999, 1.000 to 999.999 to 999.999.999 but&lt;br /&gt;
rejects numbers like 999.1.1 , 94.22.22, 999.1.22, 999.11.1, 999.1.333&lt;br /&gt;
&lt;br /&gt;
==Number validation with optional decimal (for price)==&lt;br /&gt;
Accepts numbers from 0 to 199, with 2 decimal optional:&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^([1][0-9][0-9]|[1-9][0-9]|[0-9])((\.)[0-9][0-9])?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It forces two decimal points and accepts numbers from 1.00 to 999,999,999.00 with an optional comma delimiting thousands/millions&lt;br /&gt;
including all of the following: 1.00, 1,000.00, 12,345.67, 12345,02, 123,456,468.00, 1234566.00, 123456789.00&lt;br /&gt;
but not 1,23.00, 12,3.4 or 1234,43.04&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}\.[0-9]{2}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Similar to the above: Forces two decimal points but accepts a &amp;quot;0&amp;quot; before decimal separator &amp;quot;,&amp;quot;.&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/[0-9]{0,2}(?:,?[0-9]{3}){0,3}\.[0-9]{2}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Same as above, but the two decimal points are optional:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}(?:\.[0-9]{2})?$/ &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Month (1-12)==&lt;br /&gt;
&lt;br /&gt;
If you want to ask for the month a person was born you can validate the input as follows:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[0]*[1-9]$|^[0]*1[0-2]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Minimum width (set to 3 in this example)=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^.{3,}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Currency=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==US currency (dollar sign and cents optional)==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^\$?\d+(\.(\d{2}))?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Check for comma usage:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^\$?\d{1,3}(\d+(?!,))?(,\d{3})*(\.\d{2})?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Swiss price==&lt;br /&gt;
&lt;br /&gt;
A number with two decimal numbers after the decimal point of which the last one is either a 5 or a 0:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(\d+)(\.\d(05)?)?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Validate score=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==1-10==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9]{1}$|^10$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==1-100==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9]?[0-9]{1}$|^100$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Text validation=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The [[Question type - Multiple short text|multiple short text question type]] doesn&#039;t support minimum or maximum answers at the moment. One way around this is to use a [[Question type - Long free text|long free text question type]] with a regular expression.&lt;br /&gt;
&lt;br /&gt;
The below expression tests for at least one word per line for at least 3 lines and no more than 10 lines:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+)*)){2,10}/is&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want, say five words per line, you could change the first and last star/asterisk to {4,}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+){4,})(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+){4,})){2,10}/is&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you wanted one or more words per line (between line 1 and line 5), you can change the content located within the last curly braces to &#039;&#039;&#039;0,4&#039;&#039;&#039; (note you use 0 because you&#039;re already matching the first line).&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+)*)){0,4}/is&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Word count==&lt;br /&gt;
&lt;br /&gt;
 The following restricts the number of words allowed to a minimum of 1 and a maximum of 200:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[-\w]+(?:\W+[-\w]+){0,199}\W*$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 To increase the minimum change the zero part of {0,199}.&lt;br /&gt;
&lt;br /&gt;
To increase or decrease the maximum change the &amp;quot;199&amp;quot; part of {0,199}.&lt;br /&gt;
&lt;br /&gt;
=Time validation=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are a number of ways to write 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 [[Question type - Date|date question type]] (it can also capture time) you can use the [[Question type - Short free text|short free text question type]] with one of the below validation regular expressions.&lt;br /&gt;
&lt;br /&gt;
The following three validation strings test for 24 hour time (in order of appearances) without seconds, with optional seconds lastly with seconds required:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9](?::[0-5][0-9])?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following three match 12 hour time, as above with seconds, optional seconds and with seconds required:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?&amp;quot;&amp;gt;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))$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?: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))$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?: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))$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following three match either 12 or 24 hour time as above with seconds, optional seconds and with seconds required:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:(?: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])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:(?: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])?)$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:(?: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])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=US states=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To validate for one state use the following (example is Texas):&lt;br /&gt;
*TX uppercase only: &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(TX)$/&amp;lt;/source&amp;gt;&lt;br /&gt;
*tx lowercase only: &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(tx)$/&amp;lt;/source&amp;gt;&lt;br /&gt;
*TX upper or lowercase: &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^([T|t][X|x])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Profanity Filter=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To filter profanity words from an answer:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?i)((?!\bENTERPROFANITYHERE\b).)*$(?-i)/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Replace &amp;quot;ENTERPROFANITYHERE&amp;quot; with your bad word.&lt;br /&gt;
&lt;br /&gt;
The \b will allow passing of words such as &amp;quot;assassination&amp;quot; and &amp;quot;hello&amp;quot; if you enter &amp;quot;ass&amp;quot; or &amp;quot;hell&amp;quot; as your profanity word. This also works if you are trying to omit other words, names etc. from answers.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Helpful links=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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.&lt;/div&gt;</summary>
		<author><name>Cyr1lle</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=Translations:Using_regular_expressions/22/fr&amp;diff=143406</id>
		<title>Translations:Using regular expressions/22/fr</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=Translations:Using_regular_expressions/22/fr&amp;diff=143406"/>
		<updated>2019-06-16T12:08:34Z</updated>

		<summary type="html">&lt;p&gt;Cyr1lle: Created page with &amp;quot;== Codes postaux britanniques ==&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Codes postaux britanniques ==&lt;/div&gt;</summary>
		<author><name>Cyr1lle</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=Using_regular_expressions/fr&amp;diff=143405</id>
		<title>Using regular expressions/fr</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=Using_regular_expressions/fr&amp;diff=143405"/>
		<updated>2019-06-16T12:08:07Z</updated>

		<summary type="html">&lt;p&gt;Cyr1lle: Created page with &amp;quot;== Codes postaux américains ==&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt; &lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-translate-fuzzy&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;La traduction de cette page n&#039;est pas terminée.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=#Validation=&lt;br /&gt;
&lt;br /&gt;
Lorsque vous définissez les attributs d&#039;une question, vous devez indiquer son code, le texte de la question, le type de question,&lt;br /&gt;
&lt;br /&gt;
le nombre minimum et/ou maximum de caractères, etc.&lt;br /&gt;
&lt;br /&gt;
Cependant, il n&#039;est pas possible définir tous les attributs de contrôle pouvant satisfaire les besoins des utilisateurs de LimeSurvey.&lt;br /&gt;
&lt;br /&gt;
La zone de saisie &#039;&#039;Validation&#039;&#039; de l&#039;écran d&#039;édition d&#039;une question joue ce rôle et permet d&#039;ajouter des contrôles supplémentaires sur la réponse.&lt;br /&gt;
&lt;br /&gt;
Ces contrôles se font gr&amp;amp;acirc;ce à des expressions régulières que l&#039;on place dans la zone de saisie &#039;&#039;Validation&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:LimeSurvey-2011-06-01-19-18.png]]&lt;br /&gt;
&lt;br /&gt;
Dans la situation présentée ci-dessus, la réponse sera considérée comme valide si d&#039;une part elle est composée uniquement de lettres&lt;br /&gt;
&lt;br /&gt;
en majuscule et d&#039;autre part si le nombre de lettres est compris entre 1 et 10.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Attention&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour le contenu de la zone de saisie &#039;&#039;Validation&#039;&#039; soit évalué, il faut obligatoirement que l&#039;utilisateur est saisi un caractère.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=#Bref rappel=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Avertissements&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L&#039;objet de cette section n&#039;est pas d&#039;expliquer comment constituer des expressions régulières&lt;br /&gt;
&lt;br /&gt;
ou bien d&#039;expliquer leurs fonctionnements.&lt;br /&gt;
&lt;br /&gt;
De très bons livres le font comme Maîtrise des expressions régulières de Jeffrey E. F. Friedl.&lt;br /&gt;
&lt;br /&gt;
Il y a également des sites qui traitent de ces sujets comme  http://www.regxlib.net/ (en anglais)&lt;br /&gt;
&lt;br /&gt;
ou bien http://perl.enstimac.fr/DocFr/perlrequick.html (en français).&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L&#039;expression régulière est un moyen puissant,flexible et efficace d&#039;appliquer un traitement sur du texte.&lt;br /&gt;
&lt;br /&gt;
Gr&amp;amp;acirc;ce à une notation générale (motif, pattern), c&#039;est une sorte de mini-langage de programmation qui permet de décrire&lt;br /&gt;
&lt;br /&gt;
et d&#039;analyser le texte. Plusieurs notations existent.&lt;br /&gt;
&lt;br /&gt;
Celle utilisée dans LimeSurvey est du type PERL et doivent commencer et se terminer par le caractère slash (&amp;quot;/&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Métacaractère||   Signification||&lt;br /&gt;
|-&lt;br /&gt;
|   .||   n&#039;importe quel caractère sauf \n||&lt;br /&gt;
|-&lt;br /&gt;
|   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;  ]|| tous les caractères énumérés  ||   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;abc]&lt;br /&gt;
|-&lt;br /&gt;
|   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~  ]|| tous les caractères sauf ceux qui sont énumérés  ||   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~abc]&lt;br /&gt;
|-&lt;br /&gt;
|   ~124~ || tous les caractères sauf ceux qui sont énumérés  ||   mot1~124~mot2~124~mot3&lt;br /&gt;
|-&lt;br /&gt;
|   - || intervalle  ||   a-z&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Quantificateur||   Signification   || Exemple&lt;br /&gt;
|-&lt;br /&gt;
|   * ||   zéro ou plus  || A* = zéro ou plus de lettre A&lt;br /&gt;
|-&lt;br /&gt;
|   + || 1 ou plus       || A+ = une lettre A ou plus&lt;br /&gt;
|-&lt;br /&gt;
|   ? || 0 ou 1          || A? = pas de lettre A ou une seule lettre A&lt;br /&gt;
|-&lt;br /&gt;
| {n} || n fois exactement || A{3} = trois lettres A&lt;br /&gt;
|-&lt;br /&gt;
|{min,} || minimum min fois et plus || A{3,} trois lettres A ou plus&lt;br /&gt;
|-&lt;br /&gt;
|{min,max}|| minimum min et maximum max  fois || A{3,7} trois lettres A au minimum et au maximum 7 lettres A&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Caractères||   Signification || Équivalence&lt;br /&gt;
|-&lt;br /&gt;
| \n || nouvelle ligne||&lt;br /&gt;
|-&lt;br /&gt;
| \r || retour à la ligne||&lt;br /&gt;
|-&lt;br /&gt;
| \t || tabulation||&lt;br /&gt;
|-&lt;br /&gt;
| \v || tabulation vertical||&lt;br /&gt;
|-&lt;br /&gt;
| \f || nouvelle page||&lt;br /&gt;
|-&lt;br /&gt;
|   \s ||   caractères d&#039;espacement|| &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;\n\r\t\f]&lt;br /&gt;
|-&lt;br /&gt;
|   \S || tous les caractères sauf les caractères d&#039;espacement|| &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~\n\r\t\f]&lt;br /&gt;
|-&lt;br /&gt;
|   \d || les chiffres||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;0-9]&lt;br /&gt;
|-&lt;br /&gt;
| \D || tous les caractères sauf les chiffres||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~0-9]&lt;br /&gt;
|-&lt;br /&gt;
| \w || caractère constituant un mot||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;0-9a-zA-Z_]&lt;br /&gt;
|-&lt;br /&gt;
| \W || tous les caractères ne constituant pas un mot||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~\w]&lt;br /&gt;
|-&lt;br /&gt;
| \xhh || caractère en hexadécimal(hh) ex: \x41 = A||&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Modificateur||   Signification&lt;br /&gt;
|-&lt;br /&gt;
| i || ignore la casse&lt;br /&gt;
|-&lt;br /&gt;
| x || le point reconnait aussi \n&lt;br /&gt;
|-&lt;br /&gt;
| m || mode multi lignes&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Les modificateurs se mettent après le dernier slash ex : /&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;a-z]/i est équivalent à /&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;a-zA-Z]/&lt;br /&gt;
&lt;br /&gt;
Vous pouvez tester vos expressions régulières sur http://www.spaweditor.com/scripts/regex/index.php&lt;br /&gt;
&lt;br /&gt;
=#Quelques exemples=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&#039;&#039;Vous pouvez ajouter des expressions régulières mais testées auparavant!&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemples (notez qu&#039;elles sont toutes sur une seule ligne):&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un code postal français==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^0[1-9]|[1-8][0-9]|9[0-8]|2A|2B[0-9]{3}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression teste seulement de le format du code postal mais pas de sa validité.&lt;br /&gt;
&lt;br /&gt;
==Validation du numéro de département français==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^0[1-9]|[1-8][0-9]|9[0-8]|2A|2B$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression teste seulement de le format du numéro du département mais pas de sa validité.&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un nombre==&lt;br /&gt;
&lt;br /&gt;
===Validation d&#039;un nombre entier===&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle défini (age, etc.) de 20 à 99====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/([2-9][0-9])/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle défini (age, etc.) de 18 à 35====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(1[8-9]|2[0-9]|3[0-5])/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle défini (age, etc.) de 19 à 65====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;(1[8-9]|[2-5][0-9]|6[0-5])$&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle de 1 à 99999====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^([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])$/&amp;lt;/nowiki&amp;gt;  &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,4}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
C&#039;est deux expressions produisent le même résultat.&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans plusieurs intervalles de 1 à 999, de 1.000 à 999.999====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,2}(?:\.[0-9]{3}){0,1}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un score compris entre 1 et 10====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9]{1}$|^10$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un score compris entre 1 et 100====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9]?[0-9]{1}$|^100$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===validation d&#039;un nombre décimal===&lt;br /&gt;
&lt;br /&gt;
Ce type de validation peut être utilisé dans le cas de prix, mesure&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un nombre décimal====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^([1][0-9][0-9]|[1-9][0-9]|[0-9])[[\.)[0-9][0-9])?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 les nombres entre ayant une partie décimale optionnelle à deux chiffres&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}\.[0-9]{2}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ===Monnaie===&lt;br /&gt;
&lt;br /&gt;
 ====Euro (le signe Euro et les centimes sont optionnels)====&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;/^\d+(\.(\d{3}]]?&amp;amp;euro;?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Dollar US====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\$?\d+(\.(\d{2}))?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le signe dollar en début de saisie et les cents sont optionnels.&lt;br /&gt;
&lt;br /&gt;
====Prix en Franc Suisse====&lt;br /&gt;
&lt;br /&gt;
C&#039;est un nombre avec deux décimales  après la virgule dont le dernier chiffre est soit 5, soit 0.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(\d+)(\.\d(05)?)?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;une date==&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;une date au format jj/mm/aaaa====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\d{1,2}\/\d{1,2}\/\d{4}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;une date au format jj/mm/aaaa du 20 ou 21éme siècle====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\d{1,2}\/\d{1,2}\/(19|20)\d{2}$/&amp;lt;/nowiki&amp;gt; a tester&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un mois (1-12)====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[0]?[1-9]$|^1[0-2]$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression permet de saisir le mois de janvier soit 1, soit 01.&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;une heure==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9]$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
cette expression permet de valider un format d&#039;heure HH:MM ex : 11:32&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9](?::[0-5][0-9])?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression permet de valider un format d&#039;heure HH:MM:SS où la partie de secondes est optionnelle ex : 11:32:53 ou bien 11:32&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression permet de valider un format d&#039;heure HH:MM:SS où la partie des secondes est obligatoire ex : 11:32:53&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;une longueur de saisie==&lt;br /&gt;
&lt;br /&gt;
Pour certain type de question, LimeSurvey propose dans les paramètres avancés ce type de contrôle.&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;une longueur de saisie minimum====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^.{3,}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ici la longueur minimum est de 3 caractères quelconques&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;une longueur de saisie maximum====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^.{3,}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ici la longueur maximum est de 3 caractères quelconques&lt;br /&gt;
&lt;br /&gt;
==Validation de texte==&lt;br /&gt;
&lt;br /&gt;
Actuellement, le type de question &#039;&#039;Multiples zones de texte court&#039;&#039; ne permet pas de contrôler le minimum ou le maximum de réponses.&lt;br /&gt;
&lt;br /&gt;
Une des manières d&#039;y parvenir est d&#039;utiliser le type question &#039;&#039;Zone de texte long&#039;&#039; sur laquelle on appliquera une expression régulière.&lt;br /&gt;
&lt;br /&gt;
L&#039;expression ci-dessous vérifie qu&#039;il y a au moins un mot par ligne et qu&#039;il y a au moins trois lignes mais pas plus de 10 lignes :&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)){2,10}/is&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si vous voulez vérifier qu&#039;il y a au moins 5 mots par ligne, vous devez changer le premier et le dernier caractère étoile (*) par {4,}&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+){4,})(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+){4,})){2,10}/is&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si voulez 1 ou plusieurs mots par ligne et de 1 à 5 lignes, vous pouvez changer les valeurs du quantificateur {0,4}.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)){0,4}/is&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Limiter le nombre de mots===&lt;br /&gt;
&lt;br /&gt;
L&#039;expression ci-dessous permet d&#039;écrire au minimum 1 mot et au maximum 200 mots.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[-\w]+(?:\W+[-\w]+){0,199}\W*$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vous pouvez varier le minimum et le maximum selon vos besoins en changeant {0,199} ( voir ci-dessus le tableau &#039;&#039;Quantificateur&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un mot==&lt;br /&gt;
&lt;br /&gt;
==== mot dans une liste====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(arbre|feuille|fleur){1}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le mot saisie doit correspondre exactement (minuscule) au mot dans la liste.&lt;br /&gt;
&lt;br /&gt;
====validation du mot dans une liste====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(arbre|feuille|fleur){1}$/i&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ici, on ne tient pas compte des minuscules et des majuscules : Les mots suivants Arbre,arbre, ARBRE, ArBrE, etc. sont tous valides.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-translate-fuzzy&amp;quot;&amp;gt;&lt;br /&gt;
Pour tester vos expressions régulières vous pouvez utiliser ces testeurs d&#039;expressions régulières: [https://regex101.com/ regex101] |https://extendsclass.com/regex-tester.html  regex tester]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note|To improve this wiki section, we kindly ask you to add your successfully tested regular expression(s) to provide a better understanding of this feature to the new LimeSurvey (potential) users.}}&lt;br /&gt;
&lt;br /&gt;
{{Alert|title=Attention|text= Please note that all the below examples are written on one line!}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Important: Regular Expressions in conditions=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that when using regular expressions in the condition editor, do NOT include the beginning and ending slash.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-translate-fuzzy&amp;quot;&amp;gt;&lt;br /&gt;
=#Validation=&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Update (12/2018): Since these days domain names cannot only hold special characters like “ü” but also use more than 3 characters as domain name like .&#039;&#039;tech&#039;&#039; or .&#039;&#039;company&#039;&#039;, the below email regex only checks if “@” and “.” exists within the entered email address.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
/^.+?@.+?\..+$/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
At this outdated regex the domain name is limited to 3 characters which doesn&#039;t cover all available domains:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
/^(\w[-._+\w]*\w@\w[-._\w]*\w\.\w{2,3})$/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Codes postaux&lt;br /&gt;
&lt;br /&gt;
== Codes postaux australiens: ==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[0-9]{4}/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Codes postaux brésiliens ==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[0-9]{2}\.[0-9]{3}-[0-9]{3}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Codes postaux canadiens ==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[a-zA-Z]\d{1}[a-zA-Z](\-| |)\d{1}[a-zA-Z]\d{1}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Codes postaux américains ==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[0-9]{5}([- /]?[0-9]{4})?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==UK postcodes==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[A-Z][A-Z]?[0-9][A-Z0-9]? ?[0-9][ABDEFGHJLNPQRSTUWXYZ]{2}$/i&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that this is not very exact, and a more exact validation is much more complex. For example, see [https://stackoverflow.com/questions/164979/uk-postcode-regex-comprehensive StackOverflow answer] and [https://en.wikipedia.org/wiki/Talk:Postcodes_in_the_United_Kingdom#Regular_Expressions Wikipedia] for more information.&lt;br /&gt;
&lt;br /&gt;
==French postcodes== &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/(^[0-8]\d\d{3}$)|(^9[0-5]\d{3}$)|(^97[1-6]\d{2}$)|(^98[46-8]\d{2}$)/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above expression is very precise and it will check whether or not the French Department exists (first two digits), including overseas Departments and overseas Territories (DOM-TOM).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Phone numbers=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==US phone numbers==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\([2-9]\d{2}\)\ ?|[2-9]\d{2}(?:\-?|\ ?))[2-9]\d{2}[- ]?\d{4}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[\(\)\.\- ]{0,}[0-9]{3}[\(\)\.\- ]{0,}[0-9]{3}[\(\)\.\- ]{0,}[0-9]{4}[\(\)\.\- ]{0,}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This second option will match all phone Canadian and US phone numbers that include non-digit symbols including:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt; . ( ) - (space)&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will allow you to match phone numbers which resemble below:&lt;br /&gt;
*(555)555 5555&lt;br /&gt;
*555.555.5555&lt;br /&gt;
*555 555 5555&lt;br /&gt;
*(555)-555-5555&lt;br /&gt;
*555-555-5555&lt;br /&gt;
*555555555&lt;br /&gt;
&lt;br /&gt;
==Australian phone numbers==&lt;br /&gt;
&lt;br /&gt;
The following patterns match all various Australian mobile and landline phone numbers including with &amp;quot;+61&amp;quot; country prefix:&lt;br /&gt;
*(02) 9123 6535&lt;br /&gt;
*03 1234-5345&lt;br /&gt;
*0412 345 678&lt;br /&gt;
*+61 2 3456 789&lt;br /&gt;
&lt;br /&gt;
But not:&lt;br /&gt;
* 234 3450 234&lt;br /&gt;
*a234 534 3432&lt;br /&gt;
*134567&lt;br /&gt;
*123456789013&lt;br /&gt;
&lt;br /&gt;
Brackets, white space and hypens are ignored.&lt;br /&gt;
&lt;br /&gt;
The &#039;Very precise:&#039; versions listed here match against the first four or five digits in a number to ensure that they are valid Australian numbers.&lt;br /&gt;
&lt;br /&gt;
The &#039;Not very precise:&#039; only match against the first and second digit so may allow invaid numbers.&lt;br /&gt;
&lt;br /&gt;
===All Australian phone numbers (mobile and landline - area code required)===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^\(?(?:\+?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})$/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\+?61|0)[2-478](?:[ -]?[0-9]){8}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===All Australian phone numbers (landlines only - area code required)===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^\(?(?:\+?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}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\+?61|\(?0)[2378]\)?(?:[ -]?[0-9]){8}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===New South Wales landline phone numbers (area code optional)===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)2\)?[ -]?)?(?:3[ -]?[38]|[46-9][ -]?[0-9]|5[ -]?[0-35-9])(?:[ -]?[0-9]){6}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)2\)?(?:[ -]?[0-9]){7}[0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Victorian and Tasmanian landline phone numbers (area code optional)===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)3\)?[ -]?)?(?:4[ -]?[0-57-9]|[57-9][ -]?[0-9]|6[ -]?[1-67])(?:[ -]?[0-9]){6}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)3\)?(?:[ -]?[0-9]){7}[0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Queensland landline phone numbers (area code optional)===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)7\)?[ -]?)?(?:[2-4][ -]?[0-9]|5[ -]?[2-7]|7[ -]?6)(?:[ -]?[0-9]){6}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)7\)?(?:[ -]?[0-9]){7}[0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===South Australia, Northern Territory, Western Australia landline phone numbers (area code optional)===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)8\)?[ -]?)?(?:5[1-4]|6[0-8]|[7-9][0-9])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)8\)?(?:[ -]?[0-9]){7}[0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Australian mobile phone numbers only===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\+?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}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)4\)?(?:[ -]?[0-9]){7}[0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Belgian phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00)32\s?|0)(\d\s?\d{3}|\d{2}\s?\d{2})(\s?\d{2}){2}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
==Belgian mobile phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00)32\s?|0)4(60|[789]\d)(\s?\d{2}){3}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
==French phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00)33\s?|0)[1-59](\s?\d{2}){4}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
==French mobile phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00)33\s?|0)[67](\s?\d{2}){4}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
==Luxemburg phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00\s?)352)?(\s?\d{2}){3,4}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
==Luxemburg mobile phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00\s?)352)?\s?6[269]1(\s?\d{3}){2}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
=German marks (with optional plus or minus)=&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-6]{1}[\+|\-]?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Age validation=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example: Age 20-99&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/([2-9][0-9])/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example: Age 18-35&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/(1[8-9]|2[0-9]|3[0-5])/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example: Age 19-65&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(1[8-9]|[2-5][0-9]|6[0-5])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Number validation= &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Numbers from 1 to 99999==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^([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])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9][0-9]{0,4}$/ does the same as above but should run a little faster&amp;lt;/source&amp;gt;&lt;br /&gt;
==Numbers from 1 to 999, 1.000 to 999.999 to 999.999.999==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9][0-9]{0,2}(?:\.[0-9]{3}){0,2}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
Accepts numbers from 1 to 999, 1.000 to 999.999 to 999.999.999 but&lt;br /&gt;
rejects numbers like 999.1.1 , 94.22.22, 999.1.22, 999.11.1, 999.1.333&lt;br /&gt;
&lt;br /&gt;
==Number validation with optional decimal (for price)==&lt;br /&gt;
Accepts numbers from 0 to 199, with 2 decimal optional:&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^([1][0-9][0-9]|[1-9][0-9]|[0-9])((\.)[0-9][0-9])?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It forces two decimal points and accepts numbers from 1.00 to 999,999,999.00 with an optional comma delimiting thousands/millions&lt;br /&gt;
including all of the following: 1.00, 1,000.00, 12,345.67, 12345,02, 123,456,468.00, 1234566.00, 123456789.00&lt;br /&gt;
but not 1,23.00, 12,3.4 or 1234,43.04&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}\.[0-9]{2}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Similar to the above: Forces two decimal points but accepts a &amp;quot;0&amp;quot; before decimal separator &amp;quot;,&amp;quot;.&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/[0-9]{0,2}(?:,?[0-9]{3}){0,3}\.[0-9]{2}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Same as above, but the two decimal points are optional:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}(?:\.[0-9]{2})?$/ &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Month (1-12)==&lt;br /&gt;
&lt;br /&gt;
If you want to ask for the month a person was born you can validate the input as follows:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[0]*[1-9]$|^[0]*1[0-2]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Minimum width (set to 3 in this example)=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^.{3,}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Currency=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==US currency (dollar sign and cents optional)==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^\$?\d+(\.(\d{2}))?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Check for comma usage:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^\$?\d{1,3}(\d+(?!,))?(,\d{3})*(\.\d{2})?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Swiss price==&lt;br /&gt;
&lt;br /&gt;
A number with two decimal numbers after the decimal point of which the last one is either a 5 or a 0:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(\d+)(\.\d(05)?)?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Validate score=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==1-10==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9]{1}$|^10$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==1-100==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9]?[0-9]{1}$|^100$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Text validation=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The [[Question type - Multiple short text|multiple short text question type]] doesn&#039;t support minimum or maximum answers at the moment. One way around this is to use a [[Question type - Long free text|long free text question type]] with a regular expression.&lt;br /&gt;
&lt;br /&gt;
The below expression tests for at least one word per line for at least 3 lines and no more than 10 lines:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+)*)){2,10}/is&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want, say five words per line, you could change the first and last star/asterisk to {4,}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+){4,})(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+){4,})){2,10}/is&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you wanted one or more words per line (between line 1 and line 5), you can change the content located within the last curly braces to &#039;&#039;&#039;0,4&#039;&#039;&#039; (note you use 0 because you&#039;re already matching the first line).&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+)*)){0,4}/is&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Word count==&lt;br /&gt;
&lt;br /&gt;
 The following restricts the number of words allowed to a minimum of 1 and a maximum of 200:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[-\w]+(?:\W+[-\w]+){0,199}\W*$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 To increase the minimum change the zero part of {0,199}.&lt;br /&gt;
&lt;br /&gt;
To increase or decrease the maximum change the &amp;quot;199&amp;quot; part of {0,199}.&lt;br /&gt;
&lt;br /&gt;
=Time validation=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are a number of ways to write 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 [[Question type - Date|date question type]] (it can also capture time) you can use the [[Question type - Short free text|short free text question type]] with one of the below validation regular expressions.&lt;br /&gt;
&lt;br /&gt;
The following three validation strings test for 24 hour time (in order of appearances) without seconds, with optional seconds lastly with seconds required:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9](?::[0-5][0-9])?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following three match 12 hour time, as above with seconds, optional seconds and with seconds required:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?&amp;quot;&amp;gt;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))$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?: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))$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?: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))$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following three match either 12 or 24 hour time as above with seconds, optional seconds and with seconds required:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:(?: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])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:(?: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])?)$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:(?: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])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=US states=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To validate for one state use the following (example is Texas):&lt;br /&gt;
*TX uppercase only: &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(TX)$/&amp;lt;/source&amp;gt;&lt;br /&gt;
*tx lowercase only: &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(tx)$/&amp;lt;/source&amp;gt;&lt;br /&gt;
*TX upper or lowercase: &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^([T|t][X|x])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Profanity Filter=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To filter profanity words from an answer:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?i)((?!\bENTERPROFANITYHERE\b).)*$(?-i)/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Replace &amp;quot;ENTERPROFANITYHERE&amp;quot; with your bad word.&lt;br /&gt;
&lt;br /&gt;
The \b will allow passing of words such as &amp;quot;assassination&amp;quot; and &amp;quot;hello&amp;quot; if you enter &amp;quot;ass&amp;quot; or &amp;quot;hell&amp;quot; as your profanity word. This also works if you are trying to omit other words, names etc. from answers.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Helpful links=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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.&lt;/div&gt;</summary>
		<author><name>Cyr1lle</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=Translations:Using_regular_expressions/20/fr&amp;diff=143404</id>
		<title>Translations:Using regular expressions/20/fr</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=Translations:Using_regular_expressions/20/fr&amp;diff=143404"/>
		<updated>2019-06-16T12:08:07Z</updated>

		<summary type="html">&lt;p&gt;Cyr1lle: Created page with &amp;quot;== Codes postaux américains ==&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Codes postaux américains ==&lt;/div&gt;</summary>
		<author><name>Cyr1lle</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=Using_regular_expressions/fr&amp;diff=143403</id>
		<title>Using regular expressions/fr</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=Using_regular_expressions/fr&amp;diff=143403"/>
		<updated>2019-06-16T12:07:49Z</updated>

		<summary type="html">&lt;p&gt;Cyr1lle: Created page with &amp;quot;== Codes postaux canadiens ==&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt; &lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-translate-fuzzy&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;La traduction de cette page n&#039;est pas terminée.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=#Validation=&lt;br /&gt;
&lt;br /&gt;
Lorsque vous définissez les attributs d&#039;une question, vous devez indiquer son code, le texte de la question, le type de question,&lt;br /&gt;
&lt;br /&gt;
le nombre minimum et/ou maximum de caractères, etc.&lt;br /&gt;
&lt;br /&gt;
Cependant, il n&#039;est pas possible définir tous les attributs de contrôle pouvant satisfaire les besoins des utilisateurs de LimeSurvey.&lt;br /&gt;
&lt;br /&gt;
La zone de saisie &#039;&#039;Validation&#039;&#039; de l&#039;écran d&#039;édition d&#039;une question joue ce rôle et permet d&#039;ajouter des contrôles supplémentaires sur la réponse.&lt;br /&gt;
&lt;br /&gt;
Ces contrôles se font gr&amp;amp;acirc;ce à des expressions régulières que l&#039;on place dans la zone de saisie &#039;&#039;Validation&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:LimeSurvey-2011-06-01-19-18.png]]&lt;br /&gt;
&lt;br /&gt;
Dans la situation présentée ci-dessus, la réponse sera considérée comme valide si d&#039;une part elle est composée uniquement de lettres&lt;br /&gt;
&lt;br /&gt;
en majuscule et d&#039;autre part si le nombre de lettres est compris entre 1 et 10.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Attention&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour le contenu de la zone de saisie &#039;&#039;Validation&#039;&#039; soit évalué, il faut obligatoirement que l&#039;utilisateur est saisi un caractère.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=#Bref rappel=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Avertissements&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L&#039;objet de cette section n&#039;est pas d&#039;expliquer comment constituer des expressions régulières&lt;br /&gt;
&lt;br /&gt;
ou bien d&#039;expliquer leurs fonctionnements.&lt;br /&gt;
&lt;br /&gt;
De très bons livres le font comme Maîtrise des expressions régulières de Jeffrey E. F. Friedl.&lt;br /&gt;
&lt;br /&gt;
Il y a également des sites qui traitent de ces sujets comme  http://www.regxlib.net/ (en anglais)&lt;br /&gt;
&lt;br /&gt;
ou bien http://perl.enstimac.fr/DocFr/perlrequick.html (en français).&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L&#039;expression régulière est un moyen puissant,flexible et efficace d&#039;appliquer un traitement sur du texte.&lt;br /&gt;
&lt;br /&gt;
Gr&amp;amp;acirc;ce à une notation générale (motif, pattern), c&#039;est une sorte de mini-langage de programmation qui permet de décrire&lt;br /&gt;
&lt;br /&gt;
et d&#039;analyser le texte. Plusieurs notations existent.&lt;br /&gt;
&lt;br /&gt;
Celle utilisée dans LimeSurvey est du type PERL et doivent commencer et se terminer par le caractère slash (&amp;quot;/&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Métacaractère||   Signification||&lt;br /&gt;
|-&lt;br /&gt;
|   .||   n&#039;importe quel caractère sauf \n||&lt;br /&gt;
|-&lt;br /&gt;
|   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;  ]|| tous les caractères énumérés  ||   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;abc]&lt;br /&gt;
|-&lt;br /&gt;
|   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~  ]|| tous les caractères sauf ceux qui sont énumérés  ||   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~abc]&lt;br /&gt;
|-&lt;br /&gt;
|   ~124~ || tous les caractères sauf ceux qui sont énumérés  ||   mot1~124~mot2~124~mot3&lt;br /&gt;
|-&lt;br /&gt;
|   - || intervalle  ||   a-z&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Quantificateur||   Signification   || Exemple&lt;br /&gt;
|-&lt;br /&gt;
|   * ||   zéro ou plus  || A* = zéro ou plus de lettre A&lt;br /&gt;
|-&lt;br /&gt;
|   + || 1 ou plus       || A+ = une lettre A ou plus&lt;br /&gt;
|-&lt;br /&gt;
|   ? || 0 ou 1          || A? = pas de lettre A ou une seule lettre A&lt;br /&gt;
|-&lt;br /&gt;
| {n} || n fois exactement || A{3} = trois lettres A&lt;br /&gt;
|-&lt;br /&gt;
|{min,} || minimum min fois et plus || A{3,} trois lettres A ou plus&lt;br /&gt;
|-&lt;br /&gt;
|{min,max}|| minimum min et maximum max  fois || A{3,7} trois lettres A au minimum et au maximum 7 lettres A&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Caractères||   Signification || Équivalence&lt;br /&gt;
|-&lt;br /&gt;
| \n || nouvelle ligne||&lt;br /&gt;
|-&lt;br /&gt;
| \r || retour à la ligne||&lt;br /&gt;
|-&lt;br /&gt;
| \t || tabulation||&lt;br /&gt;
|-&lt;br /&gt;
| \v || tabulation vertical||&lt;br /&gt;
|-&lt;br /&gt;
| \f || nouvelle page||&lt;br /&gt;
|-&lt;br /&gt;
|   \s ||   caractères d&#039;espacement|| &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;\n\r\t\f]&lt;br /&gt;
|-&lt;br /&gt;
|   \S || tous les caractères sauf les caractères d&#039;espacement|| &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~\n\r\t\f]&lt;br /&gt;
|-&lt;br /&gt;
|   \d || les chiffres||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;0-9]&lt;br /&gt;
|-&lt;br /&gt;
| \D || tous les caractères sauf les chiffres||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~0-9]&lt;br /&gt;
|-&lt;br /&gt;
| \w || caractère constituant un mot||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;0-9a-zA-Z_]&lt;br /&gt;
|-&lt;br /&gt;
| \W || tous les caractères ne constituant pas un mot||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~\w]&lt;br /&gt;
|-&lt;br /&gt;
| \xhh || caractère en hexadécimal(hh) ex: \x41 = A||&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Modificateur||   Signification&lt;br /&gt;
|-&lt;br /&gt;
| i || ignore la casse&lt;br /&gt;
|-&lt;br /&gt;
| x || le point reconnait aussi \n&lt;br /&gt;
|-&lt;br /&gt;
| m || mode multi lignes&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Les modificateurs se mettent après le dernier slash ex : /&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;a-z]/i est équivalent à /&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;a-zA-Z]/&lt;br /&gt;
&lt;br /&gt;
Vous pouvez tester vos expressions régulières sur http://www.spaweditor.com/scripts/regex/index.php&lt;br /&gt;
&lt;br /&gt;
=#Quelques exemples=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&#039;&#039;Vous pouvez ajouter des expressions régulières mais testées auparavant!&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemples (notez qu&#039;elles sont toutes sur une seule ligne):&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un code postal français==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^0[1-9]|[1-8][0-9]|9[0-8]|2A|2B[0-9]{3}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression teste seulement de le format du code postal mais pas de sa validité.&lt;br /&gt;
&lt;br /&gt;
==Validation du numéro de département français==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^0[1-9]|[1-8][0-9]|9[0-8]|2A|2B$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression teste seulement de le format du numéro du département mais pas de sa validité.&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un nombre==&lt;br /&gt;
&lt;br /&gt;
===Validation d&#039;un nombre entier===&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle défini (age, etc.) de 20 à 99====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/([2-9][0-9])/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle défini (age, etc.) de 18 à 35====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(1[8-9]|2[0-9]|3[0-5])/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle défini (age, etc.) de 19 à 65====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;(1[8-9]|[2-5][0-9]|6[0-5])$&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle de 1 à 99999====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^([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])$/&amp;lt;/nowiki&amp;gt;  &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,4}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
C&#039;est deux expressions produisent le même résultat.&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans plusieurs intervalles de 1 à 999, de 1.000 à 999.999====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,2}(?:\.[0-9]{3}){0,1}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un score compris entre 1 et 10====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9]{1}$|^10$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un score compris entre 1 et 100====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9]?[0-9]{1}$|^100$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===validation d&#039;un nombre décimal===&lt;br /&gt;
&lt;br /&gt;
Ce type de validation peut être utilisé dans le cas de prix, mesure&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un nombre décimal====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^([1][0-9][0-9]|[1-9][0-9]|[0-9])[[\.)[0-9][0-9])?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 les nombres entre ayant une partie décimale optionnelle à deux chiffres&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}\.[0-9]{2}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ===Monnaie===&lt;br /&gt;
&lt;br /&gt;
 ====Euro (le signe Euro et les centimes sont optionnels)====&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;/^\d+(\.(\d{3}]]?&amp;amp;euro;?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Dollar US====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\$?\d+(\.(\d{2}))?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le signe dollar en début de saisie et les cents sont optionnels.&lt;br /&gt;
&lt;br /&gt;
====Prix en Franc Suisse====&lt;br /&gt;
&lt;br /&gt;
C&#039;est un nombre avec deux décimales  après la virgule dont le dernier chiffre est soit 5, soit 0.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(\d+)(\.\d(05)?)?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;une date==&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;une date au format jj/mm/aaaa====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\d{1,2}\/\d{1,2}\/\d{4}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;une date au format jj/mm/aaaa du 20 ou 21éme siècle====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\d{1,2}\/\d{1,2}\/(19|20)\d{2}$/&amp;lt;/nowiki&amp;gt; a tester&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un mois (1-12)====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[0]?[1-9]$|^1[0-2]$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression permet de saisir le mois de janvier soit 1, soit 01.&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;une heure==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9]$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
cette expression permet de valider un format d&#039;heure HH:MM ex : 11:32&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9](?::[0-5][0-9])?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression permet de valider un format d&#039;heure HH:MM:SS où la partie de secondes est optionnelle ex : 11:32:53 ou bien 11:32&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression permet de valider un format d&#039;heure HH:MM:SS où la partie des secondes est obligatoire ex : 11:32:53&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;une longueur de saisie==&lt;br /&gt;
&lt;br /&gt;
Pour certain type de question, LimeSurvey propose dans les paramètres avancés ce type de contrôle.&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;une longueur de saisie minimum====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^.{3,}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ici la longueur minimum est de 3 caractères quelconques&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;une longueur de saisie maximum====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^.{3,}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ici la longueur maximum est de 3 caractères quelconques&lt;br /&gt;
&lt;br /&gt;
==Validation de texte==&lt;br /&gt;
&lt;br /&gt;
Actuellement, le type de question &#039;&#039;Multiples zones de texte court&#039;&#039; ne permet pas de contrôler le minimum ou le maximum de réponses.&lt;br /&gt;
&lt;br /&gt;
Une des manières d&#039;y parvenir est d&#039;utiliser le type question &#039;&#039;Zone de texte long&#039;&#039; sur laquelle on appliquera une expression régulière.&lt;br /&gt;
&lt;br /&gt;
L&#039;expression ci-dessous vérifie qu&#039;il y a au moins un mot par ligne et qu&#039;il y a au moins trois lignes mais pas plus de 10 lignes :&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)){2,10}/is&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si vous voulez vérifier qu&#039;il y a au moins 5 mots par ligne, vous devez changer le premier et le dernier caractère étoile (*) par {4,}&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+){4,})(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+){4,})){2,10}/is&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si voulez 1 ou plusieurs mots par ligne et de 1 à 5 lignes, vous pouvez changer les valeurs du quantificateur {0,4}.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)){0,4}/is&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Limiter le nombre de mots===&lt;br /&gt;
&lt;br /&gt;
L&#039;expression ci-dessous permet d&#039;écrire au minimum 1 mot et au maximum 200 mots.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[-\w]+(?:\W+[-\w]+){0,199}\W*$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vous pouvez varier le minimum et le maximum selon vos besoins en changeant {0,199} ( voir ci-dessus le tableau &#039;&#039;Quantificateur&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un mot==&lt;br /&gt;
&lt;br /&gt;
==== mot dans une liste====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(arbre|feuille|fleur){1}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le mot saisie doit correspondre exactement (minuscule) au mot dans la liste.&lt;br /&gt;
&lt;br /&gt;
====validation du mot dans une liste====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(arbre|feuille|fleur){1}$/i&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ici, on ne tient pas compte des minuscules et des majuscules : Les mots suivants Arbre,arbre, ARBRE, ArBrE, etc. sont tous valides.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-translate-fuzzy&amp;quot;&amp;gt;&lt;br /&gt;
Pour tester vos expressions régulières vous pouvez utiliser ces testeurs d&#039;expressions régulières: [https://regex101.com/ regex101] |https://extendsclass.com/regex-tester.html  regex tester]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note|To improve this wiki section, we kindly ask you to add your successfully tested regular expression(s) to provide a better understanding of this feature to the new LimeSurvey (potential) users.}}&lt;br /&gt;
&lt;br /&gt;
{{Alert|title=Attention|text= Please note that all the below examples are written on one line!}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Important: Regular Expressions in conditions=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that when using regular expressions in the condition editor, do NOT include the beginning and ending slash.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-translate-fuzzy&amp;quot;&amp;gt;&lt;br /&gt;
=#Validation=&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Update (12/2018): Since these days domain names cannot only hold special characters like “ü” but also use more than 3 characters as domain name like .&#039;&#039;tech&#039;&#039; or .&#039;&#039;company&#039;&#039;, the below email regex only checks if “@” and “.” exists within the entered email address.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
/^.+?@.+?\..+$/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
At this outdated regex the domain name is limited to 3 characters which doesn&#039;t cover all available domains:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
/^(\w[-._+\w]*\w@\w[-._\w]*\w\.\w{2,3})$/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Codes postaux&lt;br /&gt;
&lt;br /&gt;
== Codes postaux australiens: ==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[0-9]{4}/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Codes postaux brésiliens ==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[0-9]{2}\.[0-9]{3}-[0-9]{3}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Codes postaux canadiens ==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[a-zA-Z]\d{1}[a-zA-Z](\-| |)\d{1}[a-zA-Z]\d{1}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==US postal codes==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[0-9]{5}([- /]?[0-9]{4})?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==UK postcodes==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[A-Z][A-Z]?[0-9][A-Z0-9]? ?[0-9][ABDEFGHJLNPQRSTUWXYZ]{2}$/i&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that this is not very exact, and a more exact validation is much more complex. For example, see [https://stackoverflow.com/questions/164979/uk-postcode-regex-comprehensive StackOverflow answer] and [https://en.wikipedia.org/wiki/Talk:Postcodes_in_the_United_Kingdom#Regular_Expressions Wikipedia] for more information.&lt;br /&gt;
&lt;br /&gt;
==French postcodes== &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/(^[0-8]\d\d{3}$)|(^9[0-5]\d{3}$)|(^97[1-6]\d{2}$)|(^98[46-8]\d{2}$)/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above expression is very precise and it will check whether or not the French Department exists (first two digits), including overseas Departments and overseas Territories (DOM-TOM).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Phone numbers=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==US phone numbers==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\([2-9]\d{2}\)\ ?|[2-9]\d{2}(?:\-?|\ ?))[2-9]\d{2}[- ]?\d{4}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[\(\)\.\- ]{0,}[0-9]{3}[\(\)\.\- ]{0,}[0-9]{3}[\(\)\.\- ]{0,}[0-9]{4}[\(\)\.\- ]{0,}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This second option will match all phone Canadian and US phone numbers that include non-digit symbols including:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt; . ( ) - (space)&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will allow you to match phone numbers which resemble below:&lt;br /&gt;
*(555)555 5555&lt;br /&gt;
*555.555.5555&lt;br /&gt;
*555 555 5555&lt;br /&gt;
*(555)-555-5555&lt;br /&gt;
*555-555-5555&lt;br /&gt;
*555555555&lt;br /&gt;
&lt;br /&gt;
==Australian phone numbers==&lt;br /&gt;
&lt;br /&gt;
The following patterns match all various Australian mobile and landline phone numbers including with &amp;quot;+61&amp;quot; country prefix:&lt;br /&gt;
*(02) 9123 6535&lt;br /&gt;
*03 1234-5345&lt;br /&gt;
*0412 345 678&lt;br /&gt;
*+61 2 3456 789&lt;br /&gt;
&lt;br /&gt;
But not:&lt;br /&gt;
* 234 3450 234&lt;br /&gt;
*a234 534 3432&lt;br /&gt;
*134567&lt;br /&gt;
*123456789013&lt;br /&gt;
&lt;br /&gt;
Brackets, white space and hypens are ignored.&lt;br /&gt;
&lt;br /&gt;
The &#039;Very precise:&#039; versions listed here match against the first four or five digits in a number to ensure that they are valid Australian numbers.&lt;br /&gt;
&lt;br /&gt;
The &#039;Not very precise:&#039; only match against the first and second digit so may allow invaid numbers.&lt;br /&gt;
&lt;br /&gt;
===All Australian phone numbers (mobile and landline - area code required)===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^\(?(?:\+?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})$/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\+?61|0)[2-478](?:[ -]?[0-9]){8}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===All Australian phone numbers (landlines only - area code required)===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^\(?(?:\+?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}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\+?61|\(?0)[2378]\)?(?:[ -]?[0-9]){8}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===New South Wales landline phone numbers (area code optional)===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)2\)?[ -]?)?(?:3[ -]?[38]|[46-9][ -]?[0-9]|5[ -]?[0-35-9])(?:[ -]?[0-9]){6}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)2\)?(?:[ -]?[0-9]){7}[0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Victorian and Tasmanian landline phone numbers (area code optional)===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)3\)?[ -]?)?(?:4[ -]?[0-57-9]|[57-9][ -]?[0-9]|6[ -]?[1-67])(?:[ -]?[0-9]){6}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)3\)?(?:[ -]?[0-9]){7}[0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Queensland landline phone numbers (area code optional)===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)7\)?[ -]?)?(?:[2-4][ -]?[0-9]|5[ -]?[2-7]|7[ -]?6)(?:[ -]?[0-9]){6}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)7\)?(?:[ -]?[0-9]){7}[0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===South Australia, Northern Territory, Western Australia landline phone numbers (area code optional)===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)8\)?[ -]?)?(?:5[1-4]|6[0-8]|[7-9][0-9])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)8\)?(?:[ -]?[0-9]){7}[0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Australian mobile phone numbers only===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\+?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}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)4\)?(?:[ -]?[0-9]){7}[0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Belgian phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00)32\s?|0)(\d\s?\d{3}|\d{2}\s?\d{2})(\s?\d{2}){2}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
==Belgian mobile phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00)32\s?|0)4(60|[789]\d)(\s?\d{2}){3}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
==French phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00)33\s?|0)[1-59](\s?\d{2}){4}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
==French mobile phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00)33\s?|0)[67](\s?\d{2}){4}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
==Luxemburg phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00\s?)352)?(\s?\d{2}){3,4}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
==Luxemburg mobile phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00\s?)352)?\s?6[269]1(\s?\d{3}){2}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
=German marks (with optional plus or minus)=&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-6]{1}[\+|\-]?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Age validation=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example: Age 20-99&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/([2-9][0-9])/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example: Age 18-35&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/(1[8-9]|2[0-9]|3[0-5])/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example: Age 19-65&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(1[8-9]|[2-5][0-9]|6[0-5])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Number validation= &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Numbers from 1 to 99999==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^([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])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9][0-9]{0,4}$/ does the same as above but should run a little faster&amp;lt;/source&amp;gt;&lt;br /&gt;
==Numbers from 1 to 999, 1.000 to 999.999 to 999.999.999==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9][0-9]{0,2}(?:\.[0-9]{3}){0,2}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
Accepts numbers from 1 to 999, 1.000 to 999.999 to 999.999.999 but&lt;br /&gt;
rejects numbers like 999.1.1 , 94.22.22, 999.1.22, 999.11.1, 999.1.333&lt;br /&gt;
&lt;br /&gt;
==Number validation with optional decimal (for price)==&lt;br /&gt;
Accepts numbers from 0 to 199, with 2 decimal optional:&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^([1][0-9][0-9]|[1-9][0-9]|[0-9])((\.)[0-9][0-9])?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It forces two decimal points and accepts numbers from 1.00 to 999,999,999.00 with an optional comma delimiting thousands/millions&lt;br /&gt;
including all of the following: 1.00, 1,000.00, 12,345.67, 12345,02, 123,456,468.00, 1234566.00, 123456789.00&lt;br /&gt;
but not 1,23.00, 12,3.4 or 1234,43.04&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}\.[0-9]{2}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Similar to the above: Forces two decimal points but accepts a &amp;quot;0&amp;quot; before decimal separator &amp;quot;,&amp;quot;.&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/[0-9]{0,2}(?:,?[0-9]{3}){0,3}\.[0-9]{2}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Same as above, but the two decimal points are optional:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}(?:\.[0-9]{2})?$/ &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Month (1-12)==&lt;br /&gt;
&lt;br /&gt;
If you want to ask for the month a person was born you can validate the input as follows:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[0]*[1-9]$|^[0]*1[0-2]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Minimum width (set to 3 in this example)=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^.{3,}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Currency=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==US currency (dollar sign and cents optional)==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^\$?\d+(\.(\d{2}))?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Check for comma usage:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^\$?\d{1,3}(\d+(?!,))?(,\d{3})*(\.\d{2})?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Swiss price==&lt;br /&gt;
&lt;br /&gt;
A number with two decimal numbers after the decimal point of which the last one is either a 5 or a 0:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(\d+)(\.\d(05)?)?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Validate score=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==1-10==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9]{1}$|^10$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==1-100==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9]?[0-9]{1}$|^100$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Text validation=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The [[Question type - Multiple short text|multiple short text question type]] doesn&#039;t support minimum or maximum answers at the moment. One way around this is to use a [[Question type - Long free text|long free text question type]] with a regular expression.&lt;br /&gt;
&lt;br /&gt;
The below expression tests for at least one word per line for at least 3 lines and no more than 10 lines:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+)*)){2,10}/is&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want, say five words per line, you could change the first and last star/asterisk to {4,}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+){4,})(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+){4,})){2,10}/is&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you wanted one or more words per line (between line 1 and line 5), you can change the content located within the last curly braces to &#039;&#039;&#039;0,4&#039;&#039;&#039; (note you use 0 because you&#039;re already matching the first line).&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+)*)){0,4}/is&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Word count==&lt;br /&gt;
&lt;br /&gt;
 The following restricts the number of words allowed to a minimum of 1 and a maximum of 200:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[-\w]+(?:\W+[-\w]+){0,199}\W*$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 To increase the minimum change the zero part of {0,199}.&lt;br /&gt;
&lt;br /&gt;
To increase or decrease the maximum change the &amp;quot;199&amp;quot; part of {0,199}.&lt;br /&gt;
&lt;br /&gt;
=Time validation=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are a number of ways to write 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 [[Question type - Date|date question type]] (it can also capture time) you can use the [[Question type - Short free text|short free text question type]] with one of the below validation regular expressions.&lt;br /&gt;
&lt;br /&gt;
The following three validation strings test for 24 hour time (in order of appearances) without seconds, with optional seconds lastly with seconds required:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9](?::[0-5][0-9])?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following three match 12 hour time, as above with seconds, optional seconds and with seconds required:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?&amp;quot;&amp;gt;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))$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?: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))$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?: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))$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following three match either 12 or 24 hour time as above with seconds, optional seconds and with seconds required:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:(?: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])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:(?: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])?)$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:(?: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])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=US states=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To validate for one state use the following (example is Texas):&lt;br /&gt;
*TX uppercase only: &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(TX)$/&amp;lt;/source&amp;gt;&lt;br /&gt;
*tx lowercase only: &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(tx)$/&amp;lt;/source&amp;gt;&lt;br /&gt;
*TX upper or lowercase: &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^([T|t][X|x])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Profanity Filter=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To filter profanity words from an answer:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?i)((?!\bENTERPROFANITYHERE\b).)*$(?-i)/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Replace &amp;quot;ENTERPROFANITYHERE&amp;quot; with your bad word.&lt;br /&gt;
&lt;br /&gt;
The \b will allow passing of words such as &amp;quot;assassination&amp;quot; and &amp;quot;hello&amp;quot; if you enter &amp;quot;ass&amp;quot; or &amp;quot;hell&amp;quot; as your profanity word. This also works if you are trying to omit other words, names etc. from answers.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Helpful links=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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.&lt;/div&gt;</summary>
		<author><name>Cyr1lle</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=Translations:Using_regular_expressions/18/fr&amp;diff=143402</id>
		<title>Translations:Using regular expressions/18/fr</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=Translations:Using_regular_expressions/18/fr&amp;diff=143402"/>
		<updated>2019-06-16T12:07:49Z</updated>

		<summary type="html">&lt;p&gt;Cyr1lle: Created page with &amp;quot;== Codes postaux canadiens ==&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Codes postaux canadiens ==&lt;/div&gt;</summary>
		<author><name>Cyr1lle</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=Using_regular_expressions/fr&amp;diff=143401</id>
		<title>Using regular expressions/fr</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=Using_regular_expressions/fr&amp;diff=143401"/>
		<updated>2019-06-16T12:07:15Z</updated>

		<summary type="html">&lt;p&gt;Cyr1lle: Created page with &amp;quot;== Codes postaux brésiliens ==&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt; &lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-translate-fuzzy&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;La traduction de cette page n&#039;est pas terminée.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=#Validation=&lt;br /&gt;
&lt;br /&gt;
Lorsque vous définissez les attributs d&#039;une question, vous devez indiquer son code, le texte de la question, le type de question,&lt;br /&gt;
&lt;br /&gt;
le nombre minimum et/ou maximum de caractères, etc.&lt;br /&gt;
&lt;br /&gt;
Cependant, il n&#039;est pas possible définir tous les attributs de contrôle pouvant satisfaire les besoins des utilisateurs de LimeSurvey.&lt;br /&gt;
&lt;br /&gt;
La zone de saisie &#039;&#039;Validation&#039;&#039; de l&#039;écran d&#039;édition d&#039;une question joue ce rôle et permet d&#039;ajouter des contrôles supplémentaires sur la réponse.&lt;br /&gt;
&lt;br /&gt;
Ces contrôles se font gr&amp;amp;acirc;ce à des expressions régulières que l&#039;on place dans la zone de saisie &#039;&#039;Validation&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:LimeSurvey-2011-06-01-19-18.png]]&lt;br /&gt;
&lt;br /&gt;
Dans la situation présentée ci-dessus, la réponse sera considérée comme valide si d&#039;une part elle est composée uniquement de lettres&lt;br /&gt;
&lt;br /&gt;
en majuscule et d&#039;autre part si le nombre de lettres est compris entre 1 et 10.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Attention&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour le contenu de la zone de saisie &#039;&#039;Validation&#039;&#039; soit évalué, il faut obligatoirement que l&#039;utilisateur est saisi un caractère.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=#Bref rappel=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Avertissements&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L&#039;objet de cette section n&#039;est pas d&#039;expliquer comment constituer des expressions régulières&lt;br /&gt;
&lt;br /&gt;
ou bien d&#039;expliquer leurs fonctionnements.&lt;br /&gt;
&lt;br /&gt;
De très bons livres le font comme Maîtrise des expressions régulières de Jeffrey E. F. Friedl.&lt;br /&gt;
&lt;br /&gt;
Il y a également des sites qui traitent de ces sujets comme  http://www.regxlib.net/ (en anglais)&lt;br /&gt;
&lt;br /&gt;
ou bien http://perl.enstimac.fr/DocFr/perlrequick.html (en français).&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L&#039;expression régulière est un moyen puissant,flexible et efficace d&#039;appliquer un traitement sur du texte.&lt;br /&gt;
&lt;br /&gt;
Gr&amp;amp;acirc;ce à une notation générale (motif, pattern), c&#039;est une sorte de mini-langage de programmation qui permet de décrire&lt;br /&gt;
&lt;br /&gt;
et d&#039;analyser le texte. Plusieurs notations existent.&lt;br /&gt;
&lt;br /&gt;
Celle utilisée dans LimeSurvey est du type PERL et doivent commencer et se terminer par le caractère slash (&amp;quot;/&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Métacaractère||   Signification||&lt;br /&gt;
|-&lt;br /&gt;
|   .||   n&#039;importe quel caractère sauf \n||&lt;br /&gt;
|-&lt;br /&gt;
|   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;  ]|| tous les caractères énumérés  ||   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;abc]&lt;br /&gt;
|-&lt;br /&gt;
|   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~  ]|| tous les caractères sauf ceux qui sont énumérés  ||   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~abc]&lt;br /&gt;
|-&lt;br /&gt;
|   ~124~ || tous les caractères sauf ceux qui sont énumérés  ||   mot1~124~mot2~124~mot3&lt;br /&gt;
|-&lt;br /&gt;
|   - || intervalle  ||   a-z&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Quantificateur||   Signification   || Exemple&lt;br /&gt;
|-&lt;br /&gt;
|   * ||   zéro ou plus  || A* = zéro ou plus de lettre A&lt;br /&gt;
|-&lt;br /&gt;
|   + || 1 ou plus       || A+ = une lettre A ou plus&lt;br /&gt;
|-&lt;br /&gt;
|   ? || 0 ou 1          || A? = pas de lettre A ou une seule lettre A&lt;br /&gt;
|-&lt;br /&gt;
| {n} || n fois exactement || A{3} = trois lettres A&lt;br /&gt;
|-&lt;br /&gt;
|{min,} || minimum min fois et plus || A{3,} trois lettres A ou plus&lt;br /&gt;
|-&lt;br /&gt;
|{min,max}|| minimum min et maximum max  fois || A{3,7} trois lettres A au minimum et au maximum 7 lettres A&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Caractères||   Signification || Équivalence&lt;br /&gt;
|-&lt;br /&gt;
| \n || nouvelle ligne||&lt;br /&gt;
|-&lt;br /&gt;
| \r || retour à la ligne||&lt;br /&gt;
|-&lt;br /&gt;
| \t || tabulation||&lt;br /&gt;
|-&lt;br /&gt;
| \v || tabulation vertical||&lt;br /&gt;
|-&lt;br /&gt;
| \f || nouvelle page||&lt;br /&gt;
|-&lt;br /&gt;
|   \s ||   caractères d&#039;espacement|| &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;\n\r\t\f]&lt;br /&gt;
|-&lt;br /&gt;
|   \S || tous les caractères sauf les caractères d&#039;espacement|| &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~\n\r\t\f]&lt;br /&gt;
|-&lt;br /&gt;
|   \d || les chiffres||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;0-9]&lt;br /&gt;
|-&lt;br /&gt;
| \D || tous les caractères sauf les chiffres||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~0-9]&lt;br /&gt;
|-&lt;br /&gt;
| \w || caractère constituant un mot||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;0-9a-zA-Z_]&lt;br /&gt;
|-&lt;br /&gt;
| \W || tous les caractères ne constituant pas un mot||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~\w]&lt;br /&gt;
|-&lt;br /&gt;
| \xhh || caractère en hexadécimal(hh) ex: \x41 = A||&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Modificateur||   Signification&lt;br /&gt;
|-&lt;br /&gt;
| i || ignore la casse&lt;br /&gt;
|-&lt;br /&gt;
| x || le point reconnait aussi \n&lt;br /&gt;
|-&lt;br /&gt;
| m || mode multi lignes&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Les modificateurs se mettent après le dernier slash ex : /&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;a-z]/i est équivalent à /&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;a-zA-Z]/&lt;br /&gt;
&lt;br /&gt;
Vous pouvez tester vos expressions régulières sur http://www.spaweditor.com/scripts/regex/index.php&lt;br /&gt;
&lt;br /&gt;
=#Quelques exemples=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&#039;&#039;Vous pouvez ajouter des expressions régulières mais testées auparavant!&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemples (notez qu&#039;elles sont toutes sur une seule ligne):&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un code postal français==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^0[1-9]|[1-8][0-9]|9[0-8]|2A|2B[0-9]{3}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression teste seulement de le format du code postal mais pas de sa validité.&lt;br /&gt;
&lt;br /&gt;
==Validation du numéro de département français==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^0[1-9]|[1-8][0-9]|9[0-8]|2A|2B$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression teste seulement de le format du numéro du département mais pas de sa validité.&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un nombre==&lt;br /&gt;
&lt;br /&gt;
===Validation d&#039;un nombre entier===&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle défini (age, etc.) de 20 à 99====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/([2-9][0-9])/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle défini (age, etc.) de 18 à 35====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(1[8-9]|2[0-9]|3[0-5])/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle défini (age, etc.) de 19 à 65====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;(1[8-9]|[2-5][0-9]|6[0-5])$&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle de 1 à 99999====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^([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])$/&amp;lt;/nowiki&amp;gt;  &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,4}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
C&#039;est deux expressions produisent le même résultat.&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans plusieurs intervalles de 1 à 999, de 1.000 à 999.999====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,2}(?:\.[0-9]{3}){0,1}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un score compris entre 1 et 10====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9]{1}$|^10$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un score compris entre 1 et 100====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9]?[0-9]{1}$|^100$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===validation d&#039;un nombre décimal===&lt;br /&gt;
&lt;br /&gt;
Ce type de validation peut être utilisé dans le cas de prix, mesure&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un nombre décimal====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^([1][0-9][0-9]|[1-9][0-9]|[0-9])[[\.)[0-9][0-9])?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 les nombres entre ayant une partie décimale optionnelle à deux chiffres&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}\.[0-9]{2}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ===Monnaie===&lt;br /&gt;
&lt;br /&gt;
 ====Euro (le signe Euro et les centimes sont optionnels)====&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;/^\d+(\.(\d{3}]]?&amp;amp;euro;?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Dollar US====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\$?\d+(\.(\d{2}))?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le signe dollar en début de saisie et les cents sont optionnels.&lt;br /&gt;
&lt;br /&gt;
====Prix en Franc Suisse====&lt;br /&gt;
&lt;br /&gt;
C&#039;est un nombre avec deux décimales  après la virgule dont le dernier chiffre est soit 5, soit 0.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(\d+)(\.\d(05)?)?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;une date==&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;une date au format jj/mm/aaaa====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\d{1,2}\/\d{1,2}\/\d{4}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;une date au format jj/mm/aaaa du 20 ou 21éme siècle====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\d{1,2}\/\d{1,2}\/(19|20)\d{2}$/&amp;lt;/nowiki&amp;gt; a tester&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un mois (1-12)====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[0]?[1-9]$|^1[0-2]$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression permet de saisir le mois de janvier soit 1, soit 01.&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;une heure==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9]$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
cette expression permet de valider un format d&#039;heure HH:MM ex : 11:32&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9](?::[0-5][0-9])?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression permet de valider un format d&#039;heure HH:MM:SS où la partie de secondes est optionnelle ex : 11:32:53 ou bien 11:32&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression permet de valider un format d&#039;heure HH:MM:SS où la partie des secondes est obligatoire ex : 11:32:53&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;une longueur de saisie==&lt;br /&gt;
&lt;br /&gt;
Pour certain type de question, LimeSurvey propose dans les paramètres avancés ce type de contrôle.&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;une longueur de saisie minimum====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^.{3,}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ici la longueur minimum est de 3 caractères quelconques&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;une longueur de saisie maximum====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^.{3,}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ici la longueur maximum est de 3 caractères quelconques&lt;br /&gt;
&lt;br /&gt;
==Validation de texte==&lt;br /&gt;
&lt;br /&gt;
Actuellement, le type de question &#039;&#039;Multiples zones de texte court&#039;&#039; ne permet pas de contrôler le minimum ou le maximum de réponses.&lt;br /&gt;
&lt;br /&gt;
Une des manières d&#039;y parvenir est d&#039;utiliser le type question &#039;&#039;Zone de texte long&#039;&#039; sur laquelle on appliquera une expression régulière.&lt;br /&gt;
&lt;br /&gt;
L&#039;expression ci-dessous vérifie qu&#039;il y a au moins un mot par ligne et qu&#039;il y a au moins trois lignes mais pas plus de 10 lignes :&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)){2,10}/is&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si vous voulez vérifier qu&#039;il y a au moins 5 mots par ligne, vous devez changer le premier et le dernier caractère étoile (*) par {4,}&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+){4,})(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+){4,})){2,10}/is&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si voulez 1 ou plusieurs mots par ligne et de 1 à 5 lignes, vous pouvez changer les valeurs du quantificateur {0,4}.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)){0,4}/is&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Limiter le nombre de mots===&lt;br /&gt;
&lt;br /&gt;
L&#039;expression ci-dessous permet d&#039;écrire au minimum 1 mot et au maximum 200 mots.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[-\w]+(?:\W+[-\w]+){0,199}\W*$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vous pouvez varier le minimum et le maximum selon vos besoins en changeant {0,199} ( voir ci-dessus le tableau &#039;&#039;Quantificateur&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un mot==&lt;br /&gt;
&lt;br /&gt;
==== mot dans une liste====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(arbre|feuille|fleur){1}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le mot saisie doit correspondre exactement (minuscule) au mot dans la liste.&lt;br /&gt;
&lt;br /&gt;
====validation du mot dans une liste====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(arbre|feuille|fleur){1}$/i&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ici, on ne tient pas compte des minuscules et des majuscules : Les mots suivants Arbre,arbre, ARBRE, ArBrE, etc. sont tous valides.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-translate-fuzzy&amp;quot;&amp;gt;&lt;br /&gt;
Pour tester vos expressions régulières vous pouvez utiliser ces testeurs d&#039;expressions régulières: [https://regex101.com/ regex101] |https://extendsclass.com/regex-tester.html  regex tester]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note|To improve this wiki section, we kindly ask you to add your successfully tested regular expression(s) to provide a better understanding of this feature to the new LimeSurvey (potential) users.}}&lt;br /&gt;
&lt;br /&gt;
{{Alert|title=Attention|text= Please note that all the below examples are written on one line!}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Important: Regular Expressions in conditions=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that when using regular expressions in the condition editor, do NOT include the beginning and ending slash.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-translate-fuzzy&amp;quot;&amp;gt;&lt;br /&gt;
=#Validation=&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Update (12/2018): Since these days domain names cannot only hold special characters like “ü” but also use more than 3 characters as domain name like .&#039;&#039;tech&#039;&#039; or .&#039;&#039;company&#039;&#039;, the below email regex only checks if “@” and “.” exists within the entered email address.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
/^.+?@.+?\..+$/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
At this outdated regex the domain name is limited to 3 characters which doesn&#039;t cover all available domains:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
/^(\w[-._+\w]*\w@\w[-._\w]*\w\.\w{2,3})$/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Codes postaux&lt;br /&gt;
&lt;br /&gt;
== Codes postaux australiens: ==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[0-9]{4}/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Codes postaux brésiliens ==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[0-9]{2}\.[0-9]{3}-[0-9]{3}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Canadian postcodes==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[a-zA-Z]\d{1}[a-zA-Z](\-| |)\d{1}[a-zA-Z]\d{1}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==US postal codes==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[0-9]{5}([- /]?[0-9]{4})?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==UK postcodes==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[A-Z][A-Z]?[0-9][A-Z0-9]? ?[0-9][ABDEFGHJLNPQRSTUWXYZ]{2}$/i&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that this is not very exact, and a more exact validation is much more complex. For example, see [https://stackoverflow.com/questions/164979/uk-postcode-regex-comprehensive StackOverflow answer] and [https://en.wikipedia.org/wiki/Talk:Postcodes_in_the_United_Kingdom#Regular_Expressions Wikipedia] for more information.&lt;br /&gt;
&lt;br /&gt;
==French postcodes== &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/(^[0-8]\d\d{3}$)|(^9[0-5]\d{3}$)|(^97[1-6]\d{2}$)|(^98[46-8]\d{2}$)/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above expression is very precise and it will check whether or not the French Department exists (first two digits), including overseas Departments and overseas Territories (DOM-TOM).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Phone numbers=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==US phone numbers==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\([2-9]\d{2}\)\ ?|[2-9]\d{2}(?:\-?|\ ?))[2-9]\d{2}[- ]?\d{4}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[\(\)\.\- ]{0,}[0-9]{3}[\(\)\.\- ]{0,}[0-9]{3}[\(\)\.\- ]{0,}[0-9]{4}[\(\)\.\- ]{0,}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This second option will match all phone Canadian and US phone numbers that include non-digit symbols including:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt; . ( ) - (space)&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will allow you to match phone numbers which resemble below:&lt;br /&gt;
*(555)555 5555&lt;br /&gt;
*555.555.5555&lt;br /&gt;
*555 555 5555&lt;br /&gt;
*(555)-555-5555&lt;br /&gt;
*555-555-5555&lt;br /&gt;
*555555555&lt;br /&gt;
&lt;br /&gt;
==Australian phone numbers==&lt;br /&gt;
&lt;br /&gt;
The following patterns match all various Australian mobile and landline phone numbers including with &amp;quot;+61&amp;quot; country prefix:&lt;br /&gt;
*(02) 9123 6535&lt;br /&gt;
*03 1234-5345&lt;br /&gt;
*0412 345 678&lt;br /&gt;
*+61 2 3456 789&lt;br /&gt;
&lt;br /&gt;
But not:&lt;br /&gt;
* 234 3450 234&lt;br /&gt;
*a234 534 3432&lt;br /&gt;
*134567&lt;br /&gt;
*123456789013&lt;br /&gt;
&lt;br /&gt;
Brackets, white space and hypens are ignored.&lt;br /&gt;
&lt;br /&gt;
The &#039;Very precise:&#039; versions listed here match against the first four or five digits in a number to ensure that they are valid Australian numbers.&lt;br /&gt;
&lt;br /&gt;
The &#039;Not very precise:&#039; only match against the first and second digit so may allow invaid numbers.&lt;br /&gt;
&lt;br /&gt;
===All Australian phone numbers (mobile and landline - area code required)===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^\(?(?:\+?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})$/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\+?61|0)[2-478](?:[ -]?[0-9]){8}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===All Australian phone numbers (landlines only - area code required)===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^\(?(?:\+?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}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\+?61|\(?0)[2378]\)?(?:[ -]?[0-9]){8}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===New South Wales landline phone numbers (area code optional)===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)2\)?[ -]?)?(?:3[ -]?[38]|[46-9][ -]?[0-9]|5[ -]?[0-35-9])(?:[ -]?[0-9]){6}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)2\)?(?:[ -]?[0-9]){7}[0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Victorian and Tasmanian landline phone numbers (area code optional)===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)3\)?[ -]?)?(?:4[ -]?[0-57-9]|[57-9][ -]?[0-9]|6[ -]?[1-67])(?:[ -]?[0-9]){6}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)3\)?(?:[ -]?[0-9]){7}[0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Queensland landline phone numbers (area code optional)===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)7\)?[ -]?)?(?:[2-4][ -]?[0-9]|5[ -]?[2-7]|7[ -]?6)(?:[ -]?[0-9]){6}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)7\)?(?:[ -]?[0-9]){7}[0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===South Australia, Northern Territory, Western Australia landline phone numbers (area code optional)===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)8\)?[ -]?)?(?:5[1-4]|6[0-8]|[7-9][0-9])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)8\)?(?:[ -]?[0-9]){7}[0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Australian mobile phone numbers only===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\+?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}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)4\)?(?:[ -]?[0-9]){7}[0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Belgian phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00)32\s?|0)(\d\s?\d{3}|\d{2}\s?\d{2})(\s?\d{2}){2}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
==Belgian mobile phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00)32\s?|0)4(60|[789]\d)(\s?\d{2}){3}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
==French phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00)33\s?|0)[1-59](\s?\d{2}){4}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
==French mobile phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00)33\s?|0)[67](\s?\d{2}){4}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
==Luxemburg phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00\s?)352)?(\s?\d{2}){3,4}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
==Luxemburg mobile phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00\s?)352)?\s?6[269]1(\s?\d{3}){2}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
=German marks (with optional plus or minus)=&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-6]{1}[\+|\-]?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Age validation=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example: Age 20-99&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/([2-9][0-9])/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example: Age 18-35&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/(1[8-9]|2[0-9]|3[0-5])/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example: Age 19-65&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(1[8-9]|[2-5][0-9]|6[0-5])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Number validation= &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Numbers from 1 to 99999==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^([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])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9][0-9]{0,4}$/ does the same as above but should run a little faster&amp;lt;/source&amp;gt;&lt;br /&gt;
==Numbers from 1 to 999, 1.000 to 999.999 to 999.999.999==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9][0-9]{0,2}(?:\.[0-9]{3}){0,2}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
Accepts numbers from 1 to 999, 1.000 to 999.999 to 999.999.999 but&lt;br /&gt;
rejects numbers like 999.1.1 , 94.22.22, 999.1.22, 999.11.1, 999.1.333&lt;br /&gt;
&lt;br /&gt;
==Number validation with optional decimal (for price)==&lt;br /&gt;
Accepts numbers from 0 to 199, with 2 decimal optional:&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^([1][0-9][0-9]|[1-9][0-9]|[0-9])((\.)[0-9][0-9])?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It forces two decimal points and accepts numbers from 1.00 to 999,999,999.00 with an optional comma delimiting thousands/millions&lt;br /&gt;
including all of the following: 1.00, 1,000.00, 12,345.67, 12345,02, 123,456,468.00, 1234566.00, 123456789.00&lt;br /&gt;
but not 1,23.00, 12,3.4 or 1234,43.04&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}\.[0-9]{2}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Similar to the above: Forces two decimal points but accepts a &amp;quot;0&amp;quot; before decimal separator &amp;quot;,&amp;quot;.&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/[0-9]{0,2}(?:,?[0-9]{3}){0,3}\.[0-9]{2}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Same as above, but the two decimal points are optional:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}(?:\.[0-9]{2})?$/ &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Month (1-12)==&lt;br /&gt;
&lt;br /&gt;
If you want to ask for the month a person was born you can validate the input as follows:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[0]*[1-9]$|^[0]*1[0-2]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Minimum width (set to 3 in this example)=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^.{3,}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Currency=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==US currency (dollar sign and cents optional)==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^\$?\d+(\.(\d{2}))?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Check for comma usage:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^\$?\d{1,3}(\d+(?!,))?(,\d{3})*(\.\d{2})?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Swiss price==&lt;br /&gt;
&lt;br /&gt;
A number with two decimal numbers after the decimal point of which the last one is either a 5 or a 0:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(\d+)(\.\d(05)?)?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Validate score=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==1-10==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9]{1}$|^10$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==1-100==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9]?[0-9]{1}$|^100$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Text validation=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The [[Question type - Multiple short text|multiple short text question type]] doesn&#039;t support minimum or maximum answers at the moment. One way around this is to use a [[Question type - Long free text|long free text question type]] with a regular expression.&lt;br /&gt;
&lt;br /&gt;
The below expression tests for at least one word per line for at least 3 lines and no more than 10 lines:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+)*)){2,10}/is&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want, say five words per line, you could change the first and last star/asterisk to {4,}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+){4,})(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+){4,})){2,10}/is&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you wanted one or more words per line (between line 1 and line 5), you can change the content located within the last curly braces to &#039;&#039;&#039;0,4&#039;&#039;&#039; (note you use 0 because you&#039;re already matching the first line).&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+)*)){0,4}/is&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Word count==&lt;br /&gt;
&lt;br /&gt;
 The following restricts the number of words allowed to a minimum of 1 and a maximum of 200:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[-\w]+(?:\W+[-\w]+){0,199}\W*$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 To increase the minimum change the zero part of {0,199}.&lt;br /&gt;
&lt;br /&gt;
To increase or decrease the maximum change the &amp;quot;199&amp;quot; part of {0,199}.&lt;br /&gt;
&lt;br /&gt;
=Time validation=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are a number of ways to write 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 [[Question type - Date|date question type]] (it can also capture time) you can use the [[Question type - Short free text|short free text question type]] with one of the below validation regular expressions.&lt;br /&gt;
&lt;br /&gt;
The following three validation strings test for 24 hour time (in order of appearances) without seconds, with optional seconds lastly with seconds required:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9](?::[0-5][0-9])?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following three match 12 hour time, as above with seconds, optional seconds and with seconds required:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?&amp;quot;&amp;gt;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))$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?: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))$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?: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))$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following three match either 12 or 24 hour time as above with seconds, optional seconds and with seconds required:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:(?: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])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:(?: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])?)$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:(?: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])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=US states=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To validate for one state use the following (example is Texas):&lt;br /&gt;
*TX uppercase only: &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(TX)$/&amp;lt;/source&amp;gt;&lt;br /&gt;
*tx lowercase only: &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(tx)$/&amp;lt;/source&amp;gt;&lt;br /&gt;
*TX upper or lowercase: &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^([T|t][X|x])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Profanity Filter=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To filter profanity words from an answer:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?i)((?!\bENTERPROFANITYHERE\b).)*$(?-i)/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Replace &amp;quot;ENTERPROFANITYHERE&amp;quot; with your bad word.&lt;br /&gt;
&lt;br /&gt;
The \b will allow passing of words such as &amp;quot;assassination&amp;quot; and &amp;quot;hello&amp;quot; if you enter &amp;quot;ass&amp;quot; or &amp;quot;hell&amp;quot; as your profanity word. This also works if you are trying to omit other words, names etc. from answers.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Helpful links=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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.&lt;/div&gt;</summary>
		<author><name>Cyr1lle</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=Translations:Using_regular_expressions/16/fr&amp;diff=143400</id>
		<title>Translations:Using regular expressions/16/fr</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=Translations:Using_regular_expressions/16/fr&amp;diff=143400"/>
		<updated>2019-06-16T12:07:15Z</updated>

		<summary type="html">&lt;p&gt;Cyr1lle: Created page with &amp;quot;== Codes postaux brésiliens ==&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Codes postaux brésiliens ==&lt;/div&gt;</summary>
		<author><name>Cyr1lle</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=Using_regular_expressions/fr&amp;diff=143399</id>
		<title>Using regular expressions/fr</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=Using_regular_expressions/fr&amp;diff=143399"/>
		<updated>2019-06-16T12:06:52Z</updated>

		<summary type="html">&lt;p&gt;Cyr1lle: Created page with &amp;quot;== Codes postaux australiens: ==&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt; &lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-translate-fuzzy&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;La traduction de cette page n&#039;est pas terminée.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=#Validation=&lt;br /&gt;
&lt;br /&gt;
Lorsque vous définissez les attributs d&#039;une question, vous devez indiquer son code, le texte de la question, le type de question,&lt;br /&gt;
&lt;br /&gt;
le nombre minimum et/ou maximum de caractères, etc.&lt;br /&gt;
&lt;br /&gt;
Cependant, il n&#039;est pas possible définir tous les attributs de contrôle pouvant satisfaire les besoins des utilisateurs de LimeSurvey.&lt;br /&gt;
&lt;br /&gt;
La zone de saisie &#039;&#039;Validation&#039;&#039; de l&#039;écran d&#039;édition d&#039;une question joue ce rôle et permet d&#039;ajouter des contrôles supplémentaires sur la réponse.&lt;br /&gt;
&lt;br /&gt;
Ces contrôles se font gr&amp;amp;acirc;ce à des expressions régulières que l&#039;on place dans la zone de saisie &#039;&#039;Validation&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:LimeSurvey-2011-06-01-19-18.png]]&lt;br /&gt;
&lt;br /&gt;
Dans la situation présentée ci-dessus, la réponse sera considérée comme valide si d&#039;une part elle est composée uniquement de lettres&lt;br /&gt;
&lt;br /&gt;
en majuscule et d&#039;autre part si le nombre de lettres est compris entre 1 et 10.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Attention&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour le contenu de la zone de saisie &#039;&#039;Validation&#039;&#039; soit évalué, il faut obligatoirement que l&#039;utilisateur est saisi un caractère.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=#Bref rappel=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Avertissements&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L&#039;objet de cette section n&#039;est pas d&#039;expliquer comment constituer des expressions régulières&lt;br /&gt;
&lt;br /&gt;
ou bien d&#039;expliquer leurs fonctionnements.&lt;br /&gt;
&lt;br /&gt;
De très bons livres le font comme Maîtrise des expressions régulières de Jeffrey E. F. Friedl.&lt;br /&gt;
&lt;br /&gt;
Il y a également des sites qui traitent de ces sujets comme  http://www.regxlib.net/ (en anglais)&lt;br /&gt;
&lt;br /&gt;
ou bien http://perl.enstimac.fr/DocFr/perlrequick.html (en français).&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L&#039;expression régulière est un moyen puissant,flexible et efficace d&#039;appliquer un traitement sur du texte.&lt;br /&gt;
&lt;br /&gt;
Gr&amp;amp;acirc;ce à une notation générale (motif, pattern), c&#039;est une sorte de mini-langage de programmation qui permet de décrire&lt;br /&gt;
&lt;br /&gt;
et d&#039;analyser le texte. Plusieurs notations existent.&lt;br /&gt;
&lt;br /&gt;
Celle utilisée dans LimeSurvey est du type PERL et doivent commencer et se terminer par le caractère slash (&amp;quot;/&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Métacaractère||   Signification||&lt;br /&gt;
|-&lt;br /&gt;
|   .||   n&#039;importe quel caractère sauf \n||&lt;br /&gt;
|-&lt;br /&gt;
|   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;  ]|| tous les caractères énumérés  ||   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;abc]&lt;br /&gt;
|-&lt;br /&gt;
|   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~  ]|| tous les caractères sauf ceux qui sont énumérés  ||   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~abc]&lt;br /&gt;
|-&lt;br /&gt;
|   ~124~ || tous les caractères sauf ceux qui sont énumérés  ||   mot1~124~mot2~124~mot3&lt;br /&gt;
|-&lt;br /&gt;
|   - || intervalle  ||   a-z&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Quantificateur||   Signification   || Exemple&lt;br /&gt;
|-&lt;br /&gt;
|   * ||   zéro ou plus  || A* = zéro ou plus de lettre A&lt;br /&gt;
|-&lt;br /&gt;
|   + || 1 ou plus       || A+ = une lettre A ou plus&lt;br /&gt;
|-&lt;br /&gt;
|   ? || 0 ou 1          || A? = pas de lettre A ou une seule lettre A&lt;br /&gt;
|-&lt;br /&gt;
| {n} || n fois exactement || A{3} = trois lettres A&lt;br /&gt;
|-&lt;br /&gt;
|{min,} || minimum min fois et plus || A{3,} trois lettres A ou plus&lt;br /&gt;
|-&lt;br /&gt;
|{min,max}|| minimum min et maximum max  fois || A{3,7} trois lettres A au minimum et au maximum 7 lettres A&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Caractères||   Signification || Équivalence&lt;br /&gt;
|-&lt;br /&gt;
| \n || nouvelle ligne||&lt;br /&gt;
|-&lt;br /&gt;
| \r || retour à la ligne||&lt;br /&gt;
|-&lt;br /&gt;
| \t || tabulation||&lt;br /&gt;
|-&lt;br /&gt;
| \v || tabulation vertical||&lt;br /&gt;
|-&lt;br /&gt;
| \f || nouvelle page||&lt;br /&gt;
|-&lt;br /&gt;
|   \s ||   caractères d&#039;espacement|| &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;\n\r\t\f]&lt;br /&gt;
|-&lt;br /&gt;
|   \S || tous les caractères sauf les caractères d&#039;espacement|| &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~\n\r\t\f]&lt;br /&gt;
|-&lt;br /&gt;
|   \d || les chiffres||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;0-9]&lt;br /&gt;
|-&lt;br /&gt;
| \D || tous les caractères sauf les chiffres||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~0-9]&lt;br /&gt;
|-&lt;br /&gt;
| \w || caractère constituant un mot||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;0-9a-zA-Z_]&lt;br /&gt;
|-&lt;br /&gt;
| \W || tous les caractères ne constituant pas un mot||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~\w]&lt;br /&gt;
|-&lt;br /&gt;
| \xhh || caractère en hexadécimal(hh) ex: \x41 = A||&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Modificateur||   Signification&lt;br /&gt;
|-&lt;br /&gt;
| i || ignore la casse&lt;br /&gt;
|-&lt;br /&gt;
| x || le point reconnait aussi \n&lt;br /&gt;
|-&lt;br /&gt;
| m || mode multi lignes&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Les modificateurs se mettent après le dernier slash ex : /&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;a-z]/i est équivalent à /&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;a-zA-Z]/&lt;br /&gt;
&lt;br /&gt;
Vous pouvez tester vos expressions régulières sur http://www.spaweditor.com/scripts/regex/index.php&lt;br /&gt;
&lt;br /&gt;
=#Quelques exemples=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&#039;&#039;Vous pouvez ajouter des expressions régulières mais testées auparavant!&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemples (notez qu&#039;elles sont toutes sur une seule ligne):&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un code postal français==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^0[1-9]|[1-8][0-9]|9[0-8]|2A|2B[0-9]{3}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression teste seulement de le format du code postal mais pas de sa validité.&lt;br /&gt;
&lt;br /&gt;
==Validation du numéro de département français==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^0[1-9]|[1-8][0-9]|9[0-8]|2A|2B$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression teste seulement de le format du numéro du département mais pas de sa validité.&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un nombre==&lt;br /&gt;
&lt;br /&gt;
===Validation d&#039;un nombre entier===&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle défini (age, etc.) de 20 à 99====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/([2-9][0-9])/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle défini (age, etc.) de 18 à 35====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(1[8-9]|2[0-9]|3[0-5])/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle défini (age, etc.) de 19 à 65====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;(1[8-9]|[2-5][0-9]|6[0-5])$&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle de 1 à 99999====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^([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])$/&amp;lt;/nowiki&amp;gt;  &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,4}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
C&#039;est deux expressions produisent le même résultat.&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans plusieurs intervalles de 1 à 999, de 1.000 à 999.999====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,2}(?:\.[0-9]{3}){0,1}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un score compris entre 1 et 10====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9]{1}$|^10$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un score compris entre 1 et 100====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9]?[0-9]{1}$|^100$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===validation d&#039;un nombre décimal===&lt;br /&gt;
&lt;br /&gt;
Ce type de validation peut être utilisé dans le cas de prix, mesure&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un nombre décimal====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^([1][0-9][0-9]|[1-9][0-9]|[0-9])[[\.)[0-9][0-9])?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 les nombres entre ayant une partie décimale optionnelle à deux chiffres&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}\.[0-9]{2}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ===Monnaie===&lt;br /&gt;
&lt;br /&gt;
 ====Euro (le signe Euro et les centimes sont optionnels)====&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;/^\d+(\.(\d{3}]]?&amp;amp;euro;?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Dollar US====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\$?\d+(\.(\d{2}))?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le signe dollar en début de saisie et les cents sont optionnels.&lt;br /&gt;
&lt;br /&gt;
====Prix en Franc Suisse====&lt;br /&gt;
&lt;br /&gt;
C&#039;est un nombre avec deux décimales  après la virgule dont le dernier chiffre est soit 5, soit 0.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(\d+)(\.\d(05)?)?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;une date==&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;une date au format jj/mm/aaaa====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\d{1,2}\/\d{1,2}\/\d{4}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;une date au format jj/mm/aaaa du 20 ou 21éme siècle====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\d{1,2}\/\d{1,2}\/(19|20)\d{2}$/&amp;lt;/nowiki&amp;gt; a tester&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un mois (1-12)====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[0]?[1-9]$|^1[0-2]$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression permet de saisir le mois de janvier soit 1, soit 01.&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;une heure==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9]$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
cette expression permet de valider un format d&#039;heure HH:MM ex : 11:32&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9](?::[0-5][0-9])?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression permet de valider un format d&#039;heure HH:MM:SS où la partie de secondes est optionnelle ex : 11:32:53 ou bien 11:32&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression permet de valider un format d&#039;heure HH:MM:SS où la partie des secondes est obligatoire ex : 11:32:53&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;une longueur de saisie==&lt;br /&gt;
&lt;br /&gt;
Pour certain type de question, LimeSurvey propose dans les paramètres avancés ce type de contrôle.&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;une longueur de saisie minimum====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^.{3,}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ici la longueur minimum est de 3 caractères quelconques&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;une longueur de saisie maximum====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^.{3,}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ici la longueur maximum est de 3 caractères quelconques&lt;br /&gt;
&lt;br /&gt;
==Validation de texte==&lt;br /&gt;
&lt;br /&gt;
Actuellement, le type de question &#039;&#039;Multiples zones de texte court&#039;&#039; ne permet pas de contrôler le minimum ou le maximum de réponses.&lt;br /&gt;
&lt;br /&gt;
Une des manières d&#039;y parvenir est d&#039;utiliser le type question &#039;&#039;Zone de texte long&#039;&#039; sur laquelle on appliquera une expression régulière.&lt;br /&gt;
&lt;br /&gt;
L&#039;expression ci-dessous vérifie qu&#039;il y a au moins un mot par ligne et qu&#039;il y a au moins trois lignes mais pas plus de 10 lignes :&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)){2,10}/is&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si vous voulez vérifier qu&#039;il y a au moins 5 mots par ligne, vous devez changer le premier et le dernier caractère étoile (*) par {4,}&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+){4,})(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+){4,})){2,10}/is&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si voulez 1 ou plusieurs mots par ligne et de 1 à 5 lignes, vous pouvez changer les valeurs du quantificateur {0,4}.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)){0,4}/is&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Limiter le nombre de mots===&lt;br /&gt;
&lt;br /&gt;
L&#039;expression ci-dessous permet d&#039;écrire au minimum 1 mot et au maximum 200 mots.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[-\w]+(?:\W+[-\w]+){0,199}\W*$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vous pouvez varier le minimum et le maximum selon vos besoins en changeant {0,199} ( voir ci-dessus le tableau &#039;&#039;Quantificateur&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un mot==&lt;br /&gt;
&lt;br /&gt;
==== mot dans une liste====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(arbre|feuille|fleur){1}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le mot saisie doit correspondre exactement (minuscule) au mot dans la liste.&lt;br /&gt;
&lt;br /&gt;
====validation du mot dans une liste====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(arbre|feuille|fleur){1}$/i&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ici, on ne tient pas compte des minuscules et des majuscules : Les mots suivants Arbre,arbre, ARBRE, ArBrE, etc. sont tous valides.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-translate-fuzzy&amp;quot;&amp;gt;&lt;br /&gt;
Pour tester vos expressions régulières vous pouvez utiliser ces testeurs d&#039;expressions régulières: [https://regex101.com/ regex101] |https://extendsclass.com/regex-tester.html  regex tester]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note|To improve this wiki section, we kindly ask you to add your successfully tested regular expression(s) to provide a better understanding of this feature to the new LimeSurvey (potential) users.}}&lt;br /&gt;
&lt;br /&gt;
{{Alert|title=Attention|text= Please note that all the below examples are written on one line!}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Important: Regular Expressions in conditions=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that when using regular expressions in the condition editor, do NOT include the beginning and ending slash.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-translate-fuzzy&amp;quot;&amp;gt;&lt;br /&gt;
=#Validation=&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Update (12/2018): Since these days domain names cannot only hold special characters like “ü” but also use more than 3 characters as domain name like .&#039;&#039;tech&#039;&#039; or .&#039;&#039;company&#039;&#039;, the below email regex only checks if “@” and “.” exists within the entered email address.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
/^.+?@.+?\..+$/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
At this outdated regex the domain name is limited to 3 characters which doesn&#039;t cover all available domains:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
/^(\w[-._+\w]*\w@\w[-._\w]*\w\.\w{2,3})$/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Codes postaux&lt;br /&gt;
&lt;br /&gt;
== Codes postaux australiens: ==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[0-9]{4}/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Brazilian postcodes==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[0-9]{2}\.[0-9]{3}-[0-9]{3}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Canadian postcodes==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[a-zA-Z]\d{1}[a-zA-Z](\-| |)\d{1}[a-zA-Z]\d{1}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==US postal codes==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[0-9]{5}([- /]?[0-9]{4})?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==UK postcodes==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[A-Z][A-Z]?[0-9][A-Z0-9]? ?[0-9][ABDEFGHJLNPQRSTUWXYZ]{2}$/i&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that this is not very exact, and a more exact validation is much more complex. For example, see [https://stackoverflow.com/questions/164979/uk-postcode-regex-comprehensive StackOverflow answer] and [https://en.wikipedia.org/wiki/Talk:Postcodes_in_the_United_Kingdom#Regular_Expressions Wikipedia] for more information.&lt;br /&gt;
&lt;br /&gt;
==French postcodes== &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/(^[0-8]\d\d{3}$)|(^9[0-5]\d{3}$)|(^97[1-6]\d{2}$)|(^98[46-8]\d{2}$)/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above expression is very precise and it will check whether or not the French Department exists (first two digits), including overseas Departments and overseas Territories (DOM-TOM).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Phone numbers=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==US phone numbers==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\([2-9]\d{2}\)\ ?|[2-9]\d{2}(?:\-?|\ ?))[2-9]\d{2}[- ]?\d{4}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[\(\)\.\- ]{0,}[0-9]{3}[\(\)\.\- ]{0,}[0-9]{3}[\(\)\.\- ]{0,}[0-9]{4}[\(\)\.\- ]{0,}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This second option will match all phone Canadian and US phone numbers that include non-digit symbols including:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt; . ( ) - (space)&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will allow you to match phone numbers which resemble below:&lt;br /&gt;
*(555)555 5555&lt;br /&gt;
*555.555.5555&lt;br /&gt;
*555 555 5555&lt;br /&gt;
*(555)-555-5555&lt;br /&gt;
*555-555-5555&lt;br /&gt;
*555555555&lt;br /&gt;
&lt;br /&gt;
==Australian phone numbers==&lt;br /&gt;
&lt;br /&gt;
The following patterns match all various Australian mobile and landline phone numbers including with &amp;quot;+61&amp;quot; country prefix:&lt;br /&gt;
*(02) 9123 6535&lt;br /&gt;
*03 1234-5345&lt;br /&gt;
*0412 345 678&lt;br /&gt;
*+61 2 3456 789&lt;br /&gt;
&lt;br /&gt;
But not:&lt;br /&gt;
* 234 3450 234&lt;br /&gt;
*a234 534 3432&lt;br /&gt;
*134567&lt;br /&gt;
*123456789013&lt;br /&gt;
&lt;br /&gt;
Brackets, white space and hypens are ignored.&lt;br /&gt;
&lt;br /&gt;
The &#039;Very precise:&#039; versions listed here match against the first four or five digits in a number to ensure that they are valid Australian numbers.&lt;br /&gt;
&lt;br /&gt;
The &#039;Not very precise:&#039; only match against the first and second digit so may allow invaid numbers.&lt;br /&gt;
&lt;br /&gt;
===All Australian phone numbers (mobile and landline - area code required)===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^\(?(?:\+?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})$/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\+?61|0)[2-478](?:[ -]?[0-9]){8}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===All Australian phone numbers (landlines only - area code required)===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^\(?(?:\+?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}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\+?61|\(?0)[2378]\)?(?:[ -]?[0-9]){8}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===New South Wales landline phone numbers (area code optional)===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)2\)?[ -]?)?(?:3[ -]?[38]|[46-9][ -]?[0-9]|5[ -]?[0-35-9])(?:[ -]?[0-9]){6}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)2\)?(?:[ -]?[0-9]){7}[0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Victorian and Tasmanian landline phone numbers (area code optional)===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)3\)?[ -]?)?(?:4[ -]?[0-57-9]|[57-9][ -]?[0-9]|6[ -]?[1-67])(?:[ -]?[0-9]){6}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)3\)?(?:[ -]?[0-9]){7}[0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Queensland landline phone numbers (area code optional)===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)7\)?[ -]?)?(?:[2-4][ -]?[0-9]|5[ -]?[2-7]|7[ -]?6)(?:[ -]?[0-9]){6}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)7\)?(?:[ -]?[0-9]){7}[0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===South Australia, Northern Territory, Western Australia landline phone numbers (area code optional)===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)8\)?[ -]?)?(?:5[1-4]|6[0-8]|[7-9][0-9])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)8\)?(?:[ -]?[0-9]){7}[0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Australian mobile phone numbers only===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\+?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}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)4\)?(?:[ -]?[0-9]){7}[0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Belgian phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00)32\s?|0)(\d\s?\d{3}|\d{2}\s?\d{2})(\s?\d{2}){2}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
==Belgian mobile phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00)32\s?|0)4(60|[789]\d)(\s?\d{2}){3}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
==French phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00)33\s?|0)[1-59](\s?\d{2}){4}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
==French mobile phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00)33\s?|0)[67](\s?\d{2}){4}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
==Luxemburg phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00\s?)352)?(\s?\d{2}){3,4}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
==Luxemburg mobile phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00\s?)352)?\s?6[269]1(\s?\d{3}){2}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
=German marks (with optional plus or minus)=&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-6]{1}[\+|\-]?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Age validation=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example: Age 20-99&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/([2-9][0-9])/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example: Age 18-35&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/(1[8-9]|2[0-9]|3[0-5])/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example: Age 19-65&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(1[8-9]|[2-5][0-9]|6[0-5])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Number validation= &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Numbers from 1 to 99999==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^([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])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9][0-9]{0,4}$/ does the same as above but should run a little faster&amp;lt;/source&amp;gt;&lt;br /&gt;
==Numbers from 1 to 999, 1.000 to 999.999 to 999.999.999==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9][0-9]{0,2}(?:\.[0-9]{3}){0,2}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
Accepts numbers from 1 to 999, 1.000 to 999.999 to 999.999.999 but&lt;br /&gt;
rejects numbers like 999.1.1 , 94.22.22, 999.1.22, 999.11.1, 999.1.333&lt;br /&gt;
&lt;br /&gt;
==Number validation with optional decimal (for price)==&lt;br /&gt;
Accepts numbers from 0 to 199, with 2 decimal optional:&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^([1][0-9][0-9]|[1-9][0-9]|[0-9])((\.)[0-9][0-9])?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It forces two decimal points and accepts numbers from 1.00 to 999,999,999.00 with an optional comma delimiting thousands/millions&lt;br /&gt;
including all of the following: 1.00, 1,000.00, 12,345.67, 12345,02, 123,456,468.00, 1234566.00, 123456789.00&lt;br /&gt;
but not 1,23.00, 12,3.4 or 1234,43.04&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}\.[0-9]{2}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Similar to the above: Forces two decimal points but accepts a &amp;quot;0&amp;quot; before decimal separator &amp;quot;,&amp;quot;.&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/[0-9]{0,2}(?:,?[0-9]{3}){0,3}\.[0-9]{2}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Same as above, but the two decimal points are optional:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}(?:\.[0-9]{2})?$/ &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Month (1-12)==&lt;br /&gt;
&lt;br /&gt;
If you want to ask for the month a person was born you can validate the input as follows:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[0]*[1-9]$|^[0]*1[0-2]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Minimum width (set to 3 in this example)=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^.{3,}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Currency=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==US currency (dollar sign and cents optional)==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^\$?\d+(\.(\d{2}))?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Check for comma usage:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^\$?\d{1,3}(\d+(?!,))?(,\d{3})*(\.\d{2})?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Swiss price==&lt;br /&gt;
&lt;br /&gt;
A number with two decimal numbers after the decimal point of which the last one is either a 5 or a 0:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(\d+)(\.\d(05)?)?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Validate score=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==1-10==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9]{1}$|^10$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==1-100==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9]?[0-9]{1}$|^100$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Text validation=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The [[Question type - Multiple short text|multiple short text question type]] doesn&#039;t support minimum or maximum answers at the moment. One way around this is to use a [[Question type - Long free text|long free text question type]] with a regular expression.&lt;br /&gt;
&lt;br /&gt;
The below expression tests for at least one word per line for at least 3 lines and no more than 10 lines:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+)*)){2,10}/is&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want, say five words per line, you could change the first and last star/asterisk to {4,}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+){4,})(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+){4,})){2,10}/is&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you wanted one or more words per line (between line 1 and line 5), you can change the content located within the last curly braces to &#039;&#039;&#039;0,4&#039;&#039;&#039; (note you use 0 because you&#039;re already matching the first line).&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+)*)){0,4}/is&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Word count==&lt;br /&gt;
&lt;br /&gt;
 The following restricts the number of words allowed to a minimum of 1 and a maximum of 200:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[-\w]+(?:\W+[-\w]+){0,199}\W*$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 To increase the minimum change the zero part of {0,199}.&lt;br /&gt;
&lt;br /&gt;
To increase or decrease the maximum change the &amp;quot;199&amp;quot; part of {0,199}.&lt;br /&gt;
&lt;br /&gt;
=Time validation=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are a number of ways to write 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 [[Question type - Date|date question type]] (it can also capture time) you can use the [[Question type - Short free text|short free text question type]] with one of the below validation regular expressions.&lt;br /&gt;
&lt;br /&gt;
The following three validation strings test for 24 hour time (in order of appearances) without seconds, with optional seconds lastly with seconds required:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9](?::[0-5][0-9])?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following three match 12 hour time, as above with seconds, optional seconds and with seconds required:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?&amp;quot;&amp;gt;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))$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?: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))$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?: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))$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following three match either 12 or 24 hour time as above with seconds, optional seconds and with seconds required:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:(?: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])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:(?: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])?)$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:(?: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])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=US states=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To validate for one state use the following (example is Texas):&lt;br /&gt;
*TX uppercase only: &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(TX)$/&amp;lt;/source&amp;gt;&lt;br /&gt;
*tx lowercase only: &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(tx)$/&amp;lt;/source&amp;gt;&lt;br /&gt;
*TX upper or lowercase: &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^([T|t][X|x])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Profanity Filter=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To filter profanity words from an answer:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?i)((?!\bENTERPROFANITYHERE\b).)*$(?-i)/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Replace &amp;quot;ENTERPROFANITYHERE&amp;quot; with your bad word.&lt;br /&gt;
&lt;br /&gt;
The \b will allow passing of words such as &amp;quot;assassination&amp;quot; and &amp;quot;hello&amp;quot; if you enter &amp;quot;ass&amp;quot; or &amp;quot;hell&amp;quot; as your profanity word. This also works if you are trying to omit other words, names etc. from answers.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Helpful links=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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.&lt;/div&gt;</summary>
		<author><name>Cyr1lle</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=Translations:Using_regular_expressions/14/fr&amp;diff=143398</id>
		<title>Translations:Using regular expressions/14/fr</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=Translations:Using_regular_expressions/14/fr&amp;diff=143398"/>
		<updated>2019-06-16T12:06:52Z</updated>

		<summary type="html">&lt;p&gt;Cyr1lle: Created page with &amp;quot;== Codes postaux australiens: ==&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Codes postaux australiens: ==&lt;/div&gt;</summary>
		<author><name>Cyr1lle</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=Using_regular_expressions/fr&amp;diff=143397</id>
		<title>Using regular expressions/fr</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=Using_regular_expressions/fr&amp;diff=143397"/>
		<updated>2019-06-16T12:05:54Z</updated>

		<summary type="html">&lt;p&gt;Cyr1lle: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt; &lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-translate-fuzzy&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;La traduction de cette page n&#039;est pas terminée.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=#Validation=&lt;br /&gt;
&lt;br /&gt;
Lorsque vous définissez les attributs d&#039;une question, vous devez indiquer son code, le texte de la question, le type de question,&lt;br /&gt;
&lt;br /&gt;
le nombre minimum et/ou maximum de caractères, etc.&lt;br /&gt;
&lt;br /&gt;
Cependant, il n&#039;est pas possible définir tous les attributs de contrôle pouvant satisfaire les besoins des utilisateurs de LimeSurvey.&lt;br /&gt;
&lt;br /&gt;
La zone de saisie &#039;&#039;Validation&#039;&#039; de l&#039;écran d&#039;édition d&#039;une question joue ce rôle et permet d&#039;ajouter des contrôles supplémentaires sur la réponse.&lt;br /&gt;
&lt;br /&gt;
Ces contrôles se font gr&amp;amp;acirc;ce à des expressions régulières que l&#039;on place dans la zone de saisie &#039;&#039;Validation&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:LimeSurvey-2011-06-01-19-18.png]]&lt;br /&gt;
&lt;br /&gt;
Dans la situation présentée ci-dessus, la réponse sera considérée comme valide si d&#039;une part elle est composée uniquement de lettres&lt;br /&gt;
&lt;br /&gt;
en majuscule et d&#039;autre part si le nombre de lettres est compris entre 1 et 10.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Attention&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour le contenu de la zone de saisie &#039;&#039;Validation&#039;&#039; soit évalué, il faut obligatoirement que l&#039;utilisateur est saisi un caractère.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=#Bref rappel=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Avertissements&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L&#039;objet de cette section n&#039;est pas d&#039;expliquer comment constituer des expressions régulières&lt;br /&gt;
&lt;br /&gt;
ou bien d&#039;expliquer leurs fonctionnements.&lt;br /&gt;
&lt;br /&gt;
De très bons livres le font comme Maîtrise des expressions régulières de Jeffrey E. F. Friedl.&lt;br /&gt;
&lt;br /&gt;
Il y a également des sites qui traitent de ces sujets comme  http://www.regxlib.net/ (en anglais)&lt;br /&gt;
&lt;br /&gt;
ou bien http://perl.enstimac.fr/DocFr/perlrequick.html (en français).&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L&#039;expression régulière est un moyen puissant,flexible et efficace d&#039;appliquer un traitement sur du texte.&lt;br /&gt;
&lt;br /&gt;
Gr&amp;amp;acirc;ce à une notation générale (motif, pattern), c&#039;est une sorte de mini-langage de programmation qui permet de décrire&lt;br /&gt;
&lt;br /&gt;
et d&#039;analyser le texte. Plusieurs notations existent.&lt;br /&gt;
&lt;br /&gt;
Celle utilisée dans LimeSurvey est du type PERL et doivent commencer et se terminer par le caractère slash (&amp;quot;/&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Métacaractère||   Signification||&lt;br /&gt;
|-&lt;br /&gt;
|   .||   n&#039;importe quel caractère sauf \n||&lt;br /&gt;
|-&lt;br /&gt;
|   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;  ]|| tous les caractères énumérés  ||   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;abc]&lt;br /&gt;
|-&lt;br /&gt;
|   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~  ]|| tous les caractères sauf ceux qui sont énumérés  ||   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~abc]&lt;br /&gt;
|-&lt;br /&gt;
|   ~124~ || tous les caractères sauf ceux qui sont énumérés  ||   mot1~124~mot2~124~mot3&lt;br /&gt;
|-&lt;br /&gt;
|   - || intervalle  ||   a-z&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Quantificateur||   Signification   || Exemple&lt;br /&gt;
|-&lt;br /&gt;
|   * ||   zéro ou plus  || A* = zéro ou plus de lettre A&lt;br /&gt;
|-&lt;br /&gt;
|   + || 1 ou plus       || A+ = une lettre A ou plus&lt;br /&gt;
|-&lt;br /&gt;
|   ? || 0 ou 1          || A? = pas de lettre A ou une seule lettre A&lt;br /&gt;
|-&lt;br /&gt;
| {n} || n fois exactement || A{3} = trois lettres A&lt;br /&gt;
|-&lt;br /&gt;
|{min,} || minimum min fois et plus || A{3,} trois lettres A ou plus&lt;br /&gt;
|-&lt;br /&gt;
|{min,max}|| minimum min et maximum max  fois || A{3,7} trois lettres A au minimum et au maximum 7 lettres A&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Caractères||   Signification || Équivalence&lt;br /&gt;
|-&lt;br /&gt;
| \n || nouvelle ligne||&lt;br /&gt;
|-&lt;br /&gt;
| \r || retour à la ligne||&lt;br /&gt;
|-&lt;br /&gt;
| \t || tabulation||&lt;br /&gt;
|-&lt;br /&gt;
| \v || tabulation vertical||&lt;br /&gt;
|-&lt;br /&gt;
| \f || nouvelle page||&lt;br /&gt;
|-&lt;br /&gt;
|   \s ||   caractères d&#039;espacement|| &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;\n\r\t\f]&lt;br /&gt;
|-&lt;br /&gt;
|   \S || tous les caractères sauf les caractères d&#039;espacement|| &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~\n\r\t\f]&lt;br /&gt;
|-&lt;br /&gt;
|   \d || les chiffres||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;0-9]&lt;br /&gt;
|-&lt;br /&gt;
| \D || tous les caractères sauf les chiffres||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~0-9]&lt;br /&gt;
|-&lt;br /&gt;
| \w || caractère constituant un mot||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;0-9a-zA-Z_]&lt;br /&gt;
|-&lt;br /&gt;
| \W || tous les caractères ne constituant pas un mot||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~\w]&lt;br /&gt;
|-&lt;br /&gt;
| \xhh || caractère en hexadécimal(hh) ex: \x41 = A||&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Modificateur||   Signification&lt;br /&gt;
|-&lt;br /&gt;
| i || ignore la casse&lt;br /&gt;
|-&lt;br /&gt;
| x || le point reconnait aussi \n&lt;br /&gt;
|-&lt;br /&gt;
| m || mode multi lignes&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Les modificateurs se mettent après le dernier slash ex : /&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;a-z]/i est équivalent à /&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;a-zA-Z]/&lt;br /&gt;
&lt;br /&gt;
Vous pouvez tester vos expressions régulières sur http://www.spaweditor.com/scripts/regex/index.php&lt;br /&gt;
&lt;br /&gt;
=#Quelques exemples=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&#039;&#039;Vous pouvez ajouter des expressions régulières mais testées auparavant!&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemples (notez qu&#039;elles sont toutes sur une seule ligne):&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un code postal français==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^0[1-9]|[1-8][0-9]|9[0-8]|2A|2B[0-9]{3}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression teste seulement de le format du code postal mais pas de sa validité.&lt;br /&gt;
&lt;br /&gt;
==Validation du numéro de département français==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^0[1-9]|[1-8][0-9]|9[0-8]|2A|2B$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression teste seulement de le format du numéro du département mais pas de sa validité.&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un nombre==&lt;br /&gt;
&lt;br /&gt;
===Validation d&#039;un nombre entier===&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle défini (age, etc.) de 20 à 99====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/([2-9][0-9])/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle défini (age, etc.) de 18 à 35====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(1[8-9]|2[0-9]|3[0-5])/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle défini (age, etc.) de 19 à 65====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;(1[8-9]|[2-5][0-9]|6[0-5])$&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle de 1 à 99999====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^([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])$/&amp;lt;/nowiki&amp;gt;  &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,4}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
C&#039;est deux expressions produisent le même résultat.&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans plusieurs intervalles de 1 à 999, de 1.000 à 999.999====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,2}(?:\.[0-9]{3}){0,1}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un score compris entre 1 et 10====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9]{1}$|^10$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un score compris entre 1 et 100====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9]?[0-9]{1}$|^100$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===validation d&#039;un nombre décimal===&lt;br /&gt;
&lt;br /&gt;
Ce type de validation peut être utilisé dans le cas de prix, mesure&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un nombre décimal====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^([1][0-9][0-9]|[1-9][0-9]|[0-9])[[\.)[0-9][0-9])?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 les nombres entre ayant une partie décimale optionnelle à deux chiffres&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}\.[0-9]{2}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ===Monnaie===&lt;br /&gt;
&lt;br /&gt;
 ====Euro (le signe Euro et les centimes sont optionnels)====&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;/^\d+(\.(\d{3}]]?&amp;amp;euro;?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Dollar US====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\$?\d+(\.(\d{2}))?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le signe dollar en début de saisie et les cents sont optionnels.&lt;br /&gt;
&lt;br /&gt;
====Prix en Franc Suisse====&lt;br /&gt;
&lt;br /&gt;
C&#039;est un nombre avec deux décimales  après la virgule dont le dernier chiffre est soit 5, soit 0.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(\d+)(\.\d(05)?)?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;une date==&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;une date au format jj/mm/aaaa====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\d{1,2}\/\d{1,2}\/\d{4}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;une date au format jj/mm/aaaa du 20 ou 21éme siècle====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\d{1,2}\/\d{1,2}\/(19|20)\d{2}$/&amp;lt;/nowiki&amp;gt; a tester&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un mois (1-12)====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[0]?[1-9]$|^1[0-2]$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression permet de saisir le mois de janvier soit 1, soit 01.&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;une heure==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9]$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
cette expression permet de valider un format d&#039;heure HH:MM ex : 11:32&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9](?::[0-5][0-9])?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression permet de valider un format d&#039;heure HH:MM:SS où la partie de secondes est optionnelle ex : 11:32:53 ou bien 11:32&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression permet de valider un format d&#039;heure HH:MM:SS où la partie des secondes est obligatoire ex : 11:32:53&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;une longueur de saisie==&lt;br /&gt;
&lt;br /&gt;
Pour certain type de question, LimeSurvey propose dans les paramètres avancés ce type de contrôle.&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;une longueur de saisie minimum====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^.{3,}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ici la longueur minimum est de 3 caractères quelconques&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;une longueur de saisie maximum====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^.{3,}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ici la longueur maximum est de 3 caractères quelconques&lt;br /&gt;
&lt;br /&gt;
==Validation de texte==&lt;br /&gt;
&lt;br /&gt;
Actuellement, le type de question &#039;&#039;Multiples zones de texte court&#039;&#039; ne permet pas de contrôler le minimum ou le maximum de réponses.&lt;br /&gt;
&lt;br /&gt;
Une des manières d&#039;y parvenir est d&#039;utiliser le type question &#039;&#039;Zone de texte long&#039;&#039; sur laquelle on appliquera une expression régulière.&lt;br /&gt;
&lt;br /&gt;
L&#039;expression ci-dessous vérifie qu&#039;il y a au moins un mot par ligne et qu&#039;il y a au moins trois lignes mais pas plus de 10 lignes :&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)){2,10}/is&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si vous voulez vérifier qu&#039;il y a au moins 5 mots par ligne, vous devez changer le premier et le dernier caractère étoile (*) par {4,}&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+){4,})(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+){4,})){2,10}/is&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si voulez 1 ou plusieurs mots par ligne et de 1 à 5 lignes, vous pouvez changer les valeurs du quantificateur {0,4}.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)){0,4}/is&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Limiter le nombre de mots===&lt;br /&gt;
&lt;br /&gt;
L&#039;expression ci-dessous permet d&#039;écrire au minimum 1 mot et au maximum 200 mots.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[-\w]+(?:\W+[-\w]+){0,199}\W*$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vous pouvez varier le minimum et le maximum selon vos besoins en changeant {0,199} ( voir ci-dessus le tableau &#039;&#039;Quantificateur&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un mot==&lt;br /&gt;
&lt;br /&gt;
==== mot dans une liste====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(arbre|feuille|fleur){1}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le mot saisie doit correspondre exactement (minuscule) au mot dans la liste.&lt;br /&gt;
&lt;br /&gt;
====validation du mot dans une liste====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(arbre|feuille|fleur){1}$/i&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ici, on ne tient pas compte des minuscules et des majuscules : Les mots suivants Arbre,arbre, ARBRE, ArBrE, etc. sont tous valides.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-translate-fuzzy&amp;quot;&amp;gt;&lt;br /&gt;
Pour tester vos expressions régulières vous pouvez utiliser ces testeurs d&#039;expressions régulières: [https://regex101.com/ regex101] |https://extendsclass.com/regex-tester.html  regex tester]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note|To improve this wiki section, we kindly ask you to add your successfully tested regular expression(s) to provide a better understanding of this feature to the new LimeSurvey (potential) users.}}&lt;br /&gt;
&lt;br /&gt;
{{Alert|title=Attention|text= Please note that all the below examples are written on one line!}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Important: Regular Expressions in conditions=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that when using regular expressions in the condition editor, do NOT include the beginning and ending slash.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-translate-fuzzy&amp;quot;&amp;gt;&lt;br /&gt;
=#Validation=&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Update (12/2018): Since these days domain names cannot only hold special characters like “ü” but also use more than 3 characters as domain name like .&#039;&#039;tech&#039;&#039; or .&#039;&#039;company&#039;&#039;, the below email regex only checks if “@” and “.” exists within the entered email address.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
/^.+?@.+?\..+$/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
At this outdated regex the domain name is limited to 3 characters which doesn&#039;t cover all available domains:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
/^(\w[-._+\w]*\w@\w[-._\w]*\w\.\w{2,3})$/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Codes postaux&lt;br /&gt;
&lt;br /&gt;
==Australian postcodes:==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[0-9]{4}/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Brazilian postcodes==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[0-9]{2}\.[0-9]{3}-[0-9]{3}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Canadian postcodes==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[a-zA-Z]\d{1}[a-zA-Z](\-| |)\d{1}[a-zA-Z]\d{1}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==US postal codes==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[0-9]{5}([- /]?[0-9]{4})?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==UK postcodes==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[A-Z][A-Z]?[0-9][A-Z0-9]? ?[0-9][ABDEFGHJLNPQRSTUWXYZ]{2}$/i&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that this is not very exact, and a more exact validation is much more complex. For example, see [https://stackoverflow.com/questions/164979/uk-postcode-regex-comprehensive StackOverflow answer] and [https://en.wikipedia.org/wiki/Talk:Postcodes_in_the_United_Kingdom#Regular_Expressions Wikipedia] for more information.&lt;br /&gt;
&lt;br /&gt;
==French postcodes== &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/(^[0-8]\d\d{3}$)|(^9[0-5]\d{3}$)|(^97[1-6]\d{2}$)|(^98[46-8]\d{2}$)/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above expression is very precise and it will check whether or not the French Department exists (first two digits), including overseas Departments and overseas Territories (DOM-TOM).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Phone numbers=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==US phone numbers==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\([2-9]\d{2}\)\ ?|[2-9]\d{2}(?:\-?|\ ?))[2-9]\d{2}[- ]?\d{4}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[\(\)\.\- ]{0,}[0-9]{3}[\(\)\.\- ]{0,}[0-9]{3}[\(\)\.\- ]{0,}[0-9]{4}[\(\)\.\- ]{0,}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This second option will match all phone Canadian and US phone numbers that include non-digit symbols including:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt; . ( ) - (space)&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will allow you to match phone numbers which resemble below:&lt;br /&gt;
*(555)555 5555&lt;br /&gt;
*555.555.5555&lt;br /&gt;
*555 555 5555&lt;br /&gt;
*(555)-555-5555&lt;br /&gt;
*555-555-5555&lt;br /&gt;
*555555555&lt;br /&gt;
&lt;br /&gt;
==Australian phone numbers==&lt;br /&gt;
&lt;br /&gt;
The following patterns match all various Australian mobile and landline phone numbers including with &amp;quot;+61&amp;quot; country prefix:&lt;br /&gt;
*(02) 9123 6535&lt;br /&gt;
*03 1234-5345&lt;br /&gt;
*0412 345 678&lt;br /&gt;
*+61 2 3456 789&lt;br /&gt;
&lt;br /&gt;
But not:&lt;br /&gt;
* 234 3450 234&lt;br /&gt;
*a234 534 3432&lt;br /&gt;
*134567&lt;br /&gt;
*123456789013&lt;br /&gt;
&lt;br /&gt;
Brackets, white space and hypens are ignored.&lt;br /&gt;
&lt;br /&gt;
The &#039;Very precise:&#039; versions listed here match against the first four or five digits in a number to ensure that they are valid Australian numbers.&lt;br /&gt;
&lt;br /&gt;
The &#039;Not very precise:&#039; only match against the first and second digit so may allow invaid numbers.&lt;br /&gt;
&lt;br /&gt;
===All Australian phone numbers (mobile and landline - area code required)===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^\(?(?:\+?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})$/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\+?61|0)[2-478](?:[ -]?[0-9]){8}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===All Australian phone numbers (landlines only - area code required)===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^\(?(?:\+?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}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\+?61|\(?0)[2378]\)?(?:[ -]?[0-9]){8}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===New South Wales landline phone numbers (area code optional)===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)2\)?[ -]?)?(?:3[ -]?[38]|[46-9][ -]?[0-9]|5[ -]?[0-35-9])(?:[ -]?[0-9]){6}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)2\)?(?:[ -]?[0-9]){7}[0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Victorian and Tasmanian landline phone numbers (area code optional)===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)3\)?[ -]?)?(?:4[ -]?[0-57-9]|[57-9][ -]?[0-9]|6[ -]?[1-67])(?:[ -]?[0-9]){6}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)3\)?(?:[ -]?[0-9]){7}[0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Queensland landline phone numbers (area code optional)===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)7\)?[ -]?)?(?:[2-4][ -]?[0-9]|5[ -]?[2-7]|7[ -]?6)(?:[ -]?[0-9]){6}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)7\)?(?:[ -]?[0-9]){7}[0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===South Australia, Northern Territory, Western Australia landline phone numbers (area code optional)===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)8\)?[ -]?)?(?:5[1-4]|6[0-8]|[7-9][0-9])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)8\)?(?:[ -]?[0-9]){7}[0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Australian mobile phone numbers only===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\+?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}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)4\)?(?:[ -]?[0-9]){7}[0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Belgian phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00)32\s?|0)(\d\s?\d{3}|\d{2}\s?\d{2})(\s?\d{2}){2}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
==Belgian mobile phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00)32\s?|0)4(60|[789]\d)(\s?\d{2}){3}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
==French phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00)33\s?|0)[1-59](\s?\d{2}){4}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
==French mobile phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00)33\s?|0)[67](\s?\d{2}){4}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
==Luxemburg phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00\s?)352)?(\s?\d{2}){3,4}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
==Luxemburg mobile phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00\s?)352)?\s?6[269]1(\s?\d{3}){2}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
=German marks (with optional plus or minus)=&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-6]{1}[\+|\-]?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Age validation=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example: Age 20-99&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/([2-9][0-9])/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example: Age 18-35&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/(1[8-9]|2[0-9]|3[0-5])/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example: Age 19-65&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(1[8-9]|[2-5][0-9]|6[0-5])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Number validation= &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Numbers from 1 to 99999==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^([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])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9][0-9]{0,4}$/ does the same as above but should run a little faster&amp;lt;/source&amp;gt;&lt;br /&gt;
==Numbers from 1 to 999, 1.000 to 999.999 to 999.999.999==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9][0-9]{0,2}(?:\.[0-9]{3}){0,2}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
Accepts numbers from 1 to 999, 1.000 to 999.999 to 999.999.999 but&lt;br /&gt;
rejects numbers like 999.1.1 , 94.22.22, 999.1.22, 999.11.1, 999.1.333&lt;br /&gt;
&lt;br /&gt;
==Number validation with optional decimal (for price)==&lt;br /&gt;
Accepts numbers from 0 to 199, with 2 decimal optional:&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^([1][0-9][0-9]|[1-9][0-9]|[0-9])((\.)[0-9][0-9])?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It forces two decimal points and accepts numbers from 1.00 to 999,999,999.00 with an optional comma delimiting thousands/millions&lt;br /&gt;
including all of the following: 1.00, 1,000.00, 12,345.67, 12345,02, 123,456,468.00, 1234566.00, 123456789.00&lt;br /&gt;
but not 1,23.00, 12,3.4 or 1234,43.04&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}\.[0-9]{2}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Similar to the above: Forces two decimal points but accepts a &amp;quot;0&amp;quot; before decimal separator &amp;quot;,&amp;quot;.&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/[0-9]{0,2}(?:,?[0-9]{3}){0,3}\.[0-9]{2}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Same as above, but the two decimal points are optional:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}(?:\.[0-9]{2})?$/ &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Month (1-12)==&lt;br /&gt;
&lt;br /&gt;
If you want to ask for the month a person was born you can validate the input as follows:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[0]*[1-9]$|^[0]*1[0-2]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Minimum width (set to 3 in this example)=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^.{3,}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Currency=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==US currency (dollar sign and cents optional)==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^\$?\d+(\.(\d{2}))?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Check for comma usage:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^\$?\d{1,3}(\d+(?!,))?(,\d{3})*(\.\d{2})?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Swiss price==&lt;br /&gt;
&lt;br /&gt;
A number with two decimal numbers after the decimal point of which the last one is either a 5 or a 0:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(\d+)(\.\d(05)?)?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Validate score=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==1-10==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9]{1}$|^10$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==1-100==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9]?[0-9]{1}$|^100$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Text validation=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The [[Question type - Multiple short text|multiple short text question type]] doesn&#039;t support minimum or maximum answers at the moment. One way around this is to use a [[Question type - Long free text|long free text question type]] with a regular expression.&lt;br /&gt;
&lt;br /&gt;
The below expression tests for at least one word per line for at least 3 lines and no more than 10 lines:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+)*)){2,10}/is&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want, say five words per line, you could change the first and last star/asterisk to {4,}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+){4,})(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+){4,})){2,10}/is&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you wanted one or more words per line (between line 1 and line 5), you can change the content located within the last curly braces to &#039;&#039;&#039;0,4&#039;&#039;&#039; (note you use 0 because you&#039;re already matching the first line).&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+)*)){0,4}/is&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Word count==&lt;br /&gt;
&lt;br /&gt;
 The following restricts the number of words allowed to a minimum of 1 and a maximum of 200:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[-\w]+(?:\W+[-\w]+){0,199}\W*$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 To increase the minimum change the zero part of {0,199}.&lt;br /&gt;
&lt;br /&gt;
To increase or decrease the maximum change the &amp;quot;199&amp;quot; part of {0,199}.&lt;br /&gt;
&lt;br /&gt;
=Time validation=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are a number of ways to write 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 [[Question type - Date|date question type]] (it can also capture time) you can use the [[Question type - Short free text|short free text question type]] with one of the below validation regular expressions.&lt;br /&gt;
&lt;br /&gt;
The following three validation strings test for 24 hour time (in order of appearances) without seconds, with optional seconds lastly with seconds required:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9](?::[0-5][0-9])?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following three match 12 hour time, as above with seconds, optional seconds and with seconds required:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?&amp;quot;&amp;gt;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))$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?: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))$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?: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))$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following three match either 12 or 24 hour time as above with seconds, optional seconds and with seconds required:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:(?: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])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:(?: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])?)$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:(?: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])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=US states=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To validate for one state use the following (example is Texas):&lt;br /&gt;
*TX uppercase only: &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(TX)$/&amp;lt;/source&amp;gt;&lt;br /&gt;
*tx lowercase only: &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(tx)$/&amp;lt;/source&amp;gt;&lt;br /&gt;
*TX upper or lowercase: &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^([T|t][X|x])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Profanity Filter=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To filter profanity words from an answer:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?i)((?!\bENTERPROFANITYHERE\b).)*$(?-i)/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Replace &amp;quot;ENTERPROFANITYHERE&amp;quot; with your bad word.&lt;br /&gt;
&lt;br /&gt;
The \b will allow passing of words such as &amp;quot;assassination&amp;quot; and &amp;quot;hello&amp;quot; if you enter &amp;quot;ass&amp;quot; or &amp;quot;hell&amp;quot; as your profanity word. This also works if you are trying to omit other words, names etc. from answers.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Helpful links=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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.&lt;/div&gt;</summary>
		<author><name>Cyr1lle</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=Translations:Using_regular_expressions/3/fr&amp;diff=143396</id>
		<title>Translations:Using regular expressions/3/fr</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=Translations:Using_regular_expressions/3/fr&amp;diff=143396"/>
		<updated>2019-06-16T12:05:54Z</updated>

		<summary type="html">&lt;p&gt;Cyr1lle: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Pour tester vos expressions régulières vous pouvez utiliser ces testeurs d&#039;expressions régulières: [https://regex101.com/ regex101] |https://extendsclass.com/regex-tester.html  regex tester]&lt;/div&gt;</summary>
		<author><name>Cyr1lle</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=Using_regular_expressions/fr&amp;diff=143395</id>
		<title>Using regular expressions/fr</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=Using_regular_expressions/fr&amp;diff=143395"/>
		<updated>2019-06-16T12:04:18Z</updated>

		<summary type="html">&lt;p&gt;Cyr1lle: Created page with &amp;quot;Pour tester vos expressions régulières vous pouvez utiliser ces testeurs d&amp;#039;expressions régulières: https://regex101.com/ https://extendsclass.com/regex-tester.html&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt; &lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-translate-fuzzy&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;La traduction de cette page n&#039;est pas terminée.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=#Validation=&lt;br /&gt;
&lt;br /&gt;
Lorsque vous définissez les attributs d&#039;une question, vous devez indiquer son code, le texte de la question, le type de question,&lt;br /&gt;
&lt;br /&gt;
le nombre minimum et/ou maximum de caractères, etc.&lt;br /&gt;
&lt;br /&gt;
Cependant, il n&#039;est pas possible définir tous les attributs de contrôle pouvant satisfaire les besoins des utilisateurs de LimeSurvey.&lt;br /&gt;
&lt;br /&gt;
La zone de saisie &#039;&#039;Validation&#039;&#039; de l&#039;écran d&#039;édition d&#039;une question joue ce rôle et permet d&#039;ajouter des contrôles supplémentaires sur la réponse.&lt;br /&gt;
&lt;br /&gt;
Ces contrôles se font gr&amp;amp;acirc;ce à des expressions régulières que l&#039;on place dans la zone de saisie &#039;&#039;Validation&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:LimeSurvey-2011-06-01-19-18.png]]&lt;br /&gt;
&lt;br /&gt;
Dans la situation présentée ci-dessus, la réponse sera considérée comme valide si d&#039;une part elle est composée uniquement de lettres&lt;br /&gt;
&lt;br /&gt;
en majuscule et d&#039;autre part si le nombre de lettres est compris entre 1 et 10.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Attention&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour le contenu de la zone de saisie &#039;&#039;Validation&#039;&#039; soit évalué, il faut obligatoirement que l&#039;utilisateur est saisi un caractère.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=#Bref rappel=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Avertissements&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L&#039;objet de cette section n&#039;est pas d&#039;expliquer comment constituer des expressions régulières&lt;br /&gt;
&lt;br /&gt;
ou bien d&#039;expliquer leurs fonctionnements.&lt;br /&gt;
&lt;br /&gt;
De très bons livres le font comme Maîtrise des expressions régulières de Jeffrey E. F. Friedl.&lt;br /&gt;
&lt;br /&gt;
Il y a également des sites qui traitent de ces sujets comme  http://www.regxlib.net/ (en anglais)&lt;br /&gt;
&lt;br /&gt;
ou bien http://perl.enstimac.fr/DocFr/perlrequick.html (en français).&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L&#039;expression régulière est un moyen puissant,flexible et efficace d&#039;appliquer un traitement sur du texte.&lt;br /&gt;
&lt;br /&gt;
Gr&amp;amp;acirc;ce à une notation générale (motif, pattern), c&#039;est une sorte de mini-langage de programmation qui permet de décrire&lt;br /&gt;
&lt;br /&gt;
et d&#039;analyser le texte. Plusieurs notations existent.&lt;br /&gt;
&lt;br /&gt;
Celle utilisée dans LimeSurvey est du type PERL et doivent commencer et se terminer par le caractère slash (&amp;quot;/&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Métacaractère||   Signification||&lt;br /&gt;
|-&lt;br /&gt;
|   .||   n&#039;importe quel caractère sauf \n||&lt;br /&gt;
|-&lt;br /&gt;
|   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;  ]|| tous les caractères énumérés  ||   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;abc]&lt;br /&gt;
|-&lt;br /&gt;
|   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~  ]|| tous les caractères sauf ceux qui sont énumérés  ||   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~abc]&lt;br /&gt;
|-&lt;br /&gt;
|   ~124~ || tous les caractères sauf ceux qui sont énumérés  ||   mot1~124~mot2~124~mot3&lt;br /&gt;
|-&lt;br /&gt;
|   - || intervalle  ||   a-z&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Quantificateur||   Signification   || Exemple&lt;br /&gt;
|-&lt;br /&gt;
|   * ||   zéro ou plus  || A* = zéro ou plus de lettre A&lt;br /&gt;
|-&lt;br /&gt;
|   + || 1 ou plus       || A+ = une lettre A ou plus&lt;br /&gt;
|-&lt;br /&gt;
|   ? || 0 ou 1          || A? = pas de lettre A ou une seule lettre A&lt;br /&gt;
|-&lt;br /&gt;
| {n} || n fois exactement || A{3} = trois lettres A&lt;br /&gt;
|-&lt;br /&gt;
|{min,} || minimum min fois et plus || A{3,} trois lettres A ou plus&lt;br /&gt;
|-&lt;br /&gt;
|{min,max}|| minimum min et maximum max  fois || A{3,7} trois lettres A au minimum et au maximum 7 lettres A&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Caractères||   Signification || Équivalence&lt;br /&gt;
|-&lt;br /&gt;
| \n || nouvelle ligne||&lt;br /&gt;
|-&lt;br /&gt;
| \r || retour à la ligne||&lt;br /&gt;
|-&lt;br /&gt;
| \t || tabulation||&lt;br /&gt;
|-&lt;br /&gt;
| \v || tabulation vertical||&lt;br /&gt;
|-&lt;br /&gt;
| \f || nouvelle page||&lt;br /&gt;
|-&lt;br /&gt;
|   \s ||   caractères d&#039;espacement|| &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;\n\r\t\f]&lt;br /&gt;
|-&lt;br /&gt;
|   \S || tous les caractères sauf les caractères d&#039;espacement|| &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~\n\r\t\f]&lt;br /&gt;
|-&lt;br /&gt;
|   \d || les chiffres||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;0-9]&lt;br /&gt;
|-&lt;br /&gt;
| \D || tous les caractères sauf les chiffres||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~0-9]&lt;br /&gt;
|-&lt;br /&gt;
| \w || caractère constituant un mot||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;0-9a-zA-Z_]&lt;br /&gt;
|-&lt;br /&gt;
| \W || tous les caractères ne constituant pas un mot||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~\w]&lt;br /&gt;
|-&lt;br /&gt;
| \xhh || caractère en hexadécimal(hh) ex: \x41 = A||&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Modificateur||   Signification&lt;br /&gt;
|-&lt;br /&gt;
| i || ignore la casse&lt;br /&gt;
|-&lt;br /&gt;
| x || le point reconnait aussi \n&lt;br /&gt;
|-&lt;br /&gt;
| m || mode multi lignes&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Les modificateurs se mettent après le dernier slash ex : /&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;a-z]/i est équivalent à /&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;a-zA-Z]/&lt;br /&gt;
&lt;br /&gt;
Vous pouvez tester vos expressions régulières sur http://www.spaweditor.com/scripts/regex/index.php&lt;br /&gt;
&lt;br /&gt;
=#Quelques exemples=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&#039;&#039;Vous pouvez ajouter des expressions régulières mais testées auparavant!&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemples (notez qu&#039;elles sont toutes sur une seule ligne):&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un code postal français==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^0[1-9]|[1-8][0-9]|9[0-8]|2A|2B[0-9]{3}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression teste seulement de le format du code postal mais pas de sa validité.&lt;br /&gt;
&lt;br /&gt;
==Validation du numéro de département français==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^0[1-9]|[1-8][0-9]|9[0-8]|2A|2B$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression teste seulement de le format du numéro du département mais pas de sa validité.&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un nombre==&lt;br /&gt;
&lt;br /&gt;
===Validation d&#039;un nombre entier===&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle défini (age, etc.) de 20 à 99====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/([2-9][0-9])/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle défini (age, etc.) de 18 à 35====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(1[8-9]|2[0-9]|3[0-5])/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle défini (age, etc.) de 19 à 65====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;(1[8-9]|[2-5][0-9]|6[0-5])$&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle de 1 à 99999====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^([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])$/&amp;lt;/nowiki&amp;gt;  &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,4}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
C&#039;est deux expressions produisent le même résultat.&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans plusieurs intervalles de 1 à 999, de 1.000 à 999.999====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,2}(?:\.[0-9]{3}){0,1}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un score compris entre 1 et 10====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9]{1}$|^10$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un score compris entre 1 et 100====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9]?[0-9]{1}$|^100$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===validation d&#039;un nombre décimal===&lt;br /&gt;
&lt;br /&gt;
Ce type de validation peut être utilisé dans le cas de prix, mesure&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un nombre décimal====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^([1][0-9][0-9]|[1-9][0-9]|[0-9])[[\.)[0-9][0-9])?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 les nombres entre ayant une partie décimale optionnelle à deux chiffres&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}\.[0-9]{2}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ===Monnaie===&lt;br /&gt;
&lt;br /&gt;
 ====Euro (le signe Euro et les centimes sont optionnels)====&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;/^\d+(\.(\d{3}]]?&amp;amp;euro;?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Dollar US====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\$?\d+(\.(\d{2}))?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le signe dollar en début de saisie et les cents sont optionnels.&lt;br /&gt;
&lt;br /&gt;
====Prix en Franc Suisse====&lt;br /&gt;
&lt;br /&gt;
C&#039;est un nombre avec deux décimales  après la virgule dont le dernier chiffre est soit 5, soit 0.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(\d+)(\.\d(05)?)?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;une date==&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;une date au format jj/mm/aaaa====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\d{1,2}\/\d{1,2}\/\d{4}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;une date au format jj/mm/aaaa du 20 ou 21éme siècle====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\d{1,2}\/\d{1,2}\/(19|20)\d{2}$/&amp;lt;/nowiki&amp;gt; a tester&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un mois (1-12)====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[0]?[1-9]$|^1[0-2]$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression permet de saisir le mois de janvier soit 1, soit 01.&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;une heure==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9]$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
cette expression permet de valider un format d&#039;heure HH:MM ex : 11:32&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9](?::[0-5][0-9])?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression permet de valider un format d&#039;heure HH:MM:SS où la partie de secondes est optionnelle ex : 11:32:53 ou bien 11:32&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression permet de valider un format d&#039;heure HH:MM:SS où la partie des secondes est obligatoire ex : 11:32:53&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;une longueur de saisie==&lt;br /&gt;
&lt;br /&gt;
Pour certain type de question, LimeSurvey propose dans les paramètres avancés ce type de contrôle.&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;une longueur de saisie minimum====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^.{3,}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ici la longueur minimum est de 3 caractères quelconques&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;une longueur de saisie maximum====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^.{3,}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ici la longueur maximum est de 3 caractères quelconques&lt;br /&gt;
&lt;br /&gt;
==Validation de texte==&lt;br /&gt;
&lt;br /&gt;
Actuellement, le type de question &#039;&#039;Multiples zones de texte court&#039;&#039; ne permet pas de contrôler le minimum ou le maximum de réponses.&lt;br /&gt;
&lt;br /&gt;
Une des manières d&#039;y parvenir est d&#039;utiliser le type question &#039;&#039;Zone de texte long&#039;&#039; sur laquelle on appliquera une expression régulière.&lt;br /&gt;
&lt;br /&gt;
L&#039;expression ci-dessous vérifie qu&#039;il y a au moins un mot par ligne et qu&#039;il y a au moins trois lignes mais pas plus de 10 lignes :&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)){2,10}/is&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si vous voulez vérifier qu&#039;il y a au moins 5 mots par ligne, vous devez changer le premier et le dernier caractère étoile (*) par {4,}&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+){4,})(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+){4,})){2,10}/is&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si voulez 1 ou plusieurs mots par ligne et de 1 à 5 lignes, vous pouvez changer les valeurs du quantificateur {0,4}.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)){0,4}/is&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Limiter le nombre de mots===&lt;br /&gt;
&lt;br /&gt;
L&#039;expression ci-dessous permet d&#039;écrire au minimum 1 mot et au maximum 200 mots.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[-\w]+(?:\W+[-\w]+){0,199}\W*$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vous pouvez varier le minimum et le maximum selon vos besoins en changeant {0,199} ( voir ci-dessus le tableau &#039;&#039;Quantificateur&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un mot==&lt;br /&gt;
&lt;br /&gt;
==== mot dans une liste====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(arbre|feuille|fleur){1}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le mot saisie doit correspondre exactement (minuscule) au mot dans la liste.&lt;br /&gt;
&lt;br /&gt;
====validation du mot dans une liste====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(arbre|feuille|fleur){1}$/i&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ici, on ne tient pas compte des minuscules et des majuscules : Les mots suivants Arbre,arbre, ARBRE, ArBrE, etc. sont tous valides.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour tester vos expressions régulières vous pouvez utiliser ces testeurs d&#039;expressions régulières: https://regex101.com/ https://extendsclass.com/regex-tester.html&lt;br /&gt;
&lt;br /&gt;
{{Note|To improve this wiki section, we kindly ask you to add your successfully tested regular expression(s) to provide a better understanding of this feature to the new LimeSurvey (potential) users.}}&lt;br /&gt;
&lt;br /&gt;
{{Alert|title=Attention|text= Please note that all the below examples are written on one line!}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Important: Regular Expressions in conditions=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that when using regular expressions in the condition editor, do NOT include the beginning and ending slash.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-translate-fuzzy&amp;quot;&amp;gt;&lt;br /&gt;
=#Validation=&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Update (12/2018): Since these days domain names cannot only hold special characters like “ü” but also use more than 3 characters as domain name like .&#039;&#039;tech&#039;&#039; or .&#039;&#039;company&#039;&#039;, the below email regex only checks if “@” and “.” exists within the entered email address.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
/^.+?@.+?\..+$/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
At this outdated regex the domain name is limited to 3 characters which doesn&#039;t cover all available domains:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
/^(\w[-._+\w]*\w@\w[-._\w]*\w\.\w{2,3})$/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Codes postaux&lt;br /&gt;
&lt;br /&gt;
==Australian postcodes:==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[0-9]{4}/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Brazilian postcodes==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[0-9]{2}\.[0-9]{3}-[0-9]{3}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Canadian postcodes==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[a-zA-Z]\d{1}[a-zA-Z](\-| |)\d{1}[a-zA-Z]\d{1}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==US postal codes==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[0-9]{5}([- /]?[0-9]{4})?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==UK postcodes==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[A-Z][A-Z]?[0-9][A-Z0-9]? ?[0-9][ABDEFGHJLNPQRSTUWXYZ]{2}$/i&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that this is not very exact, and a more exact validation is much more complex. For example, see [https://stackoverflow.com/questions/164979/uk-postcode-regex-comprehensive StackOverflow answer] and [https://en.wikipedia.org/wiki/Talk:Postcodes_in_the_United_Kingdom#Regular_Expressions Wikipedia] for more information.&lt;br /&gt;
&lt;br /&gt;
==French postcodes== &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/(^[0-8]\d\d{3}$)|(^9[0-5]\d{3}$)|(^97[1-6]\d{2}$)|(^98[46-8]\d{2}$)/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above expression is very precise and it will check whether or not the French Department exists (first two digits), including overseas Departments and overseas Territories (DOM-TOM).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Phone numbers=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==US phone numbers==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\([2-9]\d{2}\)\ ?|[2-9]\d{2}(?:\-?|\ ?))[2-9]\d{2}[- ]?\d{4}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[\(\)\.\- ]{0,}[0-9]{3}[\(\)\.\- ]{0,}[0-9]{3}[\(\)\.\- ]{0,}[0-9]{4}[\(\)\.\- ]{0,}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This second option will match all phone Canadian and US phone numbers that include non-digit symbols including:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt; . ( ) - (space)&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will allow you to match phone numbers which resemble below:&lt;br /&gt;
*(555)555 5555&lt;br /&gt;
*555.555.5555&lt;br /&gt;
*555 555 5555&lt;br /&gt;
*(555)-555-5555&lt;br /&gt;
*555-555-5555&lt;br /&gt;
*555555555&lt;br /&gt;
&lt;br /&gt;
==Australian phone numbers==&lt;br /&gt;
&lt;br /&gt;
The following patterns match all various Australian mobile and landline phone numbers including with &amp;quot;+61&amp;quot; country prefix:&lt;br /&gt;
*(02) 9123 6535&lt;br /&gt;
*03 1234-5345&lt;br /&gt;
*0412 345 678&lt;br /&gt;
*+61 2 3456 789&lt;br /&gt;
&lt;br /&gt;
But not:&lt;br /&gt;
* 234 3450 234&lt;br /&gt;
*a234 534 3432&lt;br /&gt;
*134567&lt;br /&gt;
*123456789013&lt;br /&gt;
&lt;br /&gt;
Brackets, white space and hypens are ignored.&lt;br /&gt;
&lt;br /&gt;
The &#039;Very precise:&#039; versions listed here match against the first four or five digits in a number to ensure that they are valid Australian numbers.&lt;br /&gt;
&lt;br /&gt;
The &#039;Not very precise:&#039; only match against the first and second digit so may allow invaid numbers.&lt;br /&gt;
&lt;br /&gt;
===All Australian phone numbers (mobile and landline - area code required)===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^\(?(?:\+?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})$/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\+?61|0)[2-478](?:[ -]?[0-9]){8}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===All Australian phone numbers (landlines only - area code required)===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^\(?(?:\+?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}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\+?61|\(?0)[2378]\)?(?:[ -]?[0-9]){8}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===New South Wales landline phone numbers (area code optional)===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)2\)?[ -]?)?(?:3[ -]?[38]|[46-9][ -]?[0-9]|5[ -]?[0-35-9])(?:[ -]?[0-9]){6}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)2\)?(?:[ -]?[0-9]){7}[0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Victorian and Tasmanian landline phone numbers (area code optional)===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)3\)?[ -]?)?(?:4[ -]?[0-57-9]|[57-9][ -]?[0-9]|6[ -]?[1-67])(?:[ -]?[0-9]){6}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)3\)?(?:[ -]?[0-9]){7}[0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Queensland landline phone numbers (area code optional)===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)7\)?[ -]?)?(?:[2-4][ -]?[0-9]|5[ -]?[2-7]|7[ -]?6)(?:[ -]?[0-9]){6}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)7\)?(?:[ -]?[0-9]){7}[0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===South Australia, Northern Territory, Western Australia landline phone numbers (area code optional)===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)8\)?[ -]?)?(?:5[1-4]|6[0-8]|[7-9][0-9])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)8\)?(?:[ -]?[0-9]){7}[0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Australian mobile phone numbers only===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\+?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}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)4\)?(?:[ -]?[0-9]){7}[0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Belgian phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00)32\s?|0)(\d\s?\d{3}|\d{2}\s?\d{2})(\s?\d{2}){2}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
==Belgian mobile phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00)32\s?|0)4(60|[789]\d)(\s?\d{2}){3}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
==French phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00)33\s?|0)[1-59](\s?\d{2}){4}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
==French mobile phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00)33\s?|0)[67](\s?\d{2}){4}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
==Luxemburg phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00\s?)352)?(\s?\d{2}){3,4}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
==Luxemburg mobile phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00\s?)352)?\s?6[269]1(\s?\d{3}){2}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
=German marks (with optional plus or minus)=&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-6]{1}[\+|\-]?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Age validation=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example: Age 20-99&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/([2-9][0-9])/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example: Age 18-35&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/(1[8-9]|2[0-9]|3[0-5])/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example: Age 19-65&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(1[8-9]|[2-5][0-9]|6[0-5])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Number validation= &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Numbers from 1 to 99999==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^([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])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9][0-9]{0,4}$/ does the same as above but should run a little faster&amp;lt;/source&amp;gt;&lt;br /&gt;
==Numbers from 1 to 999, 1.000 to 999.999 to 999.999.999==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9][0-9]{0,2}(?:\.[0-9]{3}){0,2}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
Accepts numbers from 1 to 999, 1.000 to 999.999 to 999.999.999 but&lt;br /&gt;
rejects numbers like 999.1.1 , 94.22.22, 999.1.22, 999.11.1, 999.1.333&lt;br /&gt;
&lt;br /&gt;
==Number validation with optional decimal (for price)==&lt;br /&gt;
Accepts numbers from 0 to 199, with 2 decimal optional:&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^([1][0-9][0-9]|[1-9][0-9]|[0-9])((\.)[0-9][0-9])?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It forces two decimal points and accepts numbers from 1.00 to 999,999,999.00 with an optional comma delimiting thousands/millions&lt;br /&gt;
including all of the following: 1.00, 1,000.00, 12,345.67, 12345,02, 123,456,468.00, 1234566.00, 123456789.00&lt;br /&gt;
but not 1,23.00, 12,3.4 or 1234,43.04&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}\.[0-9]{2}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Similar to the above: Forces two decimal points but accepts a &amp;quot;0&amp;quot; before decimal separator &amp;quot;,&amp;quot;.&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/[0-9]{0,2}(?:,?[0-9]{3}){0,3}\.[0-9]{2}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Same as above, but the two decimal points are optional:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}(?:\.[0-9]{2})?$/ &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Month (1-12)==&lt;br /&gt;
&lt;br /&gt;
If you want to ask for the month a person was born you can validate the input as follows:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[0]*[1-9]$|^[0]*1[0-2]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Minimum width (set to 3 in this example)=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^.{3,}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Currency=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==US currency (dollar sign and cents optional)==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^\$?\d+(\.(\d{2}))?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Check for comma usage:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^\$?\d{1,3}(\d+(?!,))?(,\d{3})*(\.\d{2})?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Swiss price==&lt;br /&gt;
&lt;br /&gt;
A number with two decimal numbers after the decimal point of which the last one is either a 5 or a 0:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(\d+)(\.\d(05)?)?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Validate score=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==1-10==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9]{1}$|^10$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==1-100==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9]?[0-9]{1}$|^100$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Text validation=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The [[Question type - Multiple short text|multiple short text question type]] doesn&#039;t support minimum or maximum answers at the moment. One way around this is to use a [[Question type - Long free text|long free text question type]] with a regular expression.&lt;br /&gt;
&lt;br /&gt;
The below expression tests for at least one word per line for at least 3 lines and no more than 10 lines:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+)*)){2,10}/is&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want, say five words per line, you could change the first and last star/asterisk to {4,}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+){4,})(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+){4,})){2,10}/is&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you wanted one or more words per line (between line 1 and line 5), you can change the content located within the last curly braces to &#039;&#039;&#039;0,4&#039;&#039;&#039; (note you use 0 because you&#039;re already matching the first line).&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+)*)){0,4}/is&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Word count==&lt;br /&gt;
&lt;br /&gt;
 The following restricts the number of words allowed to a minimum of 1 and a maximum of 200:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[-\w]+(?:\W+[-\w]+){0,199}\W*$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 To increase the minimum change the zero part of {0,199}.&lt;br /&gt;
&lt;br /&gt;
To increase or decrease the maximum change the &amp;quot;199&amp;quot; part of {0,199}.&lt;br /&gt;
&lt;br /&gt;
=Time validation=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are a number of ways to write 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 [[Question type - Date|date question type]] (it can also capture time) you can use the [[Question type - Short free text|short free text question type]] with one of the below validation regular expressions.&lt;br /&gt;
&lt;br /&gt;
The following three validation strings test for 24 hour time (in order of appearances) without seconds, with optional seconds lastly with seconds required:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9](?::[0-5][0-9])?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following three match 12 hour time, as above with seconds, optional seconds and with seconds required:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?&amp;quot;&amp;gt;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))$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?: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))$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?: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))$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following three match either 12 or 24 hour time as above with seconds, optional seconds and with seconds required:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:(?: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])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:(?: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])?)$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:(?: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])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=US states=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To validate for one state use the following (example is Texas):&lt;br /&gt;
*TX uppercase only: &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(TX)$/&amp;lt;/source&amp;gt;&lt;br /&gt;
*tx lowercase only: &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(tx)$/&amp;lt;/source&amp;gt;&lt;br /&gt;
*TX upper or lowercase: &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^([T|t][X|x])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Profanity Filter=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To filter profanity words from an answer:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?i)((?!\bENTERPROFANITYHERE\b).)*$(?-i)/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Replace &amp;quot;ENTERPROFANITYHERE&amp;quot; with your bad word.&lt;br /&gt;
&lt;br /&gt;
The \b will allow passing of words such as &amp;quot;assassination&amp;quot; and &amp;quot;hello&amp;quot; if you enter &amp;quot;ass&amp;quot; or &amp;quot;hell&amp;quot; as your profanity word. This also works if you are trying to omit other words, names etc. from answers.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Helpful links=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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.&lt;/div&gt;</summary>
		<author><name>Cyr1lle</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=Translations:Using_regular_expressions/3/fr&amp;diff=143394</id>
		<title>Translations:Using regular expressions/3/fr</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=Translations:Using_regular_expressions/3/fr&amp;diff=143394"/>
		<updated>2019-06-16T12:04:18Z</updated>

		<summary type="html">&lt;p&gt;Cyr1lle: Created page with &amp;quot;Pour tester vos expressions régulières vous pouvez utiliser ces testeurs d&amp;#039;expressions régulières: https://regex101.com/ https://extendsclass.com/regex-tester.html&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Pour tester vos expressions régulières vous pouvez utiliser ces testeurs d&#039;expressions régulières: https://regex101.com/ https://extendsclass.com/regex-tester.html&lt;/div&gt;</summary>
		<author><name>Cyr1lle</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=Using_regular_expressions/fr&amp;diff=143393</id>
		<title>Using regular expressions/fr</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=Using_regular_expressions/fr&amp;diff=143393"/>
		<updated>2019-06-16T12:00:21Z</updated>

		<summary type="html">&lt;p&gt;Cyr1lle: Created page with &amp;quot;Codes postaux&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt; &lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-translate-fuzzy&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;La traduction de cette page n&#039;est pas terminée.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=#Validation=&lt;br /&gt;
&lt;br /&gt;
Lorsque vous définissez les attributs d&#039;une question, vous devez indiquer son code, le texte de la question, le type de question,&lt;br /&gt;
&lt;br /&gt;
le nombre minimum et/ou maximum de caractères, etc.&lt;br /&gt;
&lt;br /&gt;
Cependant, il n&#039;est pas possible définir tous les attributs de contrôle pouvant satisfaire les besoins des utilisateurs de LimeSurvey.&lt;br /&gt;
&lt;br /&gt;
La zone de saisie &#039;&#039;Validation&#039;&#039; de l&#039;écran d&#039;édition d&#039;une question joue ce rôle et permet d&#039;ajouter des contrôles supplémentaires sur la réponse.&lt;br /&gt;
&lt;br /&gt;
Ces contrôles se font gr&amp;amp;acirc;ce à des expressions régulières que l&#039;on place dans la zone de saisie &#039;&#039;Validation&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:LimeSurvey-2011-06-01-19-18.png]]&lt;br /&gt;
&lt;br /&gt;
Dans la situation présentée ci-dessus, la réponse sera considérée comme valide si d&#039;une part elle est composée uniquement de lettres&lt;br /&gt;
&lt;br /&gt;
en majuscule et d&#039;autre part si le nombre de lettres est compris entre 1 et 10.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Attention&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour le contenu de la zone de saisie &#039;&#039;Validation&#039;&#039; soit évalué, il faut obligatoirement que l&#039;utilisateur est saisi un caractère.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=#Bref rappel=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Avertissements&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L&#039;objet de cette section n&#039;est pas d&#039;expliquer comment constituer des expressions régulières&lt;br /&gt;
&lt;br /&gt;
ou bien d&#039;expliquer leurs fonctionnements.&lt;br /&gt;
&lt;br /&gt;
De très bons livres le font comme Maîtrise des expressions régulières de Jeffrey E. F. Friedl.&lt;br /&gt;
&lt;br /&gt;
Il y a également des sites qui traitent de ces sujets comme  http://www.regxlib.net/ (en anglais)&lt;br /&gt;
&lt;br /&gt;
ou bien http://perl.enstimac.fr/DocFr/perlrequick.html (en français).&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L&#039;expression régulière est un moyen puissant,flexible et efficace d&#039;appliquer un traitement sur du texte.&lt;br /&gt;
&lt;br /&gt;
Gr&amp;amp;acirc;ce à une notation générale (motif, pattern), c&#039;est une sorte de mini-langage de programmation qui permet de décrire&lt;br /&gt;
&lt;br /&gt;
et d&#039;analyser le texte. Plusieurs notations existent.&lt;br /&gt;
&lt;br /&gt;
Celle utilisée dans LimeSurvey est du type PERL et doivent commencer et se terminer par le caractère slash (&amp;quot;/&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Métacaractère||   Signification||&lt;br /&gt;
|-&lt;br /&gt;
|   .||   n&#039;importe quel caractère sauf \n||&lt;br /&gt;
|-&lt;br /&gt;
|   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;  ]|| tous les caractères énumérés  ||   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;abc]&lt;br /&gt;
|-&lt;br /&gt;
|   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~  ]|| tous les caractères sauf ceux qui sont énumérés  ||   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~abc]&lt;br /&gt;
|-&lt;br /&gt;
|   ~124~ || tous les caractères sauf ceux qui sont énumérés  ||   mot1~124~mot2~124~mot3&lt;br /&gt;
|-&lt;br /&gt;
|   - || intervalle  ||   a-z&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Quantificateur||   Signification   || Exemple&lt;br /&gt;
|-&lt;br /&gt;
|   * ||   zéro ou plus  || A* = zéro ou plus de lettre A&lt;br /&gt;
|-&lt;br /&gt;
|   + || 1 ou plus       || A+ = une lettre A ou plus&lt;br /&gt;
|-&lt;br /&gt;
|   ? || 0 ou 1          || A? = pas de lettre A ou une seule lettre A&lt;br /&gt;
|-&lt;br /&gt;
| {n} || n fois exactement || A{3} = trois lettres A&lt;br /&gt;
|-&lt;br /&gt;
|{min,} || minimum min fois et plus || A{3,} trois lettres A ou plus&lt;br /&gt;
|-&lt;br /&gt;
|{min,max}|| minimum min et maximum max  fois || A{3,7} trois lettres A au minimum et au maximum 7 lettres A&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Caractères||   Signification || Équivalence&lt;br /&gt;
|-&lt;br /&gt;
| \n || nouvelle ligne||&lt;br /&gt;
|-&lt;br /&gt;
| \r || retour à la ligne||&lt;br /&gt;
|-&lt;br /&gt;
| \t || tabulation||&lt;br /&gt;
|-&lt;br /&gt;
| \v || tabulation vertical||&lt;br /&gt;
|-&lt;br /&gt;
| \f || nouvelle page||&lt;br /&gt;
|-&lt;br /&gt;
|   \s ||   caractères d&#039;espacement|| &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;\n\r\t\f]&lt;br /&gt;
|-&lt;br /&gt;
|   \S || tous les caractères sauf les caractères d&#039;espacement|| &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~\n\r\t\f]&lt;br /&gt;
|-&lt;br /&gt;
|   \d || les chiffres||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;0-9]&lt;br /&gt;
|-&lt;br /&gt;
| \D || tous les caractères sauf les chiffres||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~0-9]&lt;br /&gt;
|-&lt;br /&gt;
| \w || caractère constituant un mot||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;0-9a-zA-Z_]&lt;br /&gt;
|-&lt;br /&gt;
| \W || tous les caractères ne constituant pas un mot||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~\w]&lt;br /&gt;
|-&lt;br /&gt;
| \xhh || caractère en hexadécimal(hh) ex: \x41 = A||&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Modificateur||   Signification&lt;br /&gt;
|-&lt;br /&gt;
| i || ignore la casse&lt;br /&gt;
|-&lt;br /&gt;
| x || le point reconnait aussi \n&lt;br /&gt;
|-&lt;br /&gt;
| m || mode multi lignes&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Les modificateurs se mettent après le dernier slash ex : /&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;a-z]/i est équivalent à /&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;a-zA-Z]/&lt;br /&gt;
&lt;br /&gt;
Vous pouvez tester vos expressions régulières sur http://www.spaweditor.com/scripts/regex/index.php&lt;br /&gt;
&lt;br /&gt;
=#Quelques exemples=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&#039;&#039;Vous pouvez ajouter des expressions régulières mais testées auparavant!&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemples (notez qu&#039;elles sont toutes sur une seule ligne):&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un code postal français==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^0[1-9]|[1-8][0-9]|9[0-8]|2A|2B[0-9]{3}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression teste seulement de le format du code postal mais pas de sa validité.&lt;br /&gt;
&lt;br /&gt;
==Validation du numéro de département français==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^0[1-9]|[1-8][0-9]|9[0-8]|2A|2B$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression teste seulement de le format du numéro du département mais pas de sa validité.&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un nombre==&lt;br /&gt;
&lt;br /&gt;
===Validation d&#039;un nombre entier===&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle défini (age, etc.) de 20 à 99====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/([2-9][0-9])/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle défini (age, etc.) de 18 à 35====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(1[8-9]|2[0-9]|3[0-5])/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle défini (age, etc.) de 19 à 65====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;(1[8-9]|[2-5][0-9]|6[0-5])$&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle de 1 à 99999====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^([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])$/&amp;lt;/nowiki&amp;gt;  &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,4}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
C&#039;est deux expressions produisent le même résultat.&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans plusieurs intervalles de 1 à 999, de 1.000 à 999.999====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,2}(?:\.[0-9]{3}){0,1}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un score compris entre 1 et 10====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9]{1}$|^10$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un score compris entre 1 et 100====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9]?[0-9]{1}$|^100$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===validation d&#039;un nombre décimal===&lt;br /&gt;
&lt;br /&gt;
Ce type de validation peut être utilisé dans le cas de prix, mesure&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un nombre décimal====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^([1][0-9][0-9]|[1-9][0-9]|[0-9])[[\.)[0-9][0-9])?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 les nombres entre ayant une partie décimale optionnelle à deux chiffres&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}\.[0-9]{2}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ===Monnaie===&lt;br /&gt;
&lt;br /&gt;
 ====Euro (le signe Euro et les centimes sont optionnels)====&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;/^\d+(\.(\d{3}]]?&amp;amp;euro;?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Dollar US====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\$?\d+(\.(\d{2}))?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le signe dollar en début de saisie et les cents sont optionnels.&lt;br /&gt;
&lt;br /&gt;
====Prix en Franc Suisse====&lt;br /&gt;
&lt;br /&gt;
C&#039;est un nombre avec deux décimales  après la virgule dont le dernier chiffre est soit 5, soit 0.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(\d+)(\.\d(05)?)?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;une date==&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;une date au format jj/mm/aaaa====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\d{1,2}\/\d{1,2}\/\d{4}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;une date au format jj/mm/aaaa du 20 ou 21éme siècle====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\d{1,2}\/\d{1,2}\/(19|20)\d{2}$/&amp;lt;/nowiki&amp;gt; a tester&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un mois (1-12)====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[0]?[1-9]$|^1[0-2]$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression permet de saisir le mois de janvier soit 1, soit 01.&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;une heure==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9]$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
cette expression permet de valider un format d&#039;heure HH:MM ex : 11:32&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9](?::[0-5][0-9])?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression permet de valider un format d&#039;heure HH:MM:SS où la partie de secondes est optionnelle ex : 11:32:53 ou bien 11:32&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression permet de valider un format d&#039;heure HH:MM:SS où la partie des secondes est obligatoire ex : 11:32:53&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;une longueur de saisie==&lt;br /&gt;
&lt;br /&gt;
Pour certain type de question, LimeSurvey propose dans les paramètres avancés ce type de contrôle.&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;une longueur de saisie minimum====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^.{3,}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ici la longueur minimum est de 3 caractères quelconques&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;une longueur de saisie maximum====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^.{3,}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ici la longueur maximum est de 3 caractères quelconques&lt;br /&gt;
&lt;br /&gt;
==Validation de texte==&lt;br /&gt;
&lt;br /&gt;
Actuellement, le type de question &#039;&#039;Multiples zones de texte court&#039;&#039; ne permet pas de contrôler le minimum ou le maximum de réponses.&lt;br /&gt;
&lt;br /&gt;
Une des manières d&#039;y parvenir est d&#039;utiliser le type question &#039;&#039;Zone de texte long&#039;&#039; sur laquelle on appliquera une expression régulière.&lt;br /&gt;
&lt;br /&gt;
L&#039;expression ci-dessous vérifie qu&#039;il y a au moins un mot par ligne et qu&#039;il y a au moins trois lignes mais pas plus de 10 lignes :&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)){2,10}/is&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si vous voulez vérifier qu&#039;il y a au moins 5 mots par ligne, vous devez changer le premier et le dernier caractère étoile (*) par {4,}&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+){4,})(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+){4,})){2,10}/is&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si voulez 1 ou plusieurs mots par ligne et de 1 à 5 lignes, vous pouvez changer les valeurs du quantificateur {0,4}.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)){0,4}/is&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Limiter le nombre de mots===&lt;br /&gt;
&lt;br /&gt;
L&#039;expression ci-dessous permet d&#039;écrire au minimum 1 mot et au maximum 200 mots.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[-\w]+(?:\W+[-\w]+){0,199}\W*$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vous pouvez varier le minimum et le maximum selon vos besoins en changeant {0,199} ( voir ci-dessus le tableau &#039;&#039;Quantificateur&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un mot==&lt;br /&gt;
&lt;br /&gt;
==== mot dans une liste====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(arbre|feuille|fleur){1}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le mot saisie doit correspondre exactement (minuscule) au mot dans la liste.&lt;br /&gt;
&lt;br /&gt;
====validation du mot dans une liste====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(arbre|feuille|fleur){1}$/i&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ici, on ne tient pas compte des minuscules et des majuscules : Les mots suivants Arbre,arbre, ARBRE, ArBrE, etc. sont tous valides.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To test your regex you can [https://regex101.com/ use this regex tester].&lt;br /&gt;
&lt;br /&gt;
{{Note|To improve this wiki section, we kindly ask you to add your successfully tested regular expression(s) to provide a better understanding of this feature to the new LimeSurvey (potential) users.}}&lt;br /&gt;
&lt;br /&gt;
{{Alert|title=Attention|text= Please note that all the below examples are written on one line!}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Important: Regular Expressions in conditions=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that when using regular expressions in the condition editor, do NOT include the beginning and ending slash.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-translate-fuzzy&amp;quot;&amp;gt;&lt;br /&gt;
=#Validation=&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Update (12/2018): Since these days domain names cannot only hold special characters like “ü” but also use more than 3 characters as domain name like .&#039;&#039;tech&#039;&#039; or .&#039;&#039;company&#039;&#039;, the below email regex only checks if “@” and “.” exists within the entered email address.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
/^.+?@.+?\..+$/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
At this outdated regex the domain name is limited to 3 characters which doesn&#039;t cover all available domains:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
/^(\w[-._+\w]*\w@\w[-._\w]*\w\.\w{2,3})$/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Codes postaux&lt;br /&gt;
&lt;br /&gt;
==Australian postcodes:==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[0-9]{4}/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Brazilian postcodes==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[0-9]{2}\.[0-9]{3}-[0-9]{3}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Canadian postcodes==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[a-zA-Z]\d{1}[a-zA-Z](\-| |)\d{1}[a-zA-Z]\d{1}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==US postal codes==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[0-9]{5}([- /]?[0-9]{4})?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==UK postcodes==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[A-Z][A-Z]?[0-9][A-Z0-9]? ?[0-9][ABDEFGHJLNPQRSTUWXYZ]{2}$/i&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that this is not very exact, and a more exact validation is much more complex. For example, see [https://stackoverflow.com/questions/164979/uk-postcode-regex-comprehensive StackOverflow answer] and [https://en.wikipedia.org/wiki/Talk:Postcodes_in_the_United_Kingdom#Regular_Expressions Wikipedia] for more information.&lt;br /&gt;
&lt;br /&gt;
==French postcodes== &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/(^[0-8]\d\d{3}$)|(^9[0-5]\d{3}$)|(^97[1-6]\d{2}$)|(^98[46-8]\d{2}$)/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above expression is very precise and it will check whether or not the French Department exists (first two digits), including overseas Departments and overseas Territories (DOM-TOM).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Phone numbers=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==US phone numbers==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\([2-9]\d{2}\)\ ?|[2-9]\d{2}(?:\-?|\ ?))[2-9]\d{2}[- ]?\d{4}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[\(\)\.\- ]{0,}[0-9]{3}[\(\)\.\- ]{0,}[0-9]{3}[\(\)\.\- ]{0,}[0-9]{4}[\(\)\.\- ]{0,}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This second option will match all phone Canadian and US phone numbers that include non-digit symbols including:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt; . ( ) - (space)&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will allow you to match phone numbers which resemble below:&lt;br /&gt;
*(555)555 5555&lt;br /&gt;
*555.555.5555&lt;br /&gt;
*555 555 5555&lt;br /&gt;
*(555)-555-5555&lt;br /&gt;
*555-555-5555&lt;br /&gt;
*555555555&lt;br /&gt;
&lt;br /&gt;
==Australian phone numbers==&lt;br /&gt;
&lt;br /&gt;
The following patterns match all various Australian mobile and landline phone numbers including with &amp;quot;+61&amp;quot; country prefix:&lt;br /&gt;
*(02) 9123 6535&lt;br /&gt;
*03 1234-5345&lt;br /&gt;
*0412 345 678&lt;br /&gt;
*+61 2 3456 789&lt;br /&gt;
&lt;br /&gt;
But not:&lt;br /&gt;
* 234 3450 234&lt;br /&gt;
*a234 534 3432&lt;br /&gt;
*134567&lt;br /&gt;
*123456789013&lt;br /&gt;
&lt;br /&gt;
Brackets, white space and hypens are ignored.&lt;br /&gt;
&lt;br /&gt;
The &#039;Very precise:&#039; versions listed here match against the first four or five digits in a number to ensure that they are valid Australian numbers.&lt;br /&gt;
&lt;br /&gt;
The &#039;Not very precise:&#039; only match against the first and second digit so may allow invaid numbers.&lt;br /&gt;
&lt;br /&gt;
===All Australian phone numbers (mobile and landline - area code required)===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^\(?(?:\+?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})$/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\+?61|0)[2-478](?:[ -]?[0-9]){8}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===All Australian phone numbers (landlines only - area code required)===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^\(?(?:\+?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}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\+?61|\(?0)[2378]\)?(?:[ -]?[0-9]){8}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===New South Wales landline phone numbers (area code optional)===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)2\)?[ -]?)?(?:3[ -]?[38]|[46-9][ -]?[0-9]|5[ -]?[0-35-9])(?:[ -]?[0-9]){6}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)2\)?(?:[ -]?[0-9]){7}[0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Victorian and Tasmanian landline phone numbers (area code optional)===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)3\)?[ -]?)?(?:4[ -]?[0-57-9]|[57-9][ -]?[0-9]|6[ -]?[1-67])(?:[ -]?[0-9]){6}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)3\)?(?:[ -]?[0-9]){7}[0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Queensland landline phone numbers (area code optional)===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)7\)?[ -]?)?(?:[2-4][ -]?[0-9]|5[ -]?[2-7]|7[ -]?6)(?:[ -]?[0-9]){6}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)7\)?(?:[ -]?[0-9]){7}[0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===South Australia, Northern Territory, Western Australia landline phone numbers (area code optional)===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)8\)?[ -]?)?(?:5[1-4]|6[0-8]|[7-9][0-9])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)8\)?(?:[ -]?[0-9]){7}[0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Australian mobile phone numbers only===&lt;br /&gt;
&lt;br /&gt;
Very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\+?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}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not very precise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:\(?(?:\+?61|0)4\)?(?:[ -]?[0-9]){7}[0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Belgian phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00)32\s?|0)(\d\s?\d{3}|\d{2}\s?\d{2})(\s?\d{2}){2}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
==Belgian mobile phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00)32\s?|0)4(60|[789]\d)(\s?\d{2}){3}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
==French phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00)33\s?|0)[1-59](\s?\d{2}){4}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
==French mobile phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00)33\s?|0)[67](\s?\d{2}){4}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
==Luxemburg phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00\s?)352)?(\s?\d{2}){3,4}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
==Luxemburg mobile phone number==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^((\+|00\s?)352)?\s?6[269]1(\s?\d{3}){2}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
=German marks (with optional plus or minus)=&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-6]{1}[\+|\-]?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Age validation=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example: Age 20-99&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/([2-9][0-9])/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example: Age 18-35&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/(1[8-9]|2[0-9]|3[0-5])/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example: Age 19-65&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(1[8-9]|[2-5][0-9]|6[0-5])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Number validation= &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Numbers from 1 to 99999==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^([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])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9][0-9]{0,4}$/ does the same as above but should run a little faster&amp;lt;/source&amp;gt;&lt;br /&gt;
==Numbers from 1 to 999, 1.000 to 999.999 to 999.999.999==&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9][0-9]{0,2}(?:\.[0-9]{3}){0,2}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
Accepts numbers from 1 to 999, 1.000 to 999.999 to 999.999.999 but&lt;br /&gt;
rejects numbers like 999.1.1 , 94.22.22, 999.1.22, 999.11.1, 999.1.333&lt;br /&gt;
&lt;br /&gt;
==Number validation with optional decimal (for price)==&lt;br /&gt;
Accepts numbers from 0 to 199, with 2 decimal optional:&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^([1][0-9][0-9]|[1-9][0-9]|[0-9])((\.)[0-9][0-9])?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It forces two decimal points and accepts numbers from 1.00 to 999,999,999.00 with an optional comma delimiting thousands/millions&lt;br /&gt;
including all of the following: 1.00, 1,000.00, 12,345.67, 12345,02, 123,456,468.00, 1234566.00, 123456789.00&lt;br /&gt;
but not 1,23.00, 12,3.4 or 1234,43.04&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}\.[0-9]{2}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Similar to the above: Forces two decimal points but accepts a &amp;quot;0&amp;quot; before decimal separator &amp;quot;,&amp;quot;.&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/[0-9]{0,2}(?:,?[0-9]{3}){0,3}\.[0-9]{2}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Same as above, but the two decimal points are optional:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}(?:\.[0-9]{2})?$/ &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Month (1-12)==&lt;br /&gt;
&lt;br /&gt;
If you want to ask for the month a person was born you can validate the input as follows:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[0]*[1-9]$|^[0]*1[0-2]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Minimum width (set to 3 in this example)=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^.{3,}$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Currency=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==US currency (dollar sign and cents optional)==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^\$?\d+(\.(\d{2}))?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Check for comma usage:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^\$?\d{1,3}(\d+(?!,))?(,\d{3})*(\.\d{2})?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Swiss price==&lt;br /&gt;
&lt;br /&gt;
A number with two decimal numbers after the decimal point of which the last one is either a 5 or a 0:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(\d+)(\.\d(05)?)?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Validate score=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==1-10==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9]{1}$|^10$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==1-100==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[1-9]?[0-9]{1}$|^100$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Text validation=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The [[Question type - Multiple short text|multiple short text question type]] doesn&#039;t support minimum or maximum answers at the moment. One way around this is to use a [[Question type - Long free text|long free text question type]] with a regular expression.&lt;br /&gt;
&lt;br /&gt;
The below expression tests for at least one word per line for at least 3 lines and no more than 10 lines:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+)*)){2,10}/is&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want, say five words per line, you could change the first and last star/asterisk to {4,}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+){4,})(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+){4,})){2,10}/is&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you wanted one or more words per line (between line 1 and line 5), you can change the content located within the last curly braces to &#039;&#039;&#039;0,4&#039;&#039;&#039; (note you use 0 because you&#039;re already matching the first line).&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[^,.;:?!&amp;amp; \n\r]+(?: [^,.;:?!&amp;amp; \n\r]+)*)){0,4}/is&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Word count==&lt;br /&gt;
&lt;br /&gt;
 The following restricts the number of words allowed to a minimum of 1 and a maximum of 200:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^[-\w]+(?:\W+[-\w]+){0,199}\W*$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 To increase the minimum change the zero part of {0,199}.&lt;br /&gt;
&lt;br /&gt;
To increase or decrease the maximum change the &amp;quot;199&amp;quot; part of {0,199}.&lt;br /&gt;
&lt;br /&gt;
=Time validation=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are a number of ways to write 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 [[Question type - Date|date question type]] (it can also capture time) you can use the [[Question type - Short free text|short free text question type]] with one of the below validation regular expressions.&lt;br /&gt;
&lt;br /&gt;
The following three validation strings test for 24 hour time (in order of appearances) without seconds, with optional seconds lastly with seconds required:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9](?::[0-5][0-9])?$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following three match 12 hour time, as above with seconds, optional seconds and with seconds required:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?&amp;quot;&amp;gt;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))$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?: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))$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?: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))$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following three match either 12 or 24 hour time as above with seconds, optional seconds and with seconds required:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:(?: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])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:(?: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])?)$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?:(?: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])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=US states=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To validate for one state use the following (example is Texas):&lt;br /&gt;
*TX uppercase only: &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(TX)$/&amp;lt;/source&amp;gt;&lt;br /&gt;
*tx lowercase only: &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(tx)$/&amp;lt;/source&amp;gt;&lt;br /&gt;
*TX upper or lowercase: &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^([T|t][X|x])$/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Profanity Filter=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To filter profanity words from an answer:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;/^(?i)((?!\bENTERPROFANITYHERE\b).)*$(?-i)/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Replace &amp;quot;ENTERPROFANITYHERE&amp;quot; with your bad word.&lt;br /&gt;
&lt;br /&gt;
The \b will allow passing of words such as &amp;quot;assassination&amp;quot; and &amp;quot;hello&amp;quot; if you enter &amp;quot;ass&amp;quot; or &amp;quot;hell&amp;quot; as your profanity word. This also works if you are trying to omit other words, names etc. from answers.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Helpful links=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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.&lt;/div&gt;</summary>
		<author><name>Cyr1lle</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=Translations:Using_regular_expressions/13/fr&amp;diff=143392</id>
		<title>Translations:Using regular expressions/13/fr</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=Translations:Using_regular_expressions/13/fr&amp;diff=143392"/>
		<updated>2019-06-16T12:00:21Z</updated>

		<summary type="html">&lt;p&gt;Cyr1lle: Created page with &amp;quot;Codes postaux&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Codes postaux&lt;/div&gt;</summary>
		<author><name>Cyr1lle</name></author>
	</entry>
</feed>