<?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>Consultoría informática: obras selectas &#187; javascript</title>
	<atom:link href="http://xand.es/category/javascript/feed" rel="self" type="application/rss+xml" />
	<link>http://xand.es</link>
	<description>¿Tonterías? Todas las que quieras</description>
	<lastBuildDate>Tue, 18 May 2010 19:54:35 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Validar formularios con Javascript</title>
		<link>http://xand.es/validar-formularios-con-javascript_20100402</link>
		<comments>http://xand.es/validar-formularios-con-javascript_20100402#comments</comments>
		<pubDate>Fri, 02 Apr 2010 14:20:37 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Soluciones]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://xand.es/?p=324</guid>
		<description><![CDATA[Validar formularios con JavaScript mediante las expresiones regulares es una solución bastante elegante, fiable y requiere muy poco código en comparación con otras vías.
Por ejemplo, si necesitamos comprobar un número de la tarjeta de crédito podemos hacerlo de la siguiente forma:





var numTarjetaPattern=/^[0-9]{16}$/;  
var numTarjeta=document.getElementById(&#8220;numTarjeta&#8221;);
 if(!numTarjeta.match(numTarjetaPattern)){
 alert(&#8220;Compruebe el número de la tarjeta.&#8221;);
 return false;
 }else{
 return true;
 }




Existe multitud de tutoriales sobre cómo usar [...]]]></description>
			<content:encoded><![CDATA[<p>Validar formularios con JavaScript mediante las expresiones regulares es una solución bastante elegante, fiable y requiere muy poco código en comparación con otras vías.</p>
<p>Por ejemplo, si necesitamos comprobar un número de la tarjeta de crédito podemos hacerlo de la siguiente forma:</p>
<div class="java">
<table border="0" cellspacing="0" cellpadding="3" bgcolor="#ffffff">
<tbody>
<tr><!-- start source code --></p>
<td align="left" valign="top"><code><br />
<span style="color: #000000;">var numTarjetaPattern=/^</span><span style="color: #000000;">[</span><span style="color: #990000;">0</span><span style="color: #000000;">-</span><span style="color: #990000;">9</span><span style="color: #000000;">]{</span><span style="color: #990000;">16</span><span style="color: #000000;">}</span><span style="color: #000000;">$/;</span></code><span style="color: #ffffff;"> </span><span style="color: #000000;"> </span></p>
<p><span style="color: #000000;">var numTarjeta=document.getElementById</span><span style="color: #000000;">(</span><span style="color: #2a00ff;">&#8220;numTarjeta&#8221;</span><span style="color: #000000;">)</span><span style="color: #000000;">;</span></p>
<p><span style="color: #ffffff;"> </span><span style="color: #7f0055;"><strong>if</strong></span><span style="color: #000000;">(</span><span style="color: #000000;">!numTarjeta.match</span><span style="color: #000000;">(</span><span style="color: #000000;">numTarjetaPattern</span><span style="color: #000000;">)){</span></p>
<p><span style="color: #ffffff;"> </span><span style="color: #000000;">alert</span><span style="color: #000000;">(</span><span style="color: #2a00ff;">&#8220;Compruebe el número de la tarjeta.&#8221;</span><span style="color: #000000;">)</span><span style="color: #000000;">;</span></p>
<p><span style="color: #ffffff;"> </span><span style="color: #7f0055;"><strong>return false</strong></span><span style="color: #000000;">;</span></p>
<p><span style="color: #ffffff;"> </span><span style="color: #000000;">}</span><span style="color: #7f0055;"><strong>else</strong></span><span style="color: #000000;">{</span></p>
<p><span style="color: #ffffff;"> </span><span style="color: #7f0055;"><strong>return true</strong></span><span style="color: #000000;">;</span></p>
<p><span style="color: #ffffff;"> </span><span style="color: #000000;">}</span></td>
<p><!-- end source code --></tr>
</tbody>
</table>
</div>
<p>Existe multitud de tutoriales sobre cómo usar expresiones regulares, por ejemplo <a href="http://www.desarrolloweb.com/articulos/2033.php">aquí</a> y <a href="http://boozox.net/php/manual-completo-y-sencillo-de-expresiones-regulares-en-php/">aquí</a>. El problema viene cuando en el campo que tenemos que comprobar aparecen caractéres que no están incluidos en la tabla ASCII. Hablando de castellano estos caractéres primeramente son las letras acentuadas y la eñe. No obstante, en JavaScript se pueden poner como códigos hexadecimales. Abajo pongo la tabla de correspondencia:</p>
<table cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>Á</td>
<td>\uC1</td>
</tr>
<tr>
<td>á</td>
<td>\uE1</td>
</tr>
<tr>
<td>É</td>
<td>\uC9</td>
</tr>
<tr>
<td>é</td>
<td>\uE9</td>
</tr>
<tr>
<td>Í</td>
<td>\uCD</td>
</tr>
<tr>
<td>í</td>
<td>\uED</td>
</tr>
<tr>
<td>Ñ</td>
<td>\uD1</td>
</tr>
<tr>
<td>ñ</td>
<td>\uF1</td>
</tr>
<tr>
<td>Ó</td>
<td>\uD3</td>
</tr>
<tr>
<td>ó</td>
<td>\uF3</td>
</tr>
<tr>
<td>Ú</td>
<td>\uDA</td>
</tr>
<tr>
<td>ú</td>
<td>\uFA</td>
</tr>
<tr>
<td>Ü</td>
<td>\uDC</td>
</tr>
<tr>
<td>ü</td>
<td>\uFC</td>
</tr>
<tr>
<td>¿</td>
<td>\uBF</td>
</tr>
<tr>
<td>¡</td>
<td>\uA1</td>
</tr>
<tr>
<td>€</td>
<td>\u80</td>
</tr>
</tbody>
</table>
<p>Entonces, si queremos usar estas secuencias lo único que tenemos que hacer es incluirlas en el patrón, por ejemplo:</p>
<p>var pattern=/^[\u00f1]{1}$/;</p>
<p>Sólo permitirá un sólo caracter que será la Ñ.</p>
<p>Para permitir todas las letras del castellano posibles, además del espacio se puede usar la siguiente sentencia:</p>
<p>var pattern=/^/^[A-Za-z\s\u00c1\u00e1\u00c9\u00e9\u00cd\u00ed\u00d1\u00f1\u00d3\u00f3\u00da\u00fa\u00dc\u00fc]+$/;$/;</p>
]]></content:encoded>
			<wfw:commentRss>http://xand.es/validar-formularios-con-javascript_20100402/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Seleccionar fecha con jQuery UI Datepicker</title>
		<link>http://xand.es/seleccionar-fecha-con-jquery-ui-datepicker_20090825</link>
		<comments>http://xand.es/seleccionar-fecha-con-jquery-ui-datepicker_20090825#comments</comments>
		<pubDate>Tue, 25 Aug 2009 16:25:36 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Soluciones]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://xand.es/?p=167</guid>
		<description><![CDATA[Hoy en día hay muchas librerías que nos pueden hacer la vida mucho más sencilla cuando se trata de JavaScript. Todos conocemos bibliotecas como jQuery, Prototype y otras. En esta entrada voy a hablar sobre una extensión de la librería jQuery llamada jQuery UI.

Esta biblioteca ofrece varios componentes gráficos que podemos usar en nuestras páginas, [...]]]></description>
			<content:encoded><![CDATA[<p>Hoy en día hay muchas librerías que nos pueden hacer la vida mucho más sencilla cuando se trata de <strong>JavaScript</strong>. Todos conocemos bibliotecas como <strong>jQuery, Prototype</strong> y otras. En esta entrada voy a hablar sobre una extensión de la librería jQuery llamada <strong>jQuery UI</strong>.</p>
<p><img src="http://xand.es/wp-content/uploads/cal.png" alt="jQuery UI Datepicker" /></p>
<p>Esta biblioteca ofrece varios componentes gráficos que podemos usar en nuestras páginas, entre ellos podemos destacar, <strong>datepicker</strong> &#8212; seleccionador de fecha (<strong>calendario</strong>), <strong>dialog</strong> &#8212; ventanas modales, <strong>progressbar</strong> &#8212; barra de progreso y muchos otros. Voy a explicar como podemos usar <strong>datepicker</strong> adaptado al entorno nuestro, es decir, a España con sus correspondientes días de la semana, nombres de meses, etc.</p>
<p>Antes que nada tenemos que <a href="http://docs.jquery.com/Downloading_jQuery">descargar la última versión de jQuery</a> e incluirla en nuestras páginas:</p>
<div align="left" class="java">
<table border="0" cellpadding="3" cellspacing="0" bgcolor="#ffffff">
<tr>
  <!-- start source code --></p>
<td nowrap="nowrap" valign="top" align="left">
    <code><br />
<font color="#000000">&lt;script&nbsp;type=</font><font color="#2a00ff">&#34;text/javascript&#34;&nbsp;</font><font color="#000000">src=</font><font color="#2a00ff">&#34;jquery.js&#34;</font><font color="#000000">&gt;&lt;/script&gt;</font></code></p>
</td>
<p>  <!-- end source code --><br />
   </tr>
</table>
</div>
<p>Una vez que tengamos jQuery instalado, descargamos <strong>jQueryUI</strong> desde esta <a href="http://jqueryui.com/download">página</a>. Como podéis ver ofrecen las versiones completamente personalizadas para cada gusto. Yo aconsejaría descargar la versión de la librería completa, al menos para las pruebas.</p>
<p>Desempaquetamos todos, en este punto vamos a tener tres grupos de ficheros, el propio <strong>JavaScript</strong>, las imágenes y el css, en un principios las imágenes tienen que ir en el directorio /images, no he mirado las opciones para poder cambiar esto, pero estoy casi seguro que se podrá hacer de alguna forma. En cuanto al resto, lo incluímos en la cabecera de la página web.</p>
<div align="left" class="java">
<table border="0" cellpadding="3" cellspacing="0" bgcolor="#ffffff">
<tr>
  <!-- start source code --></p>
<td nowrap="nowrap" valign="top" align="left">
    <code><br />
<font color="#000000">&lt;link&nbsp;type=</font><font color="#2a00ff">&#34;text/css&#34;&nbsp;</font><font color="#000000">href=</font><font color="#2a00ff">&#34;jquery-ui.css&#34;&nbsp;</font><font color="#000000">rel=</font><font color="#2a00ff">&#34;stylesheet&#34;&nbsp;</font><font color="#000000">/&gt;</font><br />
<font color="#ffffff">&nbsp;&nbsp;</font><font color="#000000">&lt;script&nbsp;type=</font><font color="#2a00ff">&#34;text/javascript&#34;&nbsp;</font><font color="#000000">src=</font><font color="#2a00ff">&#34;jquery-ui.js&#34;</font><font color="#000000">&gt;&lt;/script&gt;</font></code></p>
</td>
<p>  <!-- end source code --><br />
   </tr>
</table>
</div>
<p>Una vez hecho esto ya podemos instanciar el datepicker. La forma más sencilla de hacerlo es creado un input de tipo texto:</p>
<div align="left" class="java">
<table border="0" cellpadding="3" cellspacing="0" bgcolor="#ffffff">
<tr>
  <!-- start source code --></p>
<td nowrap="nowrap" valign="top" align="left">
    <code><br />
<font color="#000000">&lt;input&nbsp;type=</font><font color="#2a00ff">&#34;text&#34;&nbsp;</font><font color="#000000">id=</font><font color="#2a00ff">&#34;date-start&#34;&nbsp;</font><font color="#000000">name=</font><font color="#2a00ff">&#34;date-start&#34;&nbsp;</font><font color="#000000">/&gt;</font></code></p>
</td>
<p>  <!-- end source code --><br />
   </tr>
</table>
</div>
<p>Una vez que lo tengamos definido, podemos instanciar el datepicker en el bloque head de la siguiente manera:</p>
<div align="left" class="java">
<table border="0" cellpadding="3" cellspacing="0" bgcolor="#ffffff">
<tr>
  <!-- start source code --></p>
<td nowrap="nowrap" valign="top" align="left">
    <code><br />
<font color="#000000">&lt;script&nbsp;type=</font><font color="#2a00ff">&#34;text/javascript&#34;</font><font color="#000000">&gt;</font><br />
<font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#000000">$</font><font color="#000000">(</font><font color="#000000">function</font><font color="#000000">()&nbsp;{</font><br />
<font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#000000">$</font><font color="#000000">(</font><font color="#2a00ff">&#34;#date-start&#34;</font><font color="#000000">)</font><font color="#000000">.datepicker</font><font color="#000000">({</font><br />
<font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#000000">dateFormat:&nbsp;</font><font color="#ff6100">'dd</font><font color="#000000">/mm/yy</font><font color="#ff6100">',&nbsp;</font><font color="#3f7f5f">//&nbsp;formato&nbsp;de&nbsp;fecha&nbsp;que&nbsp;se&nbsp;usa&nbsp;en&nbsp;Espa&ntilde;a</font><br />
<font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#000000">dayNames:&nbsp;</font><font color="#000000">[</font><font color="#ff6100">'Do</font><font color="#000000">mingo</font><font color="#ff6100">',&nbsp;'Lu</font><font color="#000000">nes</font><font color="#ff6100">',&nbsp;'Ma</font><font color="#000000">rtes</font><font color="#ff6100">',&nbsp;'Mi</font><font color="#000000">&eacute;rcoles</font><font color="#ff6100">',&nbsp;'Ju</font><font color="#000000">eves</font><font color="#ff6100">',&nbsp;'Vi</font><font color="#000000">ernes</font><font color="#ff6100">',&nbsp;'Sa</font><font color="#000000">bado</font><font color="#ff6100">'],&nbsp;</font><font color="#3f7f5f">//&nbsp;d&iacute;as&nbsp;de&nbsp;la&nbsp;semana</font><br />
<font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#000000">dayNamesMin:&nbsp;</font><font color="#000000">[</font><font color="#990000">'D'</font><font color="#000000">,&nbsp;</font><font color="#990000">'L'</font><font color="#000000">,&nbsp;</font><font color="#990000">'M'</font><font color="#000000">,&nbsp;</font><font color="#990000">'X'</font><font color="#000000">,&nbsp;</font><font color="#990000">'J'</font><font color="#000000">,&nbsp;</font><font color="#990000">'V'</font><font color="#000000">,&nbsp;</font><font color="#990000">'S'</font><font color="#000000">]</font><font color="#000000">,&nbsp;</font><font color="#3f7f5f">//&nbsp;d&iacute;as&nbsp;de&nbsp;la&nbsp;semana&nbsp;(versi&oacute;n&nbsp;super-corta)</font><br />
<font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#000000">dayNamesShort:&nbsp;</font><font color="#000000">[</font><font color="#ff6100">'Do</font><font color="#000000">m</font><font color="#ff6100">',&nbsp;'Lu</font><font color="#000000">n</font><font color="#ff6100">',&nbsp;'Ma</font><font color="#000000">r</font><font color="#ff6100">',&nbsp;'Mi</font><font color="#000000">e</font><font color="#ff6100">',&nbsp;'Ju</font><font color="#000000">e</font><font color="#ff6100">',&nbsp;'Vi</font><font color="#000000">e</font><font color="#ff6100">',&nbsp;'Sa</font><font color="#000000">b</font><font color="#ff6100">'],&nbsp;</font><font color="#3f7f5f">//&nbsp;d&iacute;as&nbsp;de&nbsp;la&nbsp;semana&nbsp;(versi&oacute;n&nbsp;corta)</font><br />
<font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#000000">firstDay:&nbsp;</font><font color="#990000">1</font><font color="#000000">,&nbsp;</font><font color="#3f7f5f">//&nbsp;primer&nbsp;d&iacute;a&nbsp;de&nbsp;la&nbsp;semana&nbsp;(Lunes)</font><br />
<font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#000000">maxDate:&nbsp;</font><font color="#7f0055"><b>new&nbsp;</b></font><font color="#000000">Date</font><font color="#000000">()</font><font color="#000000">,&nbsp;</font><font color="#3f7f5f">//&nbsp;fecha&nbsp;m&aacute;xima</font><br />
<font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#000000">minDate:&nbsp;</font><font color="#ff6100">'-2</font><font color="#000000">y</font><font color="#ff6100">',</font><br />
<font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#000000">monthNames:&nbsp;</font><font color="#000000">[</font><font color="#ff6100">'En</font><font color="#000000">ero</font><font color="#ff6100">',&nbsp;'Fe</font><font color="#000000">brero</font><font color="#ff6100">',&nbsp;'Ma</font><font color="#000000">rzo</font><font color="#ff6100">',&nbsp;'Ab</font><font color="#000000">ril</font><font color="#ff6100">',&nbsp;'Ma</font><font color="#000000">yo</font><font color="#ff6100">',&nbsp;'Ju</font><font color="#000000">nio</font><font color="#ff6100">',&nbsp;'Ju</font><font color="#000000">lio</font><font color="#ff6100">',&nbsp;'Ag</font><font color="#000000">osto</font><font color="#ff6100">',&nbsp;'Se</font><font color="#000000">ptiembre</font><font color="#ff6100">',&nbsp;'Oc</font><font color="#000000">tubre</font><font color="#ff6100">',&nbsp;'No</font><font color="#000000">viembre</font><font color="#ff6100">',&nbsp;'Di</font><font color="#000000">ciembre</font><font color="#ff6100">'],&nbsp;</font><font color="#3f7f5f">//&nbsp;meses</font><br />
<font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#000000">monthNamesShort:&nbsp;</font><font color="#000000">[</font><font color="#ff6100">'En</font><font color="#000000">e</font><font color="#ff6100">',&nbsp;'Fe</font><font color="#000000">b</font><font color="#ff6100">',&nbsp;'Ma</font><font color="#000000">r</font><font color="#ff6100">',&nbsp;'Ab</font><font color="#000000">r</font><font color="#ff6100">',&nbsp;'Ma</font><font color="#000000">y</font><font color="#ff6100">',&nbsp;'Ju</font><font color="#000000">n</font><font color="#ff6100">',&nbsp;'Ju</font><font color="#000000">l</font><font color="#ff6100">',&nbsp;'Ag</font><font color="#000000">o</font><font color="#ff6100">',&nbsp;'Se</font><font color="#000000">p</font><font color="#ff6100">',&nbsp;'Oc</font><font color="#000000">t</font><font color="#ff6100">',&nbsp;'No</font><font color="#000000">v</font><font color="#ff6100">',&nbsp;'Di</font><font color="#000000">c</font><font color="#ff6100">'],&nbsp;</font><font color="#3f7f5f">//&nbsp;meses</font><br />
<font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#000000">navigationAsDateFormat:&nbsp;true,</font><br />
<font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#000000">})</font><font color="#000000">;</font><br />
<font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#000000">})</font><font color="#000000">;</font><br />
<font color="#ffffff">&nbsp;&nbsp;</font><font color="#000000">&lt;/script&gt;</font></code></p>
</td>
<p>  <!-- end source code --><br />
   </tr>
</table>
</div>
]]></content:encoded>
			<wfw:commentRss>http://xand.es/seleccionar-fecha-con-jquery-ui-datepicker_20090825/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>
