miércoles, 11 de febrero de 2015

Método javascript que acepte solo números decimales


Validar solo números javascript
Este método de javascript lo uso para validar los campos de texto que requieren que sean de solo números decimales y que valide también el número de dígitos enteros la parte decimal después del punto aquí va el método.
//autor: @drincastX
//retorna un numero o un punto, si el tamaño del length es igual a nEntero y no existe el punto "." se asigna un punto automaticamente
//cumple con el número de decimales nDecimal, solo seran ese número de decimales
function SoloNumerosDecimales3(e, valInicial, nEntero, nDecimal) {
    var obj = e.srcElement || e.target;
    var tecla_codigo = (document.all) ? e.keyCode : e.which;
    var tecla_valor = String.fromCharCode(tecla_codigo);
    var patron2 = /[\d.]/;
    var control = (tecla_codigo === 46 && (/[.]/).test(obj.value)) ? false : true;
    var existePto = (/[.]/).test(obj.value);

    //el tab
    if (tecla_codigo === 8)
        return true;

    if (valInicial !== obj.value) {
        var TControl = obj.value.length;
        if (existePto === false && tecla_codigo !== 46) {
            if (TControl === nEntero) {
                obj.value = obj.value + ".";
            }
        }

        if (existePto === true) {
            var subVal = obj.value.substring(obj.value.indexOf(".") + 1, obj.value.length);

            if (subVal.length > 1) {
                return false;
            }
        }

        return patron2.test(tecla_valor) && control;
    }
    else {
        if (valInicial === obj.value) {
            obj.value = '';
        }
        return patron2.test(tecla_valor) && control;
    }
}
Expliquemos los parámetros de entrada, el parámetro e es el evento que se genera según una acción, en este caso es para la pulsación de una tecla sobre un input tipo texto, valInicial es un parámetro de verificación, en mi caso los input tipo texto se cargan con un valor por defecto que es 0.0, es como un valor comodin que lo q indica es que no se va a validar ti esta ese valor en el input, nEntero es el número de dígitos de la parte entera, nDecimal son los dígitos después del punto; un ejemplo para los dos últimos parámetros es si nEntero = 3 y nDecimal = 3, se pueden generar los siguientes números: 123.111 o, 1.123 o, 111,2.
Sobre el código, primeo se obtiene el objeto que genero el evento por ejemplo puede ser el control input, luego se captura que tecla ha sido presionada, luego se crean unos patrones de expresiones regulares, uno para verificar que solo sea un numero o un punto, y otra para validar que se ha presionado la tecla punto, luego de tener los valores que se han presionado y los de validación procedemos a analizarlos.
La primera validación es si se ha presionado la tecla tab, en cuyo caso no se realiza nada solo retornamos la ejecución.
Luego verificamos que el valor del objeto (el input) no tenga como valor nuestro valor de validación valInicial, la siguiente validación es para que se agregue en punto automáticamente cuando se ha alcanzado el máximo de número de dígitos enteros (nEntero), La siguiente validación es para que solo exista un punto en el número que se va a digitar y deje digitar la parte decimal.

Para que funcione en una caja de texto (input tipo text), debería usar el evento onkeypress para el llamado del método.

Este seria el HTML.

<input id="txtCantidad" type="text" maxlength="7" onkeypress="return
value='0.0' SoloNumerosDecimales3(event, '0.0', 4, 2);" />

Aqui esta el ejemplo.



Se vale opinar.

domingo, 14 de diciembre de 2014

Herramientas Web para Desarrolladores y Diseñadores

Existen muchas herramienta para el desarrollo de paginas web, o desarrollo de aplicaciones, haciendo referencia en cuanto a código fuente así como de diseño de aplicaciones, voy a resaltar algunas paginas que uso para tal motivo, por ejemplo cuando no estoy desarrollo en mi casa o mi oficina donde tengo instalados los programas que uso normalmente para tal propósito, la idea es ir agregando según vea conveniente y según las recomendaciones que me realicen, comencemos.

Convertir archivos

Una pagina web que uso para realizar conversión de archivos es http://archivo.online-convert.com, cuando estoy diseñando una pagina y necesito realizar conversiones de imágenes ya sea porque el diseñador me paso solo un tipo de formato de la imagen, uso esta pagina para realizar dicha conversión, por ejemplo algunas imagenes como iconos me gusta convertirlos a svg aunque hay veces que los resultados no son los deseados por ejemplo con los archivos svg y en cuanto al tamaño del archivo a convertir, esta página nos ofrece un gran número de formatos de tipo de archivo a convertir, como son crear y convertir archivos comprimidos, archivos de audio, tipos de documentos, y hasta video, etc.

Tambien uso otra pagina mobe (http://www.mobilefish.com/) para este tipo de propositos, eso si tiene algunas restricciones en sus servicios, pero ademas de realizar conversion de algunos tipos de archivos tambien contiene informacion valiosa, tutoriales, noticas, la verdad ofrece un gran contenido para desarrollo y diseño, en esta pagina si he obtenido buenos resultados al convertir imagenes al formato svg (http://www.mobilefish.com/services/image2svg/image2svg.php), muy recomendada.


Manejo de colores y paletas

Hay veces que necesitamos realizar una combinación de colores para algún diseño, debo decir que es una tarea que consume mucho tiempo a mi por ejemplo para tomar estas decisiones tengo que debatir filosóficamente, psicológicamente, matemáticamente bueno en fin me consume mucho tiempo, hay herramientas que realizan una combinación de colores que pueden ser usadas para el diseño por ejemplo de una página web o un documento, me ha ayudado mucho en cuanto a ahorrar tiempo, si soy programador y estos los conceptos como combinacion de colores se me hacen complejos de asimilar, para esto uso Kuler o bueno antes se llamaba así ahora se llama Adobe Color CC, ojala no lo cierren al público.

Tambien uso paletton.com (que buen nombre), me parece genial esta pagina, su interfaz de usuario sobre todo en la combinacion de colores se hace un poco compleja pera nada que superes con probar unas cuantas veces y lo mejor de todo esque te permite ver ejemplos de una pagina web con la paleta de colores creada, y lo que es mejor aun en el ejemplo puedes modificar la saturacion, el brillo, contraste, etc, y tienen un dehacer y reacer, endefinitiva una muy buena herramienta, mas que recomendado.


Manejo de fuentes (tipos de archivo letra)

Hay algunas paginas que uso con el propósito de obtener tipos de archivos de fuentes a partir de uno en especifico o simplemente para convertir los tipos de fuentes, uno de estos es elconvertidor, es una página que sirve para convertir varios tipos de archivos; pero he obtenido buenos resultados al convertir archivos de tipo de fuentes, como por ejemplo cuando el diseñador de milagro te pasa la fuente con la que ha hecho los matachos de la web, y te la pasa el archivo de las fuente en formato ttf, pero esta esta corrupta o con errores y no la puedes convertir a ningún otro tipo, pues esta pagina me salvo una vez con un tipo de fuente con dicho problema y me la convirtió a formato otf y lo bueno es que la paso sin errores.

También usó una muy buena fontsquirrel, esta pagina es genial, porque  de un archivo de fuente te genera un paquete con varios tipos de archivo de fuente, en si las mas usadas, y lo que me encanta es que te genera el archivo del tipo de fuente para manejarlo como archivo svg (scalable vector graphic), muy recomendada esta pagina.

También hasta el momento hay un gran aliado y es google con todos sus productos, como drive para hostear archivos y hasta una página web, google docs, google maps google site para crear una página básica, y algo que me ha gustado mucho son las google apps, realmente son geniales y hay muchas aplicaciones de desarrollo algunas muy buenas de pago y alguna freeware, pero de esto hablaré en otro post mas dedicado a los servicios de google así como de google cloud platform esta última me ha parecido genial algo muy potente y al alcance de todos hasta el momento, ¿porque hasta el momento? porque hasta el momento (2014-12-14) los servicios gratuitos que ofrecen están habilitados y porque simplemente ellos deciden hasta cuando dejan sus servicios de forma gratuita.