Expresiones regulares con javascript

Introducciรณn a las expresiones regulares en JavaScript

Las expresiones regulares son una herramienta muy poderosa en el mundo de la programaciรณn. En JavaScript, las expresiones regulares se utilizan para buscar y reemplazar patrones en cadenas de texto. En este artรญculo, vamos a explorar cรณmo crear y utilizar expresiones regulares en JavaScript.

Una expresiรณn regular es una secuencia de caracteres que define un patrรณn de bรบsqueda. Se pueden utilizar para buscar patrones especรญficos en una cadena de texto, como nรบmeros de telรฉfono, direcciones de correo electrรณnico o cualquier otro patrรณn que se pueda imaginar.

Para crear una expresiรณn regular en JavaScript, se utiliza el constructor RegExp. Puede ser llamado con una cadena de patrรณn como argumento, o con una cadena de patrรณn y una bandera como argumentos. Las banderas son opcionales y se utilizan para modificar el comportamiento de la expresiรณn regular.

Creando una expresiรณn regular en JavaScript

Una de las caracterรญsticas mรกs รบtiles de las expresiones regulares es la capacidad de utilizar caracteres especiales. Estos caracteres son conocidos como metacaracteres y tienen un significado especial en las expresiones regulares. Algunos de los metacaracteres mรกs comunes son:

  • \d: Coincide con cualquier dรญgito.
  • \w: Coincide con cualquier caracter alfanumรฉrico.
  • \s: Coincide con cualquier caracter de espacio en blanco.
  • . : Coincide con cualquier caracter excepto una nueva lรญnea.
  • ^: Coincide con el comienzo de una lรญnea.
  • $: Coincide con el final de una lรญnea.

Por ejemplo, si queremos buscar todos los nรบmeros de telรฉfono en una cadena de texto, podrรญamos utilizar la expresiรณn regular /\d{3}-\d{3}-\d{4}/. Esta expresiรณn regular buscarรญa un patrรณn de tres dรญgitos, seguido de un guiรณn, tres dรญgitos mรกs, un guiรณn y cuatro dรญgitos.

Una vez creada la expresiรณn regular, podemos utilizar varios mรฉtodos para trabajar con ella. El mรฉtodo test() se utiliza para buscar un patrรณn en una cadena de texto y devuelve true si el patrรณn es encontrado y false si no lo es. El mรฉtodo exec() se utiliza para buscar un patrรณn en una cadena de texto y devuelve un objeto con informaciรณn sobre la coincidencia, como el รญndice de la primera coincidencia y el valor de la coincidencia. Por รบltimo, el mรฉtodo match() es similar al mรฉtodo exec(), pero se utiliza con cadenas de texto en lugar de expresiones regulares.

Ademรกs de buscar patrones en una cadena de texto, tambiรฉn podemos utilizar expresiones regulares para reemplazar patrones. El mรฉtodo replace() se utiliza para reemplazar un patrรณn en una cadena de texto con otro valor. Por ejemplo, podrรญamos utilizar la expresiรณn regular /\d{3}-\d{3}-\d{4}/ para buscar nรบmeros de telรฉfono en una cadena de texto y reemplazarlos con ยซtelรฉfono ocultoยป para proteger la privacidad de los usuarios.

Otra caracterรญstica รบtil de las expresiones regulares en JavaScript son las banderas. Las banderas son opciones que se pasan al constructor RegExp para modificar el comportamiento de la expresiรณn regular. Algunas de las banderas mรกs comunes son:

  • i: Hace que la expresiรณn regular sea insensible a mayรบsculas y minรบsculas.
  • g: Busca todas las coincidencias en lugar de detenerse despuรฉs de la primera coincidencia.
  • m: Hace que ^ y $ coincidan con el comienzo y el final de cada lรญnea, en lugar de solo con el comienzo y el final de la cadena de texto completa.

Por ejemplo, si queremos buscar todas las ocurrencias de ยซjavascriptยป en una cadena de texto, independientemente de si estรก escrita en mayรบsculas o minรบsculas, podrรญamos utilizar la expresiรณn regular /javascript/i.

Utilizando metacaracteres en expresiones regulares

En resumen, las expresiones regulares son una herramienta poderosa en JavaScript para buscar y reemplazar patrones en cadenas de texto. Se pueden crear utilizando el constructor RegExp y trabajar con ellas utilizando mรฉtodos como test(), exec() y match(). Tambiรฉn se pueden utilizar banderas para modificar el comportamiento de las expresiones regulares. Con un poco de prรกctica y conocimiento de los metacaracteres y banderas disponibles, las expresiones regulares se pueden utilizar para resolver una amplia variedad de problemas de procesamiento de cadenas de texto en JavaScript.

REGEX en JavaScript

Buscando patrones con expresiones regulares en JavaScript

Ejemplos

  1. Validaciรณn de correo electrรณnico: /^[a-zA-Z0-9.!#$%&’+/=?^_`{|}~-]+@a-zA-Z0-9?(?:.a-zA-Z0-9?)$/
  2. Validaciรณn de nรบmero de telรฉfono: /^(?:(?:+?1\s*(?:[.-]\s*)?)?(?:(\s*([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9])\s*)|([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9]))\s*(?:[.-]\s*)?)?([2-9]1[02-9]|[2-9][02-9]1|[2-9][02-9]{2})\s*(?:[.-]\s*)?([0-9]{4})(?:\s*(?:#|x.?|ext.?|extension)\s*(\d+))?$/
  3. Validaciรณn de URL: /^(?:(?:https?|ftp)://)?(?:(?!(?:10|127)(?:.\d{1,3}){3})(?!(?:169.254|192.168)(?:.\d{1,3}){2})(?!172.(?:1[6-9]|2\d|3[0-1])(?:.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]-)[a-z\u00a1-\uffff0-9]+)(?:.(?:[a-z\u00a1-\uffff0-9]-)[a-z\u00a1-\uffff0-9]+)(?:.(?:[a-z\u00a1-\uffff]{2,})))(?::\d{2,5})?(?:/\S)?$/i
  4. Validaciรณn de fecha (dd/mm/yyyy): /^(0?[1-9]|[12][0-9]|3[01])//\d\d$/
  5. Validaciรณn de fecha (
  6. mm/dd/yyyy): /^(0?[1-9]|1[012])//\d\d$/ 6. Validaciรณn de hora (hh:mm): /^([01]?[0-9]|2[0-3]):[0-5][0-9]$/
  7. Validaciรณn de nรบmero: /^\d+$/
  8. Validaciรณn de nombre de usuario (letras, nรบmeros y ยซยซ): /^[a-zA-Z0-9]+$/
  9. Validaciรณn de contraseรฑa (mรญnimo 8 caracteres, al menos una letra mayรบscula, una letra minรบscula y un nรบmero): /^(?=.[A-Za-z])(?=.\d)[A-Za-z\d]{8,}$/
  10. Extraer nรบmeros de una cadena de texto: /\d+/g

Ten en cuenta que estas expresiones regulares son ejemplos generales y pueden ser modificadas para adaptarse a tus necesidades especรญficas. Tambiรฉn es importante tener en cuenta que las expresiones regulares pueden ser complejas y requieren un cierto nivel de conocimiento para ser utilizadas correctamente.


Deja una respuesta

Tu direcciรณn de correo electrรณnico no serรก publicada. Los campos obligatorios estรกn marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cรณmo se procesan los datos de tus comentarios.