<?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>DevTics.com.Mx &#187; Funciones JavaScript</title>
	<atom:link href="http://www.devtics.com.mx/wp/category/banco-de-funciones-javascript/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.devtics.com.mx/wp</link>
	<description></description>
	<lastBuildDate>Sat, 03 Sep 2011 18:59:39 +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>Unir palabras separadas por comas u otro caracter</title>
		<link>http://www.devtics.com.mx/wp/415-unir-palabras-separadas-por-comas-u-otro-caracter/</link>
		<comments>http://www.devtics.com.mx/wp/415-unir-palabras-separadas-por-comas-u-otro-caracter/#comments</comments>
		<pubDate>Tue, 23 Nov 2010 18:25:28 +0000</pubDate>
		<dc:creator>pako</dc:creator>
				<category><![CDATA[Funciones JavaScript]]></category>
		<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://www.devtics.com.mx/wp/?p=415</guid>
		<description><![CDATA[les dejo una función bastante sencilla para cuando necesiten unir diferentes palabras con comas y si un texto es nulo o un espacio en blanco se elimine, esta función nació ya que algún día estuve recuperado campos de una base de datos (país,colonia,ciudad,estado), para formar la dirección tenia que concatenar estas variables tarea fácil el [...]]]></description>
			<content:encoded><![CDATA[<p>les dejo una función bastante sencilla para cuando necesiten unir diferentes palabras con comas y si un texto es nulo o un espacio en blanco se elimine, esta función nació ya que algún día estuve recuperado campos de una base de datos (país,colonia,ciudad,estado), para formar la dirección tenia que concatenar estas variables tarea fácil el problema es que algunas veces unos campos no existían, por lo cual tenia que excluirlo y que no aparecieran &#8220;, ,&#8221; si no solo la lista de palabras que cotenieran algun texto</p>
<pre>
String.joinStrings=function joinStrings(){
 var arr =[],arg, i;
 if(typeof arguments[0] !=&quot;string&quot; &amp;&amp; arguments[0].length){
    for(i=0;i&lt;arguments[0].length;i++){
     if((arg=arguments[0][i])){
        arr[arr.length]=arg;
     }
    }
 }else{
  for(i=0;i&lt;arguments.length-1;i++){
    if((arg=arguments[i])){
        arr[arr.length]=arg;
    }
  }
 }
 return arr.join(arguments[arguments.length]);
}
</pre>
<p>Ejemplo: </p>
<pre>
cad1="hola";
cad2="";
cad3="ok"
cad4=""
alert(String.joinStrings(cad1,cad2,cad3,cad4,","));
alert(String.joinStrings(["hola","mundo","","ok"],","));
</pre>
<p>out:<br />
hola,ok<br />
hola,mundo,ok</p>
]]></content:encoded>
			<wfw:commentRss>http://www.devtics.com.mx/wp/415-unir-palabras-separadas-por-comas-u-otro-caracter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Función date para formatear salida de fechas en JavaScript</title>
		<link>http://www.devtics.com.mx/wp/238-funcion-date-para-formatear-salida-de-fechas-en-javascript/</link>
		<comments>http://www.devtics.com.mx/wp/238-funcion-date-para-formatear-salida-de-fechas-en-javascript/#comments</comments>
		<pubDate>Thu, 18 Mar 2010 23:20:00 +0000</pubDate>
		<dc:creator>pako</dc:creator>
				<category><![CDATA[Funciones JavaScript]]></category>

		<guid isPermaLink="false">http://www.devtics.com.mx/wp/?p=238</guid>
		<description><![CDATA[en PHP existe la función date() la cual nos permite formatear la salida de una fecha, esta función no existe en JavaScript mas si el objeto Date que nos permite trabajar con fechas, ya anteriormente postié una función que creo que si se me hubiera ocurrido antes migrar date de PHP a JavaScript me hubiera [...]]]></description>
			<content:encoded><![CDATA[<p>en PHP existe la función date() la cual nos permite formatear la salida de una fecha, esta función no existe en JavaScript mas si el objeto Date que nos permite trabajar con fechas, ya anteriormente postié una función que creo que si se me hubiera ocurrido antes migrar date de PHP a JavaScript me hubiera ahorrado esa función :P, me faltaron algunas opciones de migrar, ya que por lo pronto no las necesito :P y todavía no entiendo muy bien como para que se usan y como obtenerlas manejando el objeto Date.</p>
<p><b>date(String Format, Date date, JSON dayLabels)</b></p>
<p><b>Descripción:</b><br/><br />
Retorna un String con una fecha formateada según el parámetro Format<br/><br />
 Esta basada en <a href="http://php.net/manual/en/function.date.php">la función date de PHP</a>
 </p>
<p> <b>Parámetros:</b></p>
<ul>
<li>
<p><b>Format:</b> es un string que contiene el patrón que con el cual se deberá formatear<br />
  el objeto date, ejemplo: &#8216;d-m-Y&#8217; o &#8216;D-M-Y h:m:s&#8221;</p>
<p>Se soportan los siguientes parámetros son exactamente los mismo que en PHP:</p>
<ul>
<li><b>Día</b>
<ul>
<li> <b>d</b>: Día del mes 2 dígitos 01 a 31</li>
<li> <b>D:</b> String del día de la semana en tres letras</li>
<li> <b>j:</b> Día del mes sin ceros iniciales</li>
<li> <b>l:</b> Día en del día de la semana</li>
<li> <b>N:</b> numero del día en la semana en formato ISO-8601 (1 para el lunes y 7 para el domingo</li>
<li> <strike><b>* S:</b> terminación en ingles st,nd,rd o th //falta de implementar</strike></li>
<li> <b>w:</b> día de la semana 0 para domingo 6 para sábado</li>
<li> <b>z:</b> el día del año iniciando de 0</li>
</ul>
</li>
<li><b>Semana</b>
<ul>
<li><strike><b>* W:</b> semana en el año // Falta de implementar se encontré algunos bugs en el calculo</strike></li>
</ul>
</li>
<li><b>Mes</b>
<ul>
<li><b>F:</b> Mes en texto completo</li>
<li><b>m:</b> mes del año representado en 2 caracteres  01 &#8211; 12</li>
<li><b>M:</b> nombre corto del mes (3 caracteres)</li>
<li><b>n:</b> mes del año representado en 1 o 12 caracteres (sin cerro iniciales)</li>
<li><b>t:</b> numero de días en el mes 28-31 </li>
</ul>
<li>
       <b>Year</b></p>
<ul>
<li><b>L:</b> cuando un año es bisiesto 1 para bisiesto 0 cuando no lo es</li>
<li><b>Y:</b> el año representado en 4 dígitos 1999 o2003</li>
<li><b>y:</b> el año representado en 2 dígitos 99 o 03</li>
</ul>
</li>
<li>
       <b>Time</b></p>
<ul>
<li><b>a:</b> am o pm</li>
<li><b>A:</b> AM o PM</li>
<li><b>g:</b> hora en 12 si cero inicial 1-12</li>
<li><b>G:</b> hora en 24 sin cero inicial 0-23</li>
<li><b>h:</b> hora en 12 con cero inicial 01-12</li>
<li><b>H:</b> hora en 24 con cero inicial 00 &#8211; 23</li>
<li><b>i:</b> minutos con cero inicial 00-59</li>
<li><b>s:</b> segundos, con cero inicial 00-59</li>
<li><b>u:</b> micro-segundos</li>
</ul>
</ul>
</li>
<li>
<div><b>date:</b> (opcional)es un objeto Date que indique la fecha a formatear<br />
           si se omite se operara con la fecha actual en el reloj del cliente
       </div>
</li>
<li>
<p>JSON dayLabels: (Opcional), es un JSON que nos permite pasar los arreglos con<br />
               las etiquetas de los nombres de los meses y días, por defecto se<br />
               trabaja con los nombres en Ingles
         </p>
<p> Los arreglos que puede contener dayLables son:</p>
<ul>
<li><b>arrMoths:</b> Array con el nombre de los meses por defecto<br />
           ["January", "February", "March", "April",<br />
                                   "May", "June", "July", "August", "September",<br />
                                   "October", "November", "December"];
           </li>
<li><b>arrDays:</b>Array con los nombres de los dias, por defecto:<br />
           ["Sunday", "Monday", "Tuesday", "Wednesday",<br />
                                   "Thursday","Friday", "Saturday"]
           </li>
<li><b>arrDaysShort:</b>Array con los nombres cortos(3 caracteres) de los dias<br />
               por defecto: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri",<br />
                                   "Sat"];
            </li>
<li><b>arrDayMothsShort:</b>Array con los nombres cortos(3 caractres) de los meses<br />
               por defecto: ["Jan", "Feb",<br />
                                   "Mar", "Apr", "May", "Jun", "Jul", "Aug",<br />
                                    "Sep", "Oct", "Nov", "Dec"]
           </li>
</ul>
</li>
</ul>
<p>
  <b>Ejemplos:</b><br/></p>
<pre>
 alert(date('d/m/Y'));
  fecha=new Date(2010,2,7,17,30,5);
  alert(date('d/m/Y',fecha));
  alert(date('F, j Y',fecha));
  labels={
  arrMoths:["Enero", "Febrero", "Marzo", "Abril",
                                  "Mayo", "Junio", "Julio", "Agosto", "Septiember",
                                  "Octube", "Noviember", "Diciember"],
  arrDays:["Domingo", "Lunes", "Martes", "Miercoles", "Jueves", "Viernes", "Sabado"]
  }
  alert(date('l j \de F \de\l Y',fecha,labels));
  alert(date('d/M/Y H:i:s',fecha));
  alert(date('d/M/Y h:i:s A',fecha));
 </pre>
</p>
<div>By JfcoDíaz<br/><br />
  wariodiaz&#64gmail.com<br/><br />
  <a href="http://www.devtics.com.mx">www.devtics.com.mx</a><br/><br />
  17 Marzo del 2010
  </div>
<p> <a href="https://docs.google.com/uc?id=0B0kp6SY_H2NyYTE5ZTY3ZTYtYzM3Zi00ZjVkLTgwYzctYjg5MWYyNWQ5ZjEx&#038;export=download&#038;hl=en" target="_blank">Download</a></p>
<pre>
/**
 * &lt;p&gt;&lt;b&gt;date(String Format, Date date, JSON dayLabels)&lt;/b&gt;&lt;/p&gt;
 *
 * &lt;p&gt;&lt;b&gt;Descripci&oacute;n:&lt;/b&gt;&lt;br/&gt;
 * Retorna un String con una fecha formateada seg&uacute;n el par&aacute;metro Format&lt;br/&gt;
 * Esta basada en &lt;a href=&quot;http://php.net/manual/en/function.date.php&quot;&gt;la funci&oacute;n date de PHP&lt;/a&gt;
 * &lt;/p&gt;
 *
 * &lt;b&gt;Par&aacute;metros:&lt;/b&gt;
 * &lt;ul&gt;
 * &lt;li&gt;
 * &lt;p&gt;&lt;b&gt;Format:&lt;/b&gt; es un string que contiene el patr&oacute;n que con el cual se deber&aacute; formatear
 * el objeto date, ejemplo: &#039;d-m-Y&#039; o &#039;D-M-Y h:m:s&quot;&lt;/p&gt;
 *
 * &lt;p&gt;Se soportan los siguientes par&aacute;metros son exactamente los mismo que en PHP:&lt;/p&gt;
 * &lt;ul&gt;
 *  &lt;li&gt;&lt;b&gt;Dia&lt;/b&gt;
 *      &lt;ul&gt;
 *          &lt;li&gt; &lt;b&gt;d&lt;/b&gt;: D&iacute;a del mes 2 d&iacute;gitos 01 a 31&lt;/li&gt;
 *          &lt;li&gt; &lt;b&gt;D:&lt;/b&gt; String del d&iacute;a de la semana en tres letras&lt;/li&gt;
 *          &lt;li&gt; &lt;b&gt;j:&lt;/b&gt; D&iacute;a del mes sin ceros iniciales&lt;/li&gt;
 *          &lt;li&gt; &lt;b&gt;l:&lt;/b&gt; D&iacute;a en del d&iacute;a de la semana&lt;/li&gt;
 *          &lt;li&gt; &lt;b&gt;N:&lt;/b&gt; numero del d&iacute;a en la semana en formato ISO-8601 (1 para el lunes y 7 para el domingo&lt;/li&gt;
 *          &lt;li&gt; &lt;strike&gt;&lt;b&gt;* S:&lt;/b&gt; terminaci&oacute;n en ingles st,nd,rd o th //falta de implementar&lt;/strike&gt;&lt;/li&gt;
 *          &lt;li&gt; &lt;b&gt;w:&lt;/b&gt; d&iacute;a de la semana 0 para domingo 6 para s&aacute;bado&lt;/li&gt;
 *          &lt;li&gt; &lt;b&gt;z:&lt;/b&gt; el d&iacute;a del a&ntilde;o iniciando de 0&lt;/li&gt;
 *      &lt;/ul&gt;
 *   &lt;/li&gt;
 *   &lt;li&gt;&lt;b&gt;Semana&lt;/b&gt;
 *          &lt;ul&gt;
 *              &lt;li&gt;&lt;strike&gt;&lt;b&gt;* W:&lt;/b&gt; semana en el a&ntilde;o // Falta de implementar se encontr&eacute; algunos bugs en el calculo&lt;/strike&gt;&lt;/li&gt;
 *          &lt;/ul&gt;
 *   &lt;/li&gt;
 *   &lt;li&gt;&lt;b&gt;Mes&lt;/b&gt;
 *      &lt;ul&gt;
 *          &lt;li&gt;&lt;b&gt;F:&lt;/b&gt; Mes en texto completo&lt;/li&gt;
 *          &lt;li&gt;&lt;b&gt;m:&lt;/b&gt; mes del a&ntilde;o representado en 2 caracteres  01 - 12&lt;/li&gt;
 *          &lt;li&gt;&lt;b&gt;M:&lt;/b&gt; nombre corto del mes (3 caracteres)&lt;/li&gt;
 *          &lt;li&gt;&lt;b&gt;n:&lt;/b&gt; mes del a&ntilde;o representado en 1 o 12 caracteres (sin cerro iniciales)&lt;/li&gt;
 *          &lt;li&gt;&lt;b&gt;t:&lt;/b&gt; numero de d&iacute;as en el mes 28-31 &lt;/li&gt;
 *      &lt;/ul&gt;
 *   &lt;li&gt;
 *      &lt;b&gt;Year&lt;/b&gt;
 *      &lt;ul&gt;
 *          &lt;li&gt;&lt;b&gt;L:&lt;/b&gt; cuando un a&ntilde;o es bisiesto 1 para bisiesto 0 cuando no lo es&lt;/li&gt;
 *          &lt;li&gt;&lt;b&gt;Y:&lt;/b&gt; el a&ntilde;o representado en 4 d&iacute;gitos 1999 o2003&lt;/li&gt;
 *          &lt;li&gt;&lt;b&gt;y:&lt;/b&gt; el a&ntilde;o representado en 2 d&iacute;gitos 99 o 03&lt;/li&gt;
 *      &lt;/ul&gt;
 *  &lt;/li&gt;
 *  &lt;li&gt;
 *      &lt;b&gt;Time&lt;/b&gt;
 *      &lt;ul&gt;
 *          &lt;li&gt;&lt;b&gt;a:&lt;/b&gt; am o pm&lt;/li&gt;
 *          &lt;li&gt;&lt;b&gt;A:&lt;/b&gt; AM o PM&lt;/li&gt;
 *          &lt;li&gt;&lt;b&gt;g:&lt;/b&gt; hora en 12 si cero inicial 1-12&lt;/li&gt;
 *          &lt;li&gt;&lt;b&gt;G:&lt;/b&gt; hora en 24 sin cero inicial 0-23&lt;/li&gt;
 *          &lt;li&gt;&lt;b&gt;h:&lt;/b&gt; hora en 12 con cero inicial 01-12&lt;/li&gt;
 *          &lt;li&gt;&lt;b&gt;H:&lt;/b&gt; hora en 24 con cero inicial 00 - 23&lt;/li&gt;
 *          &lt;li&gt;&lt;b&gt;i:&lt;/b&gt; minutos con cero inicial 00-59&lt;/li&gt;
 *          &lt;li&gt;&lt;b&gt;s:&lt;/b&gt; segundos, con cero inicial 00-59&lt;/li&gt;
 *          &lt;li&gt;&lt;b&gt;u:&lt;/b&gt; micro-segundos&lt;/li&gt;
 *      &lt;/ul&gt;
 *    &lt;/ul&gt;
 *
 *  &lt;/li&gt;
 *  &lt;li&gt;
 *      &lt;div&gt;&lt;b&gt;date:&lt;/b&gt; (opcional)es un objeto Date que indique la fecha a formatear
 *          si se omite se operara con la fecha actual en el reloj del cliente
 *      &lt;/div&gt;
 *  &lt;/li&gt;
 *      &lt;li&gt;
 *        &lt;p&gt;JSON dayLabels: (Opcional), es un JSON que nos permite pasar los arreglos con
 *              las etiquetas de los nombres de los meses y d&iacute;as, por defecto se
 *              trabaja con los nombres en Ingles
 *        &lt;/p&gt;
 *        &lt;p&gt; Los arreglos que puede contener dayLables son:&lt;/p&gt;
 *        &lt;ul&gt;
 *          &lt;li&gt;&lt;b&gt;arrMoths:&lt;/b&gt; Array con el nombre de los meses por defecto
 *          [&quot;January&quot;, &quot;February&quot;, &quot;March&quot;, &quot;April&quot;,
 *                                  &quot;May&quot;, &quot;June&quot;, &quot;July&quot;, &quot;August&quot;, &quot;September&quot;,
 *                                  &quot;October&quot;, &quot;November&quot;, &quot;December&quot;];
 *          &lt;/li&gt;
 *          &lt;li&gt;&lt;b&gt;arrDays:&lt;/b&gt;Array con los nombres de los dias, por defecto:
 *          [&quot;Sunday&quot;, &quot;Monday&quot;, &quot;Tuesday&quot;, &quot;Wednesday&quot;,
 *                                  &quot;Thursday&quot;,&quot;Friday&quot;, &quot;Saturday&quot;]
 *          &lt;/li&gt;
 *          &lt;li&gt;&lt;b&gt;arrDaysShort:&lt;/b&gt;Array con los nombres cortos(3 caracteres) de los d&iacute;as
 *              por defecto: [&quot;Sun&quot;, &quot;Mon&quot;, &quot;Tue&quot;, &quot;Wed&quot;, &quot;Thu&quot;, &quot;Fri&quot;,
 *                                  &quot;Sat&quot;];
 *           &lt;/li&gt;
 *          &lt;li&gt;&lt;b&gt;arrDayMothsShort:&lt;/b&gt;Array con los nombres cortos(3 caracteres) de los meses
 *              por defecto: [&quot;Jan&quot;, &quot;Feb&quot;,
 *                                  &quot;Mar&quot;, &quot;Apr&quot;, &quot;May&quot;, &quot;Jun&quot;, &quot;Jul&quot;, &quot;Aug&quot;,
 *                                   &quot;Sep&quot;, &quot;Oct&quot;, &quot;Nov&quot;, &quot;Dec&quot;]
 *          &lt;/li&gt;
 *        &lt;/ul&gt;
 *      &lt;/li&gt;
 *  &lt;/ul&gt;
 * &lt;p&gt;
 * &lt;b&gt;Ejemplos&lt;/b&gt;&lt;br/&gt;
 * alert(date(&#039;d/m/Y&#039;));&lt;br/&gt;
 * fecha=new Date(2010,2,7,17,30,5);&lt;br/&gt;
 * alert(date(&#039;d/m/Y&#039;,fecha));&lt;br/&gt;
 * alert(date(&#039;F, j Y&#039;,fecha));&lt;br/&gt;
 * labels={&lt;br/&gt;
 * arrMoths:[&quot;Enero&quot;, &quot;Febrero&quot;, &quot;Marzo&quot;, &quot;Abril&quot;,&lt;br/&gt;
 *                                 &quot;Mayo&quot;, &quot;Junio&quot;, &quot;Julio&quot;, &quot;Agosto&quot;, &quot;Septiember&quot;,&lt;br/&gt;
 *                                 &quot;Octube&quot;, &quot;Noviember&quot;, &quot;Diciember&quot;],&lt;br/&gt;
 * arrDays:[&quot;Domingo&quot;, &quot;Lunes&quot;, &quot;Martes&quot;, &quot;Miercoles&quot;, &quot;Jueves&quot;, &quot;Viernes&quot;, &quot;Sabado&quot;]&lt;br/&gt;
 * }&lt;br/&gt;
 * alert(date(&#039;l j \de F \de\l Y&#039;,fecha,labels));&lt;br/&gt;
 * alert(date(&#039;d/M/Y H:i:s&#039;,fecha));&lt;br/&gt;
 * alert(date(&#039;d/M/Y h:i:s A&#039;,fecha));&lt;br/&gt;
 *
 * &lt;/p&gt;
 * &lt;div&gt;By JfcoD&iacute;az&lt;br/&gt;
 * wariodiaz&amp;#64gmail.com&lt;br/&gt;
 * &lt;a href=&quot;http://www.devtics.com.mx&quot;&gt; www.devtics.com.mx &lt;/a&gt;&lt;br/&gt;
 * 17 Marzo del 2010
 * &lt;/div&gt;
 */
function date(strFormat,objDate,jsonTexts){
    objDate = (objDate)?objDate:new Date();
    function hr12(objDate,bwith0){
        var hr=objDate.getHours();
        hr = (hr&lt;13)?hr:hr-12;
        return (bwith0)? ((hr&lt;10)?&quot;0&quot;+hr:hr) :hr;
    }
    jsonTexts = (jsonTexts==undefined)?{}:jsonTexts;

    jsonTexts.arrMoths = (jsonTexts.arrMoths)?jsonTexts.arrMoths:
                                   [&quot;January&quot;, &quot;February&quot;, &quot;March&quot;, &quot;April&quot;,
                                   &quot;May&quot;, &quot;June&quot;, &quot;July&quot;, &quot;August&quot;, &quot;September&quot;,
                                   &quot;October&quot;, &quot;November&quot;, &quot;December&quot;];

    jsonTexts.arrDays = (jsonTexts.arrDays)?jsonTexts.arrDays:
                                   [&quot;Sunday&quot;, &quot;Monday&quot;, &quot;Tuesday&quot;, &quot;Wednesday&quot;,
                                   &quot;Thursday&quot;,&quot;Friday&quot;, &quot;Saturday&quot;];

    jsonTexts.arrDaysShort = (jsonTexts.arrDaysShort)?jsonTexts.arrDaysShort:
                                   [&quot;Sun&quot;, &quot;Mon&quot;, &quot;Tue&quot;, &quot;Wed&quot;, &quot;Thu&quot;, &quot;Fri&quot;,
                                   &quot;Sat&quot;];

    jsonTexts.arrDayMothsShort=(jsonTexts.arrDayMothsShort)?
                                   jsonTexts.arrDayMothsShort:[&quot;Jan&quot;, &quot;Feb&quot;,
                                   &quot;Mar&quot;, &quot;Apr&quot;, &quot;May&quot;, &quot;Jun&quot;, &quot;Jul&quot;, &quot;Aug&quot;,
                                   &quot;Sep&quot;, &quot;Oct&quot;, &quot;Nov&quot;, &quot;Dec&quot;];
     var c ,dt , str=&quot;&quot;;
     for(i=0;c=strFormat[i++];){
        switch(c){

            case &quot;\&quot;:str+=strFormat[i++];break;

            case &quot;c&quot;:break;

            case &quot;d&quot;:dt=objDate.getDate();
                      str+=(dt&lt;10)?&quot;0&quot;+dt:dt;
                      break;

            case &quot;D&quot;:
                      str+= jsonTexts.arrDaysShort[ objDate.getDay() ];
                      break;

            case &quot;j&quot;:str+= objDate.getDate(); break;

            case &quot;l&quot;:str+= jsonTexts.arrDays[objDate.getDay()]; break;

            case &quot;N&quot;:
                dt=objDate.getDay();
                str+=(dt==0)?7:dt;
                break;
            case &quot;S&quot;:break;

            case &quot;w&quot;:str+=objDate.getDay();break;

            case &quot;z&quot;:
                    dt=new Date(objDate.getFullYear(), 0, 1);
                    str+= Math.floor(((((objDate.valueOf() - dt.valueOf())/1000)/60)/60)/24);
                    break;
            case &quot;W&quot;:
                //pendiente de implementar
//                    dt = new Date(objDate.getFullYear(),0,1);
//
//                    str+= (Math.ceil(
//                               ( (parseInt(date(&quot;z&quot;,objDate),10))/7)))+
//                                   ((dt.getDay()&gt;0)? -1 : 0);
               //     str+=objDate.getWeekNumber();
                    break;
            case &quot;F&quot;:

                        str+=jsonTexts.arrMoths[ objDate.getMonth() ];
                    break;
            case &quot;m&quot;:
                      dt=objDate.getMonth()+1;
                      str+=(dt&lt;10)?&quot;0&quot;+dt:dt;
                      break;
            case &quot;M&quot;:
                        str+= jsonTexts.arrDayMothsShort[ objDate.getMonth() ];
                     break;
            case &quot;n&quot;:str+=objDate.getMonth()+1;
                     break;
            case &quot;t&quot;:
                switch(objDate.getMonth()+1){
                   case 4: case 6: case 9: case 11:str+=&quot;30&quot;; break;
                   case 2:
                       str+=(date(&quot;L&quot;,objDate)===&quot;1&quot;)? &quot;29&quot; : &quot;28&quot;;
                       break;
                   default :str+=&quot;31&quot;;
                }

                break;
            case &quot;L&quot;:
                    dt=objDate.getFullYear();
                    str+=((dt % 4 == 0 &amp;&amp; dt % 100 != 0) || dt % 400 == 0)?&quot;1&quot;:&quot;0&quot;;
                break;
            case &quot;Y&quot;:
                     str+=objDate.getFullYear();
                     break;
            case &quot;y&quot;:
                     str+= objDate.getFullYear().toString(). substr(2,2);
                    break;
            case &quot;a&quot;:
                    str+=(objDate.getHours()&lt;12)?&#039;am&#039;:&#039;pm&#039;;
                break;
            case &quot;A&quot;:
                    str+=(objDate.getHours()&lt;12)?&#039;AM&#039;:&#039;PM&#039;;
                break;
            case &quot;g&quot;:
                    str+=hr12(objDate);
                break;
            case &quot;G&quot;:
                    str+=objDate.getHours();
                break;
            case &quot;h&quot;:
                    str+=hr12(objDate,true);
                break;
            case &quot;H&quot;:
                    dt=objDate.getHours();
                    str+= (dt&lt;10)? &quot;0&quot;+dt : dt;
                break;
            case &quot;i&quot;:
                    dt=objDate.getMinutes();
                    str+=(dt&lt;10)?&quot;0&quot;+dt:dt;
                break;
            case &quot;s&quot;:
                    dt=objDate.getSeconds();
                    str+=(dt&lt;10)?&quot;0&quot;+dt:dt;
                    break;
            case &quot;u&quot;:
                    str+=objDate.getMilliseconds();
                break;
            default :str+= c;break;
        }
     }
     return str;
}</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.devtics.com.mx/wp/238-funcion-date-para-formatear-salida-de-fechas-en-javascript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>addTimeToDate Sumar/Restar Tiempo a Fechas JavaScript</title>
		<link>http://www.devtics.com.mx/wp/220-addtimetodate-sumar-tiempo-a-fechas-javascript/</link>
		<comments>http://www.devtics.com.mx/wp/220-addtimetodate-sumar-tiempo-a-fechas-javascript/#comments</comments>
		<pubDate>Thu, 11 Mar 2010 18:21:55 +0000</pubDate>
		<dc:creator>pako</dc:creator>
				<category><![CDATA[Funciones JavaScript]]></category>

		<guid isPermaLink="false">http://www.devtics.com.mx/wp/?p=220</guid>
		<description><![CDATA[Date addTimeToDate(int time, String unit, Date date,Boolean referencia) (v1.1) Descripción:Suma o Resta tiempo a una fecha(objeto Date), puede ser usada tanto para agregar como quitar tiempo a una fecha, el tiempo se da en milisegundos, segundos, minutos, horas, días, meses o años Parámetros: Time:Entero con la cantidad de unidades de tiempo a sumar a la [...]]]></description>
			<content:encoded><![CDATA[<div>
       <b>Date addTimeToDate(int time, String unit, Date date,Boolean referencia)</b> (v1.1)
  </div>
<div>
  <b>Descripción</b>:Suma o Resta tiempo a una fecha(objeto Date), puede ser usada tanto para<br />
   agregar como quitar tiempo a una fecha, el tiempo se da en milisegundos,<br />
   segundos, minutos, horas, días, meses o años
  </div>
<div>
   <b>Parámetros:</b></p>
<ul>
<li><b>Time</b>:Entero con la cantidad de unidades de tiempo a sumar a<br />
                  la fecha</li>
<li><b>Unit:</b> String con el tipo de unidades que se agregaran a la fecha
<ul>
<li><b>y</b>: Años</li>
<li><b>M</b>: Meses</li>
<li><b>w</b>: Semanas</li>
<li><b>d</b>: Días</li>
<li><b>h</b>: Horas</li>
<li><b>m</b>: Minutos</li>
<li><b>s</b>: Segundos</li>
<li><b>&#8220;&#8221;</b>: (En blanco o cualquier otro) Milisegundos</li>
</ul>
</li>
<li><b>Date</b>: Objeto Date al que se le sumara el tiempo Indicado</li>
<li><b>dateReference</b>: es un booleano
<ul>
<li><b><i>true</i></b> indica que<br />
             se operará directamente en el objeto Date pasado en el tercer parámetro,<br />
             de igual forma se retorna la referencia al final de su ejecución.</li>
<li><b><i>false</i></b>, la función creara un nuevo objeto Date y lo retornara<br />
               al final de su ejecución sin afectar el objeto Date original
</li>
</ul>
</li>
</ul>
<p> <b>Retorno: </b> Objeto Date, con la nueva fecha resultante de la suma de tiempos
 </div>
<p><a href="http://www.megaupload.com/?d=UUPQZ8KU" target="_blank">Download</a></p>
<pre>
 /**
* &lt;div&gt;
*        &lt;b&gt;Date addTimeToDate(int time, String unit, Date date,Boolean referencia)&lt;/b&gt; (v1.1)
*   &lt;/div&gt;
*   &lt;div&gt;
*   &lt;b&gt;Descripci&oacute;n&lt;/b&gt;:Suma o Resta tiempo a una fecha(objeto Date), puede ser usada tanto para
*    agregar como quitar tiempo a una fecha, el tiempo se da en milisegundos,
*    segundos, minutos, horas, d&iacute;as, meses o a&ntilde;os
*   &lt;/div&gt;
*   &lt;div&gt;
*    &lt;b&gt;Par&aacute;metros:&lt;/b&gt;
*    &lt;ul&gt;
*        &lt;li&gt;&lt;b&gt;Time&lt;/b&gt;:Entero con la cantidad de unidades de tiempo a sumar a
*                   la fecha&lt;/li&gt;
*        &lt;li&gt;&lt;b&gt;Unit:&lt;/b&gt; String con el tipo de unidades que se agregaran a la fecha
*            &lt;ul&gt;
*                &lt;li&gt;&lt;b&gt;y&lt;/b&gt;: A&ntilde;os&lt;/li&gt;
*                &lt;li&gt;&lt;b&gt;M&lt;/b&gt;: Meses&lt;/li&gt;
*                &lt;li&gt;&lt;b&gt;w&lt;/b&gt;: Semanas&lt;/li&gt;
*                &lt;li&gt;&lt;b&gt;d&lt;/b&gt;: D&iacute;as&lt;/li&gt;
*                &lt;li&gt;&lt;b&gt;h&lt;/b&gt;: Horas&lt;/li&gt;
*                &lt;li&gt;&lt;b&gt;m&lt;/b&gt;: Minutos&lt;/li&gt;
*                &lt;li&gt;&lt;b&gt;s&lt;/b&gt;: Segundos&lt;/li&gt;
*                &lt;li&gt;&lt;b&gt;&quot;&quot;&lt;/b&gt;: (En blanco o cualquier otro) Milisegundos&lt;/li&gt;
*            &lt;/ul&gt;
*        &lt;/li&gt;
*        &lt;li&gt;&lt;b&gt;Date&lt;/b&gt;: Objeto Date al que se le sumara el tiempo Indicado&lt;/li&gt;
*        &lt;li&gt;&lt;b&gt;dateReference&lt;/b&gt;: es un booleano
*               &lt;ul&gt;
*              &lt;li&gt;&lt;b&gt;&lt;i&gt;true&lt;/i&gt;&lt;/b&gt; indica que
*              se operar&aacute; directamente en el objeto Date pasado en el tercer par&aacute;metro,
*              de igual forma se retorna la referencia al final de su ejecuci&oacute;n.&lt;/li&gt;
*
*              &lt;li&gt;&lt;b&gt;&lt;i&gt;false&lt;/i&gt;&lt;/b&gt;, la funci&oacute;n creara un nuevo objeto Date y lo retornara
*                al final de su ejecuci&oacute;n sin afectar el objeto Date original
* &lt;/li&gt;
* &lt;/ul&gt;
*        &lt;/li&gt;
*   &lt;/ul&gt;
*  &lt;b&gt;Retorno: &lt;/b&gt; Objeto Date, con la nueva fecha resultante de la suma de tiempos
*  &lt;/div&gt;

* &lt;div&gt;
* By: JFcoDiaz &lt;br/&gt;
* wariodiaz&amp;#64;gmail.com&lt;br/&gt;
* www.devtics.com.mx&lt;br/&gt;
* Licencia GPLv3/MIT
*
* 9 de Mazo del 2010
* Update V1.1
* 20/Jun/2010
* &lt;/div&gt;
*/

function addTimeToDate(time,unit,objDate,dateReference){
    var dateTemp=(dateReference)?objDate:new Date(objDate);
    switch(unit){
        case &#039;y&#039;: dateTemp.setFullYear(objDate.getFullYear()+time); break;
        case &#039;M&#039;: dateTemp.setMonth(objDate.getMonth()+time); break;
        case &#039;w&#039;: dateTemp.setTime(dateTemp.getTime()+(time*7*24*60*60*1000)); break;
        case &#039;d&#039;: dateTemp.setTime(dateTemp.getTime()+(time*24*60*60*1000)); break;
        case &#039;h&#039;: dateTemp.setTime(dateTemp.getTime()+(time*60*60*1000)); break;
        case &#039;m&#039;: dateTemp.setTime(dateTemp.getTime()+(time*60*1000)); break;
        case &#039;s&#039;: dateTemp.setTime(dateTemp.getTime()+(time*1000)); break;
        default : dateTemp.setTime(dateTemp.getTime()+time); break;
    }
    return dateTemp;
}
</pre>
<p>para restar tiempo a la fecha, solo pasa el valor en negativo ;)</p>
<p>Ejemplo:</p>
<pre>
&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.01 Transitional//EN&quot;&gt;
&lt;html&gt;
    &lt;head&gt;
        &lt;title&gt;&lt;/title&gt;
        &lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=UTF-8&quot;&gt;
        &lt;script src=&quot;addTimeToDate.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
    &lt;/head&gt;
    &lt;body&gt;
        &lt;script type=&quot;text/javascript&quot;&gt;
            /* www.devtics.com.mx
             * By Jfco Diaz
             * @fcodiaz
             * 22/06/2010
             * Licencia GPLv3/MIT
             **/
            var hoy=new Date();//se crea el objeto Date a la fecha actual
            function printBr(txt){
                document.write(txt+&quot;&lt;br/&gt;&quot;);
            }
            function printHr(txt){
                document.write(txt+&quot;&lt;hr/&gt;&quot;);
            }
            printHr(&quot;Hoy Es &quot;+hoy);

            printBr(&quot;Hoy + 700000 milisegundos &quot;+addTimeToDate(700000, &#039;&#039;, hoy));
            printHr(&quot;Hoy - 700000 milisegundos &quot;+addTimeToDate(-700000, &#039;&#039;, hoy));

            printBr(&quot;Hoy + 150 segundos &quot;+addTimeToDate(150, &#039;s&#039;, hoy));
            printHr(&quot;Hoy - 150 segundos &quot;+addTimeToDate(-150, &#039;s&#039;, hoy));

            printBr(&quot;Hoy + 10 min  &quot;+addTimeToDate(10, &#039;m&#039;, hoy));
            printHr(&quot;Hoy - 20 min  &quot;+addTimeToDate(-20, &#039;m&#039;, hoy));

            printBr(&quot;Hoy + 2 hrs  &quot;+addTimeToDate(5, &#039;h&#039;, hoy));
            printHr(&quot;Hoy - 5 hrs  &quot;+addTimeToDate(5, &#039;h&#039;, hoy));

            printBr(&quot;Hoy + 5 dias &quot;+addTimeToDate(5, &#039;d&#039;, hoy));
            printHr(&quot;Hoy - 10 dias &quot;+addTimeToDate(-10, &#039;d&#039;, hoy));

            printBr(&quot;Hoy + 2 semanas &quot;+addTimeToDate(2, &#039;w&#039;, hoy));
            printHr(&quot;Hoy - 2 semanas &quot;+addTimeToDate(-2, &#039;w&#039;, hoy));                        

            printBr(&quot;Hoy + 5 mese &quot;+addTimeToDate(5, &#039;M&#039;, hoy));
            printHr(&quot;Hoy - 5 meses  &quot;+addTimeToDate(-5, &#039;M&#039;, hoy));            

            printBr(&quot;Hoy + 12 a&ntilde;o  &quot;+addTimeToDate(12, &#039;y&#039;, hoy));
            printHr(&quot;Hoy - 12 min  &quot;+addTimeToDate(-12, &#039;y&#039;, hoy));

            /* Si se pasa como cuarto par&aacute;metro un true addTimetoDate usa el objetoDate
             * como referencia y modifica el objeto directamente,
             *  -*no crea un nuevo objeto Date
             **/
            printBr(hoy);
            addTimeToDate(5,&#039;d&#039;,hoy,true);
            printBr(hoy);
            /*
             * Si se omite el cuarto par&aacute;metro o se pasa un false(por defecto)
             * addTimeToDate *crear un nuevo objeto* y opera sobre este dejando
             * intacto el objeto original, al final regresa el objetoDate temporal
             * o la referencia al objetDate original seg&uacute;n se indico en el
             * tercer par&aacute;metro
             **/
        &lt;/script&gt;
    &lt;/body&gt;
&lt;/html&gt;
</pre>
<p><a href="http://www.devtics.com.mx/myfiles/ex/ejAddTimeToDate.html" target="_blank">Ver Ejemplo</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.devtics.com.mx/wp/220-addtimetodate-sumar-tiempo-a-fechas-javascript/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Saber si una fecha se encuentra entre dos [JavaScript]</title>
		<link>http://www.devtics.com.mx/wp/201-saber-si-una-fecha-se-encuentra-entre-dos-javascript/</link>
		<comments>http://www.devtics.com.mx/wp/201-saber-si-una-fecha-se-encuentra-entre-dos-javascript/#comments</comments>
		<pubDate>Tue, 09 Mar 2010 23:44:35 +0000</pubDate>
		<dc:creator>pako</dc:creator>
				<category><![CDATA[Funciones JavaScript]]></category>

		<guid isPermaLink="false">http://www.devtics.com.mx/wp/?p=201</guid>
		<description><![CDATA[Aquí les dejo otra función, esta nos sirve para saber si una fecha esta entre un margen de tiempo, no sirve desde saber si un día o una hora se encuentra entre una hora que comprenda un rango de una hora de inicio y una hora de fin /** * betweenDate(dateBegin, dateFinish, dateTest) * * [...]]]></description>
			<content:encoded><![CDATA[<p>Aquí les dejo otra función, esta nos sirve para saber si una fecha esta entre un margen de  tiempo, no sirve desde saber si un día o una hora se encuentra entre una hora que comprenda un rango de una hora de inicio y una hora de fin</p>
<pre></pre>
<p>/**<br />
 * betweenDate(dateBegin, dateFinish, dateTest)<br />
 *<br />
 * retorna true si dateTest se enctra entre dateInicio y dateFinish o bien<br />
 * false si no se encuntra en el margen ya sea que sea una fecha anterior a<br />
 * date Inicio o posterior a dateFinish<br />
 *<br />
 * Parametros:<br />
 * &#8211; dateBegin, objeto Date con la fecha de Inicio<br />
 * &#8211; dateFinish, objeto Date con la fecha de Fin<br />
 * &#8211; dateTest, objeto Date a evaluar si se encuentra en el margen de dateBegin y<br />
 *            dateFinish<br />
 *<br />
 *<br />
 * by: JFcoDiaz<br />
 * wariodiaz@gmail.com<br />
 * @fcodiaz<br />
 * www.devtics.com.mx<br />
 * &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
 * alert(<br />
 *   betweenDate(<br />
 *    new Date(2007,0,1,0,10),<br />
 *    new Date(2007,0,1,0,50),<br />
 *    new Date(2007,0,1,0,51)<br />
 *   )<br />
 * );<br />
 **/<br />
function betweenDate(dateBegin,dateFinish,dateTest){<br />
   return (dateBegin.valueOf()<=dateTest.valueOf() &#038;&#038;<br />
        dateFinish.valueOf()>=dateTest.valueOf());<br />
}<br />
[/javaScript] </p>
]]></content:encoded>
			<wfw:commentRss>http://www.devtics.com.mx/wp/201-saber-si-una-fecha-se-encuentra-entre-dos-javascript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pasar un Datetime MySql a Date JavaScript</title>
		<link>http://www.devtics.com.mx/wp/193-pasar-un-datetime-mysql-a-date-javascript/</link>
		<comments>http://www.devtics.com.mx/wp/193-pasar-un-datetime-mysql-a-date-javascript/#comments</comments>
		<pubDate>Tue, 09 Mar 2010 20:12:26 +0000</pubDate>
		<dc:creator>pako</dc:creator>
				<category><![CDATA[Funciones JavaScript]]></category>

		<guid isPermaLink="false">http://www.devtics.com.mx/wp/?p=193</guid>
		<description><![CDATA[Función para pasar un string con un datetime de MySQL a un objeto Date de JavaScript /*** * MySqlDatetime2jsDate(strDatetime) * * retorna un objeto Date a partir de una cadena de fecha con formato datetime * (&#34;yyyy-mm-dd hh:mm:ss&#34;) de MySQL * * By Jfco Díaz * www.devtics.com.mx * wariodiaz@gmail.com * 9 Mazo 2010 */ /*** [...]]]></description>
			<content:encoded><![CDATA[<p>Función para pasar un string con un datetime de MySQL a un objeto Date de JavaScript</p>
<pre>
/***
 * MySqlDatetime2jsDate(strDatetime)
 *
 * retorna un objeto Date a partir de una cadena de fecha con formato datetime
 * (&quot;yyyy-mm-dd hh:mm:ss&quot;) de MySQL
 *
 * By Jfco Díaz
 * www.devtics.com.mx
 * wariodiaz@gmail.com
 * 9 Mazo 2010
 */
/***
 * MySqlDatetime2jsDate(strDatetime)
 *
 * retorna un objeto Date a partir de una cadena de fecha con formato datetime
 * ("yyyy-mm-dd hh:mm:ss") de MySQL
 *
 * By Jfco Díaz
 * www.devtics.com.mx
 * wariodiaz@gmail.com
 * 9 Mazo 2010
 */
function MySqlDatetime2jsDate(strDatetime){
    strDatetime = strDatetime.split(" ");
    var date = strDatetime[0].split("-");
    var time = strDatetime[1].split(":");
    return new Date(date[0], date[1]-1, date[2], time[0], time[1], time[2]);
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.devtics.com.mx/wp/193-pasar-un-datetime-mysql-a-date-javascript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>keyValue jQuery y mi reseña sobre jQuery</title>
		<link>http://www.devtics.com.mx/wp/149-keyvalue-jquery/</link>
		<comments>http://www.devtics.com.mx/wp/149-keyvalue-jquery/#comments</comments>
		<pubDate>Fri, 19 Feb 2010 21:44:51 +0000</pubDate>
		<dc:creator>pako</dc:creator>
				<category><![CDATA[Funciones JavaScript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[jQuery Plugins]]></category>
		<category><![CDATA[Mi Opinion de...]]></category>

		<guid isPermaLink="false">http://www.devtics.com.mx/wp/?p=149</guid>
		<description><![CDATA[En estos días he estado trabajando y aprendiendo jQuery, si bien ya he postulado mi punto de vista sobre el uso de frameworks, y lo sigo manteniendo, la gran mayorías de las cosas que JQuery hace las se hacer desde JavaScript puro, y por motivos de trabajo indague en esta librería, que si bien se [...]]]></description>
			<content:encoded><![CDATA[<p>En estos días he estado trabajando y aprendiendo jQuery, si bien ya he postulado mi punto de vista sobre el uso de frameworks, y lo sigo manteniendo, la gran mayorías de las cosas que JQuery hace las se hacer desde JavaScript puro, y por motivos de trabajo indague en esta librería, que si bien se presta a mucho copy paste y de mas fanfaronada(hacer lo que no se hacer gracias al framework) que es lo que me desagrada de lo que hay alrededor de estas herramientas.</p>
<p>bueno lo que me agrado de jQuery a contra de los que a muchos le llama la atención(las animaciones), lo que creo que son sumamente buenos y una excelente idea son sus selectores que si no me equivoco de alli viene su nombre &#8220;Query&#8221;, en esta forma de trabajar la verdad jQuery se lleva un 100% ya que ayuda mucho y simplifica el manejo del DOM, solo que hay que tener cuidad de no llamar mucho a los selectores si no tratar de mantener enlaces de memoria a ellos ya que cada que se llama a $() se genera un nuevo objeto jQuery y para que rehacer algo que ya tenemos en memoria, y esto afecta el rendimiento de la aplicación (se hacen algoritmos de mas)  aunque esto pasa en todo los framework si no se saben controlar .</p>
<p>otra cosa que me agrado fue la extensión en plugin, y aquí es donde me gustaría enfocarme ahora, me gusta mucho crear librerías, en este post les traigo mi primer plugin para jQuery, es un plugin el cual nos permite colocar un filtro a campos de textos para filtrar los caracteres que se permitirán en el campo de texto, por ejemplo para evitar que el usuario ingrese letras en un campo solo numero, o caracteres no permitidos en un password etc.</p>
<p>sin mas les dejo el código fuente de mi primer plugin<br />
Download: <a href="http://www.megaupload.com/?d=JVHRIHMK" target="_blank">http://www.megaupload.com/?d=JVHRIHMK</a></p>
<pre>
/*
 * $.fn.keyValue(exp,maxlength)
 * By JFco Diaz.
 * wariodiaz@gmail.com
 * www.devtics.com.mx
 * 19/02/2010
 * plugin jQuery, para evaluar una entrada en un input x expresión regular
 * y poder discriminar el carácter si no se encuentra en la expresión regular
 * evitando su inserccion
 *
 * @param expOarr, es un arreglo de caracteres y/o enteros que representen
 * el charCode del carácter a permitir, o bien una expresión regular que indique
 * en el patrón los caracteres que se permitirán, ademas opcionalmente coloca un
 * máximo de caracteres permitidos
 * Nota: la evaluación es del carácter que se esta tecleado no sobre la cadena ingresada
 *
 * ejemplo:
 *
 * $(".soloNumeros").keyValue(/[0-9]/);
 *
 * $(".soloNumeros").keyValue([0,1,2,3,4,5,6,7,8,9]/);
 *
 * ambos solo permiten la entrada de números o solo caracteres en minúsculas
 *
 * $(".soloNumeros").keyValue(/[a-z]/);
 *
 * o solo numeros y "-" y solo 10 caracteres
 *
 * $(".soloNumeros").keyValue([0,1,2,3,4,5,6,7,8,9,'-'],10);
 *
 * o con expresión regular
 *
 * $(".soloNumeros").keyValue(/[0-9-]/,10);
 *
 * */
(function ($){
    $.fn.keyValue=function(expOarr,maxLength){
        try{
            var $this=$(this);
            if(maxLength)
                $this.attr("maxlength",maxLength);
            $this.keypress(function(event){
                try{
                    var key = event.which;
                    if(key==0||event.charCode==0)return true;
                    if(maxLength &#038;&#038; this.value.length==maxLength)return false;
                    if(typeof expOarr ==='object'&#038;&#038; expOarr.length!=undefined){
                        for(var i=0;(exp=expOarr[i++]);)
                            if(key==((typeof exp=="number")? exp : exp.charCodeAt(0)))
                                return true;
                        return false;
                    }
                    return expOarr.test(String.fromCharCode(key));
                }catch(e){
                    alert(e.message);
                }
            });
        }catch(e){
            alert(e.message);
        }
        return $this;
    }
})(jQuery);
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.devtics.com.mx/wp/149-keyvalue-jquery/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

