<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Programador ASP &#187; validar</title>
	<atom:link href="http://programadorasp.com/tag/validar/feed/" rel="self" type="application/rss+xml" />
	<link>http://programadorasp.com</link>
	<description>Programación en Internet</description>
	<lastBuildDate>Fri, 03 Feb 2012 20:09:35 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Validar fechas con expresiones regulares en ASP y Javascript</title>
		<link>http://programadorasp.com/validar-fechas-con-expresiones-regulares-en-asp-y-javascrip/</link>
		<comments>http://programadorasp.com/validar-fechas-con-expresiones-regulares-en-asp-y-javascrip/#comments</comments>
		<pubDate>Wed, 29 Oct 2008 07:59:03 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[expresiones regulares]]></category>
		<category><![CDATA[validar]]></category>
		<category><![CDATA[validar campos]]></category>
		<category><![CDATA[validar fechas]]></category>

		<guid isPermaLink="false">http://www.programadorasp.com/?p=104</guid>
		<description><![CDATA[Continuando con las expresiones regulares, para validar fechas se puede utilizar la siguiente función en ASP: function esValidoFecha&#40;cadena&#41; set expReg = New RegExp expReg.Pattern = &#34;^(((0[1-9]&#124;[12][0-9]&#124;3[01])([/])(0[13578]&#124;10&#124;12)([/])_ (\d{4}))&#124;(([0][1-9]&#124;[12][0-9]&#124;30)([/])(0[469]&#124;11)_ ([/])(\d{4}))&#124;((0[1-9]&#124;1[0-9]&#124;2[0-8])([/])(02)([/])_ (\d{4}))&#124;((29)(\.&#124;-&#124;\/)(02)([/])([02468][048]00))&#124;_ ((29)([/])(02)([/])([13579][26]00))&#124;((29)([/])(02)_ ([/])([0-9][0-9][0][48]))&#124;((29)([/])(02)([/])([0-9]_ [0-9][2468][048]))&#124;((29)([/])(02)([/])([0-9][0-9]_ [13579][26])))$&#34; esValidoFecha = expReg.Test&#40;cadena&#41; set expReg = nothing end function La expresión regular (que se puede poner en una única línea eliminando los [...]
Related posts:<ol>
<li><a href='http://programadorasp.com/validar-campos-y-parametros-con-expresiones-regulares-en-asp/' rel='bookmark' title='Validar campos y parámetros con expresiones regulares en ASP'>Validar campos y parámetros con expresiones regulares en ASP</a></li>
<li><a href='http://programadorasp.com/validar-direcciones-de-e-mail-con-expresiones-regulares-en-asp-y-javascript/' rel='bookmark' title='Validar direcciones de e-mail con expresiones regulares en ASP y Javascript'>Validar direcciones de e-mail con expresiones regulares en ASP y Javascript</a></li>
<li><a href='http://programadorasp.com/validar-direcciones-de-internet-o-urls-con-expresiones-regulares-en-javascript/' rel='bookmark' title='Validar direcciones de Internet o URL&#8217;s con expresiones regulares en Javascript'>Validar direcciones de Internet o URL&#8217;s con expresiones regulares en Javascript</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Continuando con las expresiones regulares, para validar fechas se puede utilizar la siguiente función en ASP:</p>

<div class="wp_syntax"><div class="code"><pre class="asp" style="font-family:monospace;"><span style="color: #0000ff; font-weight: bold;">function</span> esValidoFecha<span style="color: #006600; font-weight:bold;">&#40;</span>cadena<span style="color: #006600; font-weight:bold;">&#41;</span>
  <span style="color: #990099; font-weight: bold;">set</span> expReg <span style="color: #006600; font-weight: bold;">=</span> <span style="color: #0000ff; font-weight: bold;">New</span> RegExp
  expReg.<span style="color: #9900cc;">Pattern</span> <span style="color: #006600; font-weight: bold;">=</span> <span style="color: #cc0000;">&quot;^(((0[1-9]|[12][0-9]|3[01])([/])(0[13578]|10|12)([/])_
                    (\d{4}))|(([0][1-9]|[12][0-9]|30)([/])(0[469]|11)_
                    ([/])(\d{4}))|((0[1-9]|1[0-9]|2[0-8])([/])(02)([/])_
                    (\d{4}))|((29)(\.|-|\/)(02)([/])([02468][048]00))|_
                    ((29)([/])(02)([/])([13579][26]00))|((29)([/])(02)_
                    ([/])([0-9][0-9][0][48]))|((29)([/])(02)([/])([0-9]_
                    [0-9][2468][048]))|((29)([/])(02)([/])([0-9][0-9]_
                    [13579][26])))$&quot;</span>
  esValidoFecha <span style="color: #006600; font-weight: bold;">=</span> expReg.<span style="color: #9900cc;">Test</span><span style="color: #006600; font-weight:bold;">&#40;</span>cadena<span style="color: #006600; font-weight:bold;">&#41;</span>
  <span style="color: #990099; font-weight: bold;">set</span> expReg <span style="color: #006600; font-weight: bold;">=</span> <span style="color: #0000ff; font-weight: bold;">nothing</span>
<span style="color: #990099; font-weight: bold;">end</span> <span style="color: #0000ff; font-weight: bold;">function</span></pre></div></div>

<p>La expresión regular (que se puede poner en una única línea eliminando los _ finales) es un poco larga porque ha de tener en cuenta los días de los meses del año, los años bisiestos,&#8230; Para validar del lado del cliente (antes de enviar el formulario), se puede utilizar el mismo patrón en Javascript:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">function</span> esValidoFecha<span style="color: #009900;">&#40;</span>cadena<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
  strExpReg <span style="color: #339933;">=</span> <span style="color: #339933;">/^</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">0</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">1</span><span style="color: #339933;">-</span><span style="color: #CC0000;">9</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">|</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">12</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">0</span><span style="color: #339933;">-</span><span style="color: #CC0000;">9</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">|</span><span style="color: #CC0000;">3</span><span style="color: #009900;">&#91;</span>01<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#91;</span><span style="color: #339933;">/</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">0</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">13578</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">|</span><span style="color: #CC0000;">10</span><span style="color: #339933;">|</span><span style="color: #CC0000;">12</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#91;</span><span style="color: #339933;">/</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>_
                <span style="color: #009900;">&#40;</span>\d<span style="color: #009900;">&#123;</span><span style="color: #CC0000;">4</span><span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">|</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">1</span><span style="color: #339933;">-</span><span style="color: #CC0000;">9</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">|</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">12</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">0</span><span style="color: #339933;">-</span><span style="color: #CC0000;">9</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">|</span><span style="color: #CC0000;">30</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#91;</span><span style="color: #339933;">/</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">0</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">469</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">|</span><span style="color: #CC0000;">11</span><span style="color: #009900;">&#41;</span>_
                <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#91;</span><span style="color: #339933;">/</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span>\d<span style="color: #009900;">&#123;</span><span style="color: #CC0000;">4</span><span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">|</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">0</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">1</span><span style="color: #339933;">-</span><span style="color: #CC0000;">9</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">|</span><span style="color: #CC0000;">1</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">0</span><span style="color: #339933;">-</span><span style="color: #CC0000;">9</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">|</span><span style="color: #CC0000;">2</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">0</span><span style="color: #339933;">-</span><span style="color: #CC0000;">8</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#91;</span><span style="color: #339933;">/</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span>02<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#91;</span><span style="color: #339933;">/</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>_
                <span style="color: #009900;">&#40;</span>\d<span style="color: #009900;">&#123;</span><span style="color: #CC0000;">4</span><span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">|</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">29</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span>\.<span style="color: #339933;">|-|</span>\<span style="color: #339933;">/</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span>02<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#91;</span><span style="color: #339933;">/</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#91;</span>02468<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span>048<span style="color: #009900;">&#93;</span>00<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">|</span>_
                <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">29</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#91;</span><span style="color: #339933;">/</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span>02<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#91;</span><span style="color: #339933;">/</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">13579</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">26</span><span style="color: #009900;">&#93;</span>00<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">|</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">29</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#91;</span><span style="color: #339933;">/</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span>02<span style="color: #009900;">&#41;</span>_
                <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#91;</span><span style="color: #339933;">/</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">0</span><span style="color: #339933;">-</span><span style="color: #CC0000;">9</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">0</span><span style="color: #339933;">-</span><span style="color: #CC0000;">9</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">48</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">|</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">29</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#91;</span><span style="color: #339933;">/</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span>02<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#91;</span><span style="color: #339933;">/</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">0</span><span style="color: #339933;">-</span><span style="color: #CC0000;">9</span><span style="color: #009900;">&#93;</span>_
                <span style="color: #009900;">&#91;</span><span style="color: #CC0000;">0</span><span style="color: #339933;">-</span><span style="color: #CC0000;">9</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">2468</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span>048<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">|</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">29</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#91;</span><span style="color: #339933;">/</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span>02<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#91;</span><span style="color: #339933;">/</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">0</span><span style="color: #339933;">-</span><span style="color: #CC0000;">9</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">0</span><span style="color: #339933;">-</span><span style="color: #CC0000;">9</span><span style="color: #009900;">&#93;</span>_
                <span style="color: #009900;">&#91;</span><span style="color: #CC0000;">13579</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">26</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>$<span style="color: #339933;">/;</span>
  <span style="color: #000066; font-weight: bold;">return</span> strExpReg.<span style="color: #660066;">test</span><span style="color: #009900;">&#40;</span>cadena<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>En esta función en Javascript sí que es necesario juntar la expresión en una única línea quitando los _ porque de lo contrario no funcionará.</p>
<p><!--[if IE]><iframe frameborder="0" allowTransparency="true" class="addtoany_special_service facebook_like" src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fprogramadorasp.com%2Fvalidar-fechas-con-expresiones-regulares-en-asp-y-javascrip%2F&amp;layout=button_count&amp;show_faces=false&amp;width=75&amp;action=like&amp;colorscheme=light&amp;height=20&amp;ref=addtoany" scrolling="no" style="border:none;overflow:hidden;width:90px;height:21px"></iframe><![endif]--><!--[if !IE]><!--><iframe class="addtoany_special_service facebook_like" src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fprogramadorasp.com%2Fvalidar-fechas-con-expresiones-regulares-en-asp-y-javascrip%2F&amp;layout=button_count&amp;show_faces=false&amp;width=75&amp;action=like&amp;colorscheme=light&amp;height=20&amp;ref=addtoany" scrolling="no" style="border:none;overflow:hidden;width:90px;height:21px"></iframe><!--<![endif]--><!--[if IE]><iframe frameborder="0" allowTransparency="true" class="addtoany_special_service twitter_tweet" src="http://platform.twitter.com/widgets/tweet_button.html?url=http%3A%2F%2Fprogramadorasp.com%2Fvalidar-fechas-con-expresiones-regulares-en-asp-y-javascrip%2F&amp;counturl=http%3A%2F%2Fprogramadorasp.com%2Fvalidar-fechas-con-expresiones-regulares-en-asp-y-javascrip%2F&amp;count=horizontal&amp;text=Validar%20fechas%20con%20expresiones%20regulares%20en%20ASP%20y%20Javascript" scrolling="no" style="border:none;overflow:hidden;width:130px;height:20px"></iframe><![endif]--><!--[if !IE]><!--><iframe class="addtoany_special_service twitter_tweet" src="http://platform.twitter.com/widgets/tweet_button.html?url=http%3A%2F%2Fprogramadorasp.com%2Fvalidar-fechas-con-expresiones-regulares-en-asp-y-javascrip%2F&amp;counturl=http%3A%2F%2Fprogramadorasp.com%2Fvalidar-fechas-con-expresiones-regulares-en-asp-y-javascrip%2F&amp;count=horizontal&amp;text=Validar%20fechas%20con%20expresiones%20regulares%20en%20ASP%20y%20Javascript" scrolling="no" style="border:none;overflow:hidden;width:130px;height:20px"></iframe><!--<![endif]--><!--[if IE]><iframe frameborder="0" allowTransparency="true" class="addtoany_special_service google_plusone" src="https://plusone.google.com/u/0/_/%2B1/fastbutton?url=http%3A%2F%2Fprogramadorasp.com%2Fvalidar-fechas-con-expresiones-regulares-en-asp-y-javascrip%2F&amp;size=medium&amp;count=true" scrolling="no" style="border:none;overflow:hidden;width:90px;height:20px"></iframe><![endif]--><!--[if !IE]><!--><iframe class="addtoany_special_service google_plusone" src="https://plusone.google.com/u/0/_/%2B1/fastbutton?url=http%3A%2F%2Fprogramadorasp.com%2Fvalidar-fechas-con-expresiones-regulares-en-asp-y-javascrip%2F&amp;size=medium&amp;count=true" scrolling="no" style="border:none;overflow:hidden;width:90px;height:20px"></iframe><!--<![endif]--><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fprogramadorasp.com%2Fvalidar-fechas-con-expresiones-regulares-en-asp-y-javascrip%2F&amp;title=Validar%20fechas%20con%20expresiones%20regulares%20en%20ASP%20y%20Javascript" id="wpa2a_2">Compartir / Guardar</a></p><p>Related posts:<ol>
<li><a href='http://programadorasp.com/validar-campos-y-parametros-con-expresiones-regulares-en-asp/' rel='bookmark' title='Validar campos y parámetros con expresiones regulares en ASP'>Validar campos y parámetros con expresiones regulares en ASP</a></li>
<li><a href='http://programadorasp.com/validar-direcciones-de-e-mail-con-expresiones-regulares-en-asp-y-javascript/' rel='bookmark' title='Validar direcciones de e-mail con expresiones regulares en ASP y Javascript'>Validar direcciones de e-mail con expresiones regulares en ASP y Javascript</a></li>
<li><a href='http://programadorasp.com/validar-direcciones-de-internet-o-urls-con-expresiones-regulares-en-javascript/' rel='bookmark' title='Validar direcciones de Internet o URL&#8217;s con expresiones regulares en Javascript'>Validar direcciones de Internet o URL&#8217;s con expresiones regulares en Javascript</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://programadorasp.com/validar-fechas-con-expresiones-regulares-en-asp-y-javascrip/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
	</channel>
</rss>

