Sunteți pe pagina 1din 3

Expresiones regulares en JavaScript

In JavaScript on 09/12/2011 by Esteban Olate Etiquetado: Expresiones Regulares, JavaScript

Las expresiones regulares son un mecanismo bastante potente con el cual se pueden
manipular cadenas de caracteres, se pueden realizar búsquedas por patrón y reemplazos
de cadena, consiste en establecer un patrón (Ejemplo: solo letras, solo números, palabra
en específica, etc…) el cual luego se podrá utilizar ya sea para reemplazar una cadena o
buscar el patrón dentro de la misma. Las expresiones regulares en JavaScript se basan en
las de Perl, por lo que son muy parecidas. JavaScript provee dos formas de crear una
expresión regular, a través de un objeto, el objeto RegExp, y a través de una sintaxis
especialmente pensada para ello (Crear un String con el siguiente formato: “/<patrón>/”.).
A continuación una lista de los caracteres, los más usados, que pueden constituir una
expresión regular en JavaScript:

Comodines Significado Ejemplo


Marca de
\ carácter /\.com/; Busca la cadena “.com”.
especial
Comienzo de
^ /^a/; Cadenas que comienzan con ‘a’.
una línea
Final de una
$ /a$/; Cadenas que terminen con ‘a’.
línea
Cualquier
carácter
. /^….$/; Cadenas de 4 caracteres.
(menos salto
de línea)
Indica
| /^a|^1/; Cadenas que comiencen con ‘a’ o con ‘1’.
opciones
Agrupar
() /(abc123)/; Busca la cadena ‘abc123’;
caracteres
Conjunto de
[] caracteres /[a-z]/; Busca una letra de la ‘a’ a la ‘z’.
opcionales.
Modificadores Significado Ejemplo
Repetir 0 o
* /1*234/; Buscaría: “234”,”1234″,”11234″,etc.
más veces
Repetir 1 o
+ /1+234/; Buscaría: “1234”,”11234″,”111234″,etc.
más veces
? 1 o 0 veces /h?ola/; Buscaría: “hola”,”ola”.
Exactamente
{n} /1{2}234/; Buscaría: “11234”;
n veces
Al menos n
{n,} /1{2,}234/; Buscaría: “11234”,”111234″,”1111234″,etc.
veces
Entre n y m
{n,m} /1{2,3}234/; Buscaría: “11234”,”111234″.
veces
Especiales Significado Ejemplo
\d Un dígito. /\d/; Busca un dígito del ‘0’ al ‘9’.
\D Alfabético. /\D/; Busca cualquier caracter que no sea un número.
Cualquier
\w /\w/; Busca un caracter alfanumérico incluyendo el ‘_’.
alfanumérico,
equivalente a
[a-zA-Z0-9_
]
\W Opuesto a \w /\W/; Busca cualquier caracter que no sea alfanumérico ni ‘_’.
Carácter tipo
\s /12\s34/; Buscaría “12 34”.
espacio
\S Opuesto a \s /12\S34/; Buscaría “1234”.
Flags Significado Modo de uso
Explora la
g cadena
completa
No distinguir
entre
i
mayúsculas y
minúsculas Las Flags se utilizan al final del patrón después de cerrarlo con ‘/’,
Ejemplos de uso:”/[a-z]/i”; Buscaría una letra mayúscula o minúscula.
Permite usar
Ejemplo:
m varios ^ y $
“Hola”,”hola”,”HOLA”,etc…”/[a-z]*/ix”; Buscaría letras mayúsculas
en el patrón
o minúsculas ignorando los espacios en la cadena. Ejemplo:
Incluye el “Ho la”, “ho la”, “HO LA”,etc…
salto de linea
s
en el
comodín ‘.’
Ignora los
x espacios
en el patrón
Ahora aquí les dejo unas expresiones regulares y la forma de validar y reemplazar cadenas
con JavaScript:

/* Funcion que reemplaza (borra) los espacios en blanco del inicio


* y final de una cadena. Ejemplo de uso:
* la cadena ” hola ” al usar la función trim(” hola “);
* resultaría “hola”.
*/
function trim(cadena){
var expresionRegular = /^\s+|\s+$/g;
return cadena.replace(expresionRegular, “”);
}
/* Función que valida si la cadena contiene solo números.
* Ejemplo de uso:
* Al usar validaSoloNumerico(“1234”) : retorna True.
* Al usar validaSoloNumerico(“a123”) : retorna False.
*/
function validaSoloNumerico(cadena){
var patron = /^\d*$/;
if(!cadena.search(patron))
return true;
else
return false;
}
/* Función que valida si la cadena contiene solo números.
* Ejemplo de uso:
* Al usar validaSoloTexto(“abcd”) : retorna True.
* Al usar validaSoloTexto(“1abc”) : retorna False.
*/
function validaSoloTexto(cadena){
var patron = /^[a-zA-Z]*$/;
// En caso de querer validar cadenas con espacios usar: /^[a-zA-
Z\s]*$/
if(!cadena.search(patron))
return true;
else
return false;
}
/* Función que valida si el correo es tiene un formato valido.
* Ejemplo de uso:
* Al usar validaCorreoElectronico(“aa@aa.cl”) : retorna True.
* Al usar validaCorreoElectronico(“aa@@aa.cl”) : retorna False.
* Al usar validaCorreoElectronico(“@aa.cl”) : retorna False.
* Al usar validaCorreoElectronico(“aa@.cl”) : retorna False.
* Al usar validaCorreoElectronico(“aa@cl”) : retorna False.
* Al usar validaCorreoElectronico(“aa@aa”) : retorna False.
* etc…
*/
function validaCorreoElectronico(correoElectronico){
var patron = /^([a-z]+[a-z1-9._-]*)@{1}([a-z1-9\.]{2,})\.([a-
z]{2,3})$/;
if(!correoElectronico.search(patron))
return true;
else
return false;
}

S-ar putea să vă placă și