<?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=Nenesse</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=Nenesse"/>
	<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/Special:Contributions/Nenesse"/>
	<updated>2026-08-16T15:28:46Z</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=133308</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=133308"/>
		<updated>2019-01-07T18:02:30Z</updated>

		<summary type="html">&lt;p&gt;Nenesse: &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 all work if surrounded with the forward slash.&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;
&#039;&#039;Please add successfully tested regular expressions!&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
Examples (note that these are all one line):&lt;br /&gt;
&lt;br /&gt;
=Important: Regular Expressions in conditions= &amp;lt;!--T:6--&amp;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;
=Email validation= &amp;lt;!--T:8--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:123--&amp;gt;&lt;br /&gt;
Update (12/2018): Since these days domain names can not 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;
=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;
==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 [http://stackoverflow.com/questions/164979/uk-postcode-regex-comprehensive StackOverflow answer] and [http://en.wikipedia.org/wiki/Talk:Postcodes_in_the_United_Kingdom#Regular_Expressions Wikipedia] for more information.&lt;br /&gt;
&lt;br /&gt;
==French postcodes== &amp;lt;!--T:25--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;!--T:26--&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;
Note that is very precise and 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;
=Phone numbers= &amp;lt;!--T:25--&amp;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:27--&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 eg:&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;
&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;
&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;
&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;
&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;
&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;
&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;
=Age validation=&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;
&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;
&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;
=Number validation= &amp;lt;!--T:126--&amp;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)== &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;
&lt;br /&gt;
&amp;lt;!--T:128--&amp;gt;&lt;br /&gt;
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;
 &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;
=Currency= &amp;lt;!--T:80--&amp;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;
=Validate score= &amp;lt;!--T:86--&amp;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;
=Text validation= &amp;lt;!--T:91--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:92--&amp;gt;&lt;br /&gt;
currently multiple short text doesn&#039;t support minimum or maximum answers. One way around this is to use a long free text type question with a regular expression.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:93--&amp;gt;&lt;br /&gt;
The following test 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 wanted, say five words per line you could change the first and last star/asterisk to {4,} e.g.&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 on between 1 and 5 lines, you can change the content of the last curley 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;
&amp;lt;!--T:105--&amp;gt;&lt;br /&gt;
There are a number of ways of writing time formats. Some of the possible options are 12 hour or 24 hour, with seconds or without. Although it is an option to use the date question type (it can also capture time) you can use &amp;quot;short free text&amp;quot; with one of the validation regular expressions below:&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 appearences) 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;
&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;
&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;
&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;
=Profanity Filter= &amp;lt;!--T:118--&amp;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; &amp;amp; &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 link=&lt;br /&gt;
&lt;br /&gt;
The following website could help you build regular expressions: https://www.regextester.com/. &lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nenesse</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=Using_regular_expressions&amp;diff=133307</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=133307"/>
		<updated>2019-01-07T17:41:36Z</updated>

		<summary type="html">&lt;p&gt;Nenesse: /* French mobile phone number */&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 all work if surrounded with the forward slash.&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;
&#039;&#039;Please add successfully tested regular expressions!&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
Examples (note that these are all one line):&lt;br /&gt;
&lt;br /&gt;
=Important: Regular Expressions in conditions= &amp;lt;!--T:6--&amp;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;
=Email validation= &amp;lt;!--T:8--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:123--&amp;gt;&lt;br /&gt;
Update (12/2018): Since these days domain names can not 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;
=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;
==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 [http://stackoverflow.com/questions/164979/uk-postcode-regex-comprehensive StackOverflow answer] and [http://en.wikipedia.org/wiki/Talk:Postcodes_in_the_United_Kingdom#Regular_Expressions Wikipedia] for more information.&lt;br /&gt;
&lt;br /&gt;
=Phone numbers= &amp;lt;!--T:25--&amp;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:27--&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 eg:&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;
&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;
&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;
&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;
&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;
&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;
&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;
=Age validation=&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;
&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;
&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;
=Number validation= &amp;lt;!--T:126--&amp;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)== &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;
&lt;br /&gt;
&amp;lt;!--T:128--&amp;gt;&lt;br /&gt;
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;
 &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;
=Currency= &amp;lt;!--T:80--&amp;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;
=Validate score= &amp;lt;!--T:86--&amp;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;
=Text validation= &amp;lt;!--T:91--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:92--&amp;gt;&lt;br /&gt;
currently multiple short text doesn&#039;t support minimum or maximum answers. One way around this is to use a long free text type question with a regular expression.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:93--&amp;gt;&lt;br /&gt;
The following test 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 wanted, say five words per line you could change the first and last star/asterisk to {4,} e.g.&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 on between 1 and 5 lines, you can change the content of the last curley 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;
&amp;lt;!--T:105--&amp;gt;&lt;br /&gt;
There are a number of ways of writing time formats. Some of the possible options are 12 hour or 24 hour, with seconds or without. Although it is an option to use the date question type (it can also capture time) you can use &amp;quot;short free text&amp;quot; with one of the validation regular expressions below:&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 appearences) 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;
&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;
&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;
&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;
=Profanity Filter= &amp;lt;!--T:118--&amp;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; &amp;amp; &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 link=&lt;br /&gt;
&lt;br /&gt;
The following website could help you build regular expressions: https://www.regextester.com/. &lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nenesse</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=Using_regular_expressions&amp;diff=133306</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=133306"/>
		<updated>2019-01-07T17:41:20Z</updated>

		<summary type="html">&lt;p&gt;Nenesse: /* French phone number */&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 all work if surrounded with the forward slash.&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;
&#039;&#039;Please add successfully tested regular expressions!&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
Examples (note that these are all one line):&lt;br /&gt;
&lt;br /&gt;
=Important: Regular Expressions in conditions= &amp;lt;!--T:6--&amp;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;
=Email validation= &amp;lt;!--T:8--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:123--&amp;gt;&lt;br /&gt;
Update (12/2018): Since these days domain names can not 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;
=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;
==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 [http://stackoverflow.com/questions/164979/uk-postcode-regex-comprehensive StackOverflow answer] and [http://en.wikipedia.org/wiki/Talk:Postcodes_in_the_United_Kingdom#Regular_Expressions Wikipedia] for more information.&lt;br /&gt;
&lt;br /&gt;
=Phone numbers= &amp;lt;!--T:25--&amp;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:27--&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 eg:&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;
&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;
&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;
&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;
&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;
&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)[679](\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;
=Age validation=&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;
&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;
&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;
=Number validation= &amp;lt;!--T:126--&amp;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)== &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;
&lt;br /&gt;
&amp;lt;!--T:128--&amp;gt;&lt;br /&gt;
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;
 &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;
=Currency= &amp;lt;!--T:80--&amp;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;
=Validate score= &amp;lt;!--T:86--&amp;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;
=Text validation= &amp;lt;!--T:91--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:92--&amp;gt;&lt;br /&gt;
currently multiple short text doesn&#039;t support minimum or maximum answers. One way around this is to use a long free text type question with a regular expression.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:93--&amp;gt;&lt;br /&gt;
The following test 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 wanted, say five words per line you could change the first and last star/asterisk to {4,} e.g.&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 on between 1 and 5 lines, you can change the content of the last curley 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;
&amp;lt;!--T:105--&amp;gt;&lt;br /&gt;
There are a number of ways of writing time formats. Some of the possible options are 12 hour or 24 hour, with seconds or without. Although it is an option to use the date question type (it can also capture time) you can use &amp;quot;short free text&amp;quot; with one of the validation regular expressions below:&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 appearences) 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;
&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;
&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;
&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;
=Profanity Filter= &amp;lt;!--T:118--&amp;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; &amp;amp; &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 link=&lt;br /&gt;
&lt;br /&gt;
The following website could help you build regular expressions: https://www.regextester.com/. &lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nenesse</name></author>
	</entry>
</feed>