miércoles, 17 de julio de 2013

RegExp (Expresiones regulares en javascript)

Hola a todos,

hoy les traje una herramienta aun mas útil que las anteriores puesta, hoy les hablare de RegExp esta gran herramienta hace que podamos manejar expresiones regulares a nivel de cliente en la web.

Pero primero, ¿que son las expresiones regulares?.

Las expresiones regulares son un patrón que describe un conjunto de cadenas, bueno eso suena un poco complicado al principio, tampoco puedo ponerme a hablar de expresiones regulares, seria un post muy largo, hay muchos libros al respecto. Pero resumiendolo, podríamos decir que las expresiones regulares es una forma mas simple de reconocer un patrón, un ejemplo fácil seria:


Supongamos que le pidamos al cliente ingresar unos códigos de unos productos, los códigos tienen un patrón de 3 números, 1 letra y 2 números, es decir, algo así: 252T24, como  podríamos saber si el código que esta ingresando el usuario es un código valido, hay muchas formas de equivocarse escribiendo esos códigos, y asi si lo hacemos del lado del servidor haríamos un query innecesario a la base de datos, ya que a mi parecer, los querys que llegan a la base de datos tienen que ser querys 100% seguro que están bien.

Para eso tenemos el objeto de javascript RegExp que nos hace la facilidad de poder generar patrones para comparación, en el ejemplo pasado, la expresión regular seria algo así: "[1-4][0-7][0-7][A-Z][0-9][0-9]"(pueden leer un libro de expresiones regulares, o algo al respecto en libro referente a compiladores), en ese caso usamos el objeto RegExp asi:
var patt1 = new RegExp("[1-4][0-7][0-7][A-Z][0-9][0-9]");

y podemos usar el metodo .test(), para compararlo con otro string.

Les anexo un ejemplo que compara ese tipo de códigos con lo que el usuario ingresa en un editText, pueden descargarlo por aquí 

Y pueden ver el ejemplo sin descargar aquí


Bueno les recomiendo averiguar mas sobre expresiones regulares, así podemos certificar patrones y hacer mejor aun nuestros clientes.

Hasta luego!

PD: El ejemplo solo agarra letras mayúsculas



No hay comentarios:

Publicar un comentario