<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://wiki.owasp.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Christopher+Hendrix</id>
		<title>OWASP - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.owasp.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Christopher+Hendrix"/>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php/Special:Contributions/Christopher_Hendrix"/>
		<updated>2026-05-29T14:53:51Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.27.2</generator>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_Validation_Regex_Repository&amp;diff=114686</id>
		<title>OWASP Validation Regex Repository</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_Validation_Regex_Repository&amp;diff=114686"/>
				<updated>2011-07-27T21:33:46Z</updated>
		
		<summary type="html">&lt;p&gt;Christopher Hendrix: Typo in french digitwords. Cing -&amp;gt; Cinq&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre style=&amp;quot;overflow:scroll&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt; &lt;br /&gt;
&lt;br /&gt;
  &amp;lt;regex&amp;gt;&lt;br /&gt;
  	&amp;lt;name&amp;gt;url&amp;lt;/name&amp;gt;&lt;br /&gt;
  	&amp;lt;pattern&amp;gt;&amp;lt;![CDATA[^((((https?|ftps?|gopher|telnet|nntp)://)|(mailto:|news:))(%[0-9A-Fa-f]{2}|[-()_.!~*';/?:@&amp;amp;=+$,A-Za-z0-9])+)([).!';/?:,][[:blank:]])?$]]&amp;gt;&amp;lt;/pattern&amp;gt;&lt;br /&gt;
  	&amp;lt;description&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
  &amp;lt;/regex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;regex&amp;gt;&lt;br /&gt;
  	&amp;lt;name&amp;gt;IP&amp;lt;/name&amp;gt;&lt;br /&gt;
  	&amp;lt;pattern&amp;gt;&amp;lt;![CDATA[^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$]]&amp;gt;&amp;lt;/pattern&amp;gt;&lt;br /&gt;
  	&amp;lt;description&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
  &amp;lt;/regex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;regex&amp;gt;&lt;br /&gt;
  	&amp;lt;name&amp;gt;e-mail&amp;lt;/name&amp;gt;&lt;br /&gt;
  	&amp;lt;pattern&amp;gt;&amp;lt;![CDATA[^[\w\-\+\&amp;amp;\*]+(?:\.[\w\-\_\+\&amp;amp;\*]+)*@(?:[\w-]+\.)+[a-zA-Z]{2,7}$]]&amp;gt;&amp;lt;/pattern&amp;gt;&lt;br /&gt;
  	&amp;lt;description&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
  &amp;lt;/regex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;regex&amp;gt;&lt;br /&gt;
  	&amp;lt;name&amp;gt;safetext&amp;lt;/name&amp;gt;&lt;br /&gt;
  	&amp;lt;pattern&amp;gt;&amp;lt;![CDATA[^[a-zA-Z0-9\s.\-]+$]]&amp;gt;&amp;lt;/pattern&amp;gt;&lt;br /&gt;
  	&amp;lt;description&amp;gt;Lower and upper case letters and all digits&amp;lt;/description&amp;gt;&lt;br /&gt;
  &amp;lt;/regex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;regex&amp;gt;&lt;br /&gt;
  	&amp;lt;name&amp;gt;date&amp;lt;/name&amp;gt;&lt;br /&gt;
  	&amp;lt;pattern&amp;gt;&amp;lt;![CDATA[^(?:(?:(?:0?[13578]|1[02])(\/|-|\.)31)\1|(?:(?:0?[1,3-9]|1[0-2])(\/|-|\.)(?:29|30)\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})$|^(?:0?2(\/|-|\.)29\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))$|^(?:(?:0?[1-9])|(?:1[0-2]))(\/|-|\.)(?:0?[1-9]|1\d|2[0-8])\4(?:(?:1[6-9]|[2-9]\d)?\d{2})$]]&amp;gt;&amp;lt;/pattern&amp;gt;&lt;br /&gt;
  	&amp;lt;description&amp;gt;Date in US format with support for leap years&amp;lt;/description&amp;gt;&lt;br /&gt;
  &amp;lt;/regex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;regex&amp;gt;&lt;br /&gt;
  	&amp;lt;name&amp;gt;creditcard&amp;lt;/name&amp;gt;&lt;br /&gt;
  	&amp;lt;pattern&amp;gt;&amp;lt;![CDATA[^((4\d{3})|(5[1-5]\d{2})|(6011)|(7\d{3}))-?\d{4}-?\d{4}-?\d{4}|3[4,7]\d{13}$]]&amp;gt;&amp;lt;/pattern&amp;gt;&lt;br /&gt;
  	&amp;lt;description&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
  &amp;lt;/regex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;regex&amp;gt;&lt;br /&gt;
  	&amp;lt;name&amp;gt;password&amp;lt;/name&amp;gt;&lt;br /&gt;
  	&amp;lt;pattern&amp;gt;&amp;lt;![CDATA[^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{4,8}$]]&amp;gt;&amp;lt;/pattern&amp;gt;&lt;br /&gt;
  	&amp;lt;description&amp;gt;4 to 8 character password requiring numbers and both lowercase and uppercase letters&amp;lt;/description&amp;gt;&lt;br /&gt;
  &amp;lt;/regex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;regex&amp;gt;&lt;br /&gt;
  	&amp;lt;name&amp;gt;English_digitwords&amp;lt;/name&amp;gt;&lt;br /&gt;
  	&amp;lt;pattern&amp;gt;&amp;lt;![CDATA[^(zero|one|two|three|four|five|six|seven|eight|nine)$]]&amp;gt;&amp;lt;/pattern&amp;gt;&lt;br /&gt;
  	&amp;lt;description&amp;gt;The English words representing the digits 0 to 9&amp;lt;/description&amp;gt;&lt;br /&gt;
  &amp;lt;/regex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;regex&amp;gt;&lt;br /&gt;
  	&amp;lt;name&amp;gt;English_daywords&amp;lt;/name&amp;gt;&lt;br /&gt;
  	&amp;lt;pattern&amp;gt;&amp;lt;![CDATA[^(Mo|Tu|We|Th|Fr|Sa|Su)$]]&amp;gt;&amp;lt;/pattern&amp;gt;&lt;br /&gt;
  	&amp;lt;description&amp;gt;English 23 character abbreviations for the days of the week&amp;lt;/description&amp;gt;&lt;br /&gt;
  &amp;lt;/regex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
  &amp;lt;regex&amp;gt;&lt;br /&gt;
  	&amp;lt;name&amp;gt;English_monthwords&amp;lt;/name&amp;gt;&lt;br /&gt;
  	&amp;lt;pattern&amp;gt;&amp;lt;![CDATA[^(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)$]]&amp;gt;&amp;lt;/pattern&amp;gt;&lt;br /&gt;
  	&amp;lt;description&amp;gt;English 3 character abbreviations for the months&amp;lt;/description&amp;gt;&lt;br /&gt;
  &amp;lt;/regex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;regex&amp;gt;&lt;br /&gt;
  	&amp;lt;name&amp;gt;French_digitwords&amp;lt;/name&amp;gt;&lt;br /&gt;
  	&amp;lt;pattern&amp;gt;&amp;lt;![CDATA[^(z[eé]ro|un|deux|trois|quatre|cinq|six|sept|huit|neuf)$]]&amp;gt;&amp;lt;/pattern&amp;gt;&lt;br /&gt;
  	&amp;lt;description&amp;gt;The Frensh words representing the digits 0 to 9&amp;lt;/description&amp;gt;&lt;br /&gt;
  &amp;lt;/regex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;regex&amp;gt;&lt;br /&gt;
  	&amp;lt;name&amp;gt;German_digitwords&amp;lt;/name&amp;gt;&lt;br /&gt;
  	&amp;lt;pattern&amp;gt;&amp;lt;![CDATA[^(null|eins|zwei|drei|vier|f(ue|ü)nf|sechs|sieben|acht|neun)$]]&amp;gt;&amp;lt;/pattern&amp;gt;&lt;br /&gt;
  	&amp;lt;description&amp;gt;The German words representing the digits 0 to 9&amp;lt;/description&amp;gt;&lt;br /&gt;
  &amp;lt;/regex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;regex&amp;gt;&lt;br /&gt;
  	&amp;lt;name&amp;gt;Spanish_digitwords&amp;lt;/name&amp;gt;&lt;br /&gt;
  	&amp;lt;pattern&amp;gt;&amp;lt;![CDATA[^(cero|uno|dos|tres|cuatro|cinco|seis|siete|ocho|nueve)$]]&amp;gt;&amp;lt;/pattern&amp;gt;&lt;br /&gt;
  	&amp;lt;description&amp;gt;The Spanish words representing the digits 0 to 9&amp;lt;/description&amp;gt;&lt;br /&gt;
  &amp;lt;/regex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;regex&amp;gt;&lt;br /&gt;
  	&amp;lt;name&amp;gt;US_zip&amp;lt;/name&amp;gt;&lt;br /&gt;
  	&amp;lt;pattern&amp;gt;&amp;lt;![CDATA[^\d{5}(-\d{4})?$]]&amp;gt;&amp;lt;/pattern&amp;gt;&lt;br /&gt;
  	&amp;lt;description&amp;gt;US zip code with optional dash-four&amp;lt;/description&amp;gt;&lt;br /&gt;
  &amp;lt;/regex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;regex&amp;gt;&lt;br /&gt;
  	&amp;lt;name&amp;gt;US_phone&amp;lt;/name&amp;gt;&lt;br /&gt;
  	&amp;lt;pattern&amp;gt;&amp;lt;![CDATA[^\D?(\d{3})\D?\D?(\d{3})\D?(\d{4})$]]&amp;gt;&amp;lt;/pattern&amp;gt;&lt;br /&gt;
  	&amp;lt;description&amp;gt;US phone number with or without dashes&amp;lt;/description&amp;gt;&lt;br /&gt;
  &amp;lt;/regex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;regex&amp;gt;&lt;br /&gt;
  	&amp;lt;name&amp;gt;US_state&amp;lt;/name&amp;gt;&lt;br /&gt;
  	&amp;lt;pattern&amp;gt;&amp;lt;![CDATA[^(AE|AL|AK|AP|AS|AZ|AR|CA|CO|CT|DE|DC|FM|FL|GA|GU|HI|ID|IL|IN|IA|KS|KY|LA|ME|MH|MD|MA|MI|MN|MS|MO|MP|MT|NE|NV|NH|NJ|NM|NY|NC|ND|OH|OK|OR|PW|PA|PR|RI|SC|SD|TN|TX|UT|VT|VI|VA|WA|WV|WI|WY)$]]&amp;gt;&amp;lt;/pattern&amp;gt;&lt;br /&gt;
  	&amp;lt;description&amp;gt;Two letter state abbreviations&amp;lt;/description&amp;gt;&lt;br /&gt;
  &amp;lt;/regex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;regex&amp;gt;&lt;br /&gt;
  	&amp;lt;name&amp;gt;US_ssn&amp;lt;/name&amp;gt;&lt;br /&gt;
  	&amp;lt;pattern&amp;gt;&amp;lt;![CDATA[^\d{3}-\d{2}-\d{4}$]]&amp;gt;&amp;lt;/pattern&amp;gt;&lt;br /&gt;
  	&amp;lt;description&amp;gt;9 digit social security number with dashes&amp;lt;/description&amp;gt;&lt;br /&gt;
  &amp;lt;/regex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;!-- Some additional examples that have not been vetted&lt;br /&gt;
  &lt;br /&gt;
       // HTML HEX CODE   ^#?([a-f]|[A-F]|[0-9]){3}(([a-f]|[A-F]|[0-9]){3})?$&lt;br /&gt;
       // FLOATING POINT   ^[-+]?[0-9]+[.]?[0-9]*([eE][-+]?[0-9]+)?$&lt;br /&gt;
       // PERSON NAME   ^[a-zA-Z]+(([\'\,\.\- ][a-zA-Z ])?[a-zA-Z]*)*$&lt;br /&gt;
       // MAC ADDRESS  ^([0-9a-fA-F][0-9a-fA-F]:){5}([0-9a-fA-F][0-9a-fA-F])$&lt;br /&gt;
       // GUID    ^[A-Z0-9]{8}-[A-Z0-9]{4}-[A-Z0-9]{4}-[A-Z0-9]{4}-[A-Z0-9]{12}$&lt;br /&gt;
       // IP ADDRESS  ^\b((25[0-5]|2[0-4]\d|[01]\d\d|\d?\d)\.){3}(25[0-5]|2[0-4]\d|[01]\d\d|\d?\d)\b$&lt;br /&gt;
       // IP ADDRESS (^\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b$&lt;br /&gt;
       // REASONABLE DOMAIN NAME   ^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,6}$&lt;br /&gt;
       // RFC 1918 NON ROUTABLE IP   ^(((25[0-5]|2[0-4][0-9]|19[0-1]|19[3-9]|18[0-9]|17[0-1]|17[3-9]|1[0-6][0-9]|1[1-9]|[2-9][0-9]|[0-9])\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9]))|(192\.(25[0-5]|2[0-4][0-9]|16[0-7]|169|1[0-5][0-9]|1[7-9][0-9]|[1-9][0-9]|[0-9]))|(172\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|1[0-5]|3[2-9]|[4-9][0-9]|[0-9])))\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$&lt;br /&gt;
       // VALID WINDOWS FILENAME  ^(?!^(PRN|AUX|CLOCK\$|NUL|CON|COM\d|LPT\d|\..*)(\..+)?$)[^\x00-\x1f\\?*:\&amp;quot;;|/]+$&lt;br /&gt;
       // Java Classname  ^(([a-z])+.)+[A-Z]([a-z])+$&lt;br /&gt;
       //  ANY PLATFORM FILENAME   ^(([a-zA-Z]:|\\)\\)?(((\.)|(\.\.)|([^\\/:\*\?&amp;quot;\|&amp;lt;&amp;gt;\. ](([^\\/:\*\?&amp;quot;\|&amp;lt;&amp;gt;\. ])|([^\\/:\*\?&amp;quot;\|&amp;lt;&amp;gt;]*[^\\/:\*\?&amp;quot;\|&amp;lt;&amp;gt;\. ]))?))\\)*[^\\/:\*\?&amp;quot;\|&amp;lt;&amp;gt;\. ](([^\\/:\*\?&amp;quot;\|&amp;lt;&amp;gt;\. ])|([^\\/:\*\?&amp;quot;\|&amp;lt;&amp;gt;]*[^\\/:\*\?&amp;quot;\|&amp;lt;&amp;gt;\. ]))?$&lt;br /&gt;
  --&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Other Regex References=&lt;br /&gt;
&lt;br /&gt;
'''Regex Library Site'''&lt;br /&gt;
&lt;br /&gt;
[http://regexlib.com/ http://regexlib.com/]: A site that has a HUGE library of regular expressions and other regex resources&lt;br /&gt;
&lt;br /&gt;
'''Regex Construction Tool'''&lt;br /&gt;
&lt;br /&gt;
[http://www.ultrapico.com/Expresso.htm http://www.ultrapico.com/Expresso.htm]: A free regex construction tool&lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP Validation Project]]&lt;br /&gt;
[[Category:OWASP Application Security Verification Standard Project]]&lt;br /&gt;
[[Category:How To]]&lt;/div&gt;</summary>
		<author><name>Christopher Hendrix</name></author>	</entry>

	</feed>