16.5.07

Expresiones regulares en Javascript

En Javascript se pueden utilizar expresiones regulares para controlar el ingreso a datos, aunque por la complegidad de las mismas, muchos progamadores no las utilizan. Aquellos que estén familiarizados con el editor VI de Unix o el gVim, que es la versión para Windows, no tienen mayores problemas para utilizar las expresiones regulares. Estas expresiones, también, son conocidas por aquellos que manejan el editor en linea de Unix llamado sed.

Acá intentare dejarles algunas de las que más utilizo, aunque debo decirles que he visto algunas realmente complicadad pero bien efectivas.

Una de las formas de utilización de las expresiones regulares es con el método test. Una forma simple de su utilización la muestra el siguiente ejemplo. El navegador imprimirá true si la palabra web se encuentra en el texto web ar.

document.write(/web/.test('web ar'));

Pero comencemos a complicar las cosas. Las expresiones regulares tienen algunos caracteres reservados que hacen las veces de modificadores en su forma de actuar. Entre ellos tenemos el signo ^ y el signo $ que indican el rango de caracteres en que se buscará. El signo ^ indica "comenzar desde el principio" y $ significa "revisar hasta el final". En el siguiente ejemplo se buscará si un string comienza con una letra determinada:

//Retornara true
var bFound = /^j/.test('julio');
alert(bFound);

En el siguiente ejemplo, el signo $ hará que se revise si la cadena pasada como parámetro a test termina con el caracter indicado:

//retornará true
var bFound = /o$/.test('julio');
alert (bFound);

//retornará false
var bFound = /d$/.test('julio');
alert (bFound);

Espero que se vaya entendiendo. Seguiré en próximas entregas, pero para asustarlos les dejo aquí una función para controlar una dirección de correo electrónico (advierto que se puede mejorar).

function checkMail(txMail)
{
   var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9])+$/;
   if ( ! filter.test(txMail) )
   {
     alert('Dirección de e-mail incorrecta')
     return false
   }
   return true
}


ciberbanner.com intercambio de banners

2 Comentarios:

Scyfox dice...

Muy agradecido por su informacion.

En mi primer trabajo, utilizan bastante javascript, y casi todos usan expresiones regulares por lo que estaba bien perdido.

Pregunta: Como se puede mejorar el filtro de correo electrónico que pusiste en el mensaje?=??

Rey Fernando Salcedo Padilla dice...

Excelente, aporto un programa para precticar http://usandojava.blogspot.com/2013/08/expresiones-regulares-usando-java-parte.html