Mostrando entradas con la etiqueta expresion regular. Mostrar todas las entradas
Mostrando entradas con la etiqueta expresion regular. Mostrar todas las entradas

martes, 13 de mayo de 2014

Expresiones Regulares

1. Validar una URL

¿Quieres saber si una dirección web es válida? No hay problema con esta expresión regular lo tendremos muy fácil:
  1. /^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \?=.-]*)*\/?$/  

2. Validar un E-mail

En muchas ocasiones necesitaremos saber si un e-mail con el que se trata de registrar un usuario es válido:
  1. ^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$  

3. Comprobar la seguridad de una contraseña

Para aquellos que necesitáis sugerir / comprobar la fortaleza de una contraseña:
  1. (?=^.{8,}$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$  
De esta forma comprobaremos:
  • Contraseñas que contengan al menos una letra mayúscula.
  • Contraseñas que contengan al menos una letra minúscula.
  • Contraseñas que contengan al menos un número o caracter especial.
  • Contraseñas cuya longitud sea como mínimo 8 caracteres.
  • Contraseñas cuya longitud máxima no debe ser arbitrariamente limitada.

4. Validar un número de teléfono

Con este snippet se validarán todos los número de teléfono pertenecientes a los listados en la Wikipedia:
  1. ^\+?\d{1,3}?[- .]?\(?(?:\d{2,3})\)?[- .]?\d\d\d[- .]?\d\d\d\d$  

5. Validar número de tarjeta de crédito

Ahora que tan de moda está el e-commerce seguro que esto le vendrá bien a más de uno:
  1. ^((67\d{2})|(4\d{3})|(5[1-5]\d{2})|(6011))(-?\s?\d{4}){3}|(3[4,7])\ d{2}-?\s?\d{6}-?\s?\d{5}$  

6. Recoger ID de un vídeo de Youtube

Si necesitas recoger el ID de un vídeo de Youtube en sus múltiples combinaciones, esta es tu expresión regular:
  1. /http:\/\/(?:youtu\.be\/|(?:[a-z]{2,3}\.)?youtube\.com\/watch(?:\?|#\!)v=)([\w-]{11}).*/gi  

7. Validar todas las etiquetas de imagen sin cerrar

Ahora que prácticamente todos empleamos xHTML es interesante comprobar que todas nuestras etiquetas de imagen están correctamente cerradas:
  1. ]+)(\s*[^\/])>>  

8. Validar una dirección IP

Si necesitas validar una dirección IP introducida por un usuario, esto te será de gran ayuda:
  1. /^(([1-9]?[0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]).){3}([1-9]?[0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/  

9. Validar código postal

En muchas ocasiones necesitamos recoger en los formularios de alta el código postal:
  1. ^([1-9]{2}|[0-9][1-9]|[1-9][0-9])[0-9]{3}$  

10. Validar un nombre de usuario

Si por ejemplo quisiésemos validar un nombre de usuario con un mínimo de 4 caracteres y un máximo de 15 haríamos lo siguiente:
  1. /^[a-z\d_]{4,15}$/i  
Además el nombre estaría utilizando sólo caracteres de la A-z y números.

11. Validar un cadena de texto incluyendo tildes y espacios

Si por ejemplo quisiésemos validar un nombre de usuario con un mínimo de 4 caracteres y un máximo de 15 haríamos lo siguiente:
  1. /^[a-zA-ZÑñáéíóúÁÉÍÓÚ0-9[:space:]]*$/ 
Util para nombres de personas o lugares.
(.*)\<\/title\>/",$str,$title);<br>            return $title[1];<br>    } </font> <br></p> </div> <div> fuente: <a href="http://web.ontuts.com/snippets/10-expresiones-regulares-imprescindibles-en-desarrollo-web/" target="_blank">http://web.ontuts.com/<wbr>snippets/10-expresiones-<wbr>regulares-imprescindibles-en-<wbr>desarrollo-web/</a></div>

miércoles, 3 de abril de 2013

Eliminar caracteres especiales con PostgreSQL

aqui les dejo un query que me envio un amigo, la consulta elimina los caracteres especiales y solo deja letras a-zA-Z y numeros 0-9 usando expresiones regulares. ejecuten la consulta y vean el resultado!
select regexp_replace
('$wan<>tó&or-+,;emove#speci#%&al~\¡?\{[]}''''chars123…..789', '[^a-zA-Z0-9]', '', 'g')
y listo!

martes, 7 de septiembre de 2010

PostgreSQL: funcion para dividir cadenas a partir de expresiones regulares

la funcion regexp_split_to_table y regexp_split_to_array Dividide una cadena usando expresiones regulares POSIX como el delimitador.

El sigueinte ejemplo divide una cadena de texto utilizando como delimitador 'espacio' para separar las palabras y devolver un arreglo de postgres.
select regexp_split_to_array('hola mundo! que tal!',E'\\s+') as x
y el resultado
{hola,mundo!,que,tal!}

El sigueinte ejemplo divide una cadena de texto utilizando como delimitador 'espacio' para separar las palabras y devolver un recorset que contiene una fila para cada palabra
select regexp_split_to_table('hola mundo como estas',E'\\s+') as x
y el resultado es:
"hola"
"mundo"
"como"
"estas"
puedes cambiar la expresion regular E'\\s+' (que por lo q entiendo son espacios en blanco) por estas otras '[^0-9]+' '[^A-Z]+' '[^A-Z]*' '[^a-z]*' o cualquier otra que utilices, pruebalo y observa los resultados.
Utilidad: imagina que quieres crear usuarios con el primer caracter del nombre y el apellido concatenado a partir de tu tabla de personal de tu sistema administrativo entonces usas esto:
select cedula,nombre,apellido,substring(nombre from 1 for 1) ||
(select regexp_split_to_table(apellido,E'\\s+') as x limit 1) as login,
md5('123456'),1 as status from personal where status = 1 order by cedula
Luego toca verificar la unicidad de los login's de la tabla... y listo...