Foros del Web » Programando para Internet » Javascript »

Expresiones regulares

Estas en el tema de Expresiones regulares en el foro de Javascript en Foros del Web. Hola a todos. Tengo esta expresión regular en un script de validación de un e-mail en javascript : Código: /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/ Y quisiera saber que le ...
  #1 (permalink)  
Antiguo 03/11/2009, 11:43
 
Fecha de Ingreso: octubre-2009
Ubicación: En el ordenador
Mensajes: 504
Antigüedad: 14 años, 7 meses
Puntos: 10
Expresiones regulares

Hola a todos. Tengo esta expresión regular en un script de validación de un e-mail en javascript:

Código:
/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/
Y quisiera saber que le puedo poner para que acepte también mayúsculas, por si alguien me pone...


Muchas gracias
  #2 (permalink)  
Antiguo 03/11/2009, 11:45
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Expresiones regulares

ubicale el flag o modificador i al final de la expresion.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 03/11/2009, 12:16
 
Fecha de Ingreso: noviembre-2009
Ubicación: Peñaflor
Mensajes: 6
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Expresiones regulares

Este Escript valida mail nombre direccion ! compara campos con un filtre y busca si ahy dichos valores dentro de nuestro valor si no existe dicho patron nos da -1 espero que te sirva

Código HTML:
<SCRIPT LANGUAGE="JavaScript">
function verifForm(formulario)
  {
  var filter=/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
  var correo=formulario.correo.value;
  var enc=correo.search(filter); 
  if(formulario.nombre.value == ""  )
    alert('Complete el campo Nombre(*) !');
  else if (correo=="")
    alert('Complete el campo Mail (*) !');
 else if(enc==(-1)) //aqui esta lo clave
      alert('Direccion de Mail no valida !');
  else if (formulario.fono.value=="")
    alert('Complete el campo Telefono (*) !');
  	
  else
    formulario.submit();
}
</SCRIPT> 

saludos
  #4 (permalink)  
Antiguo 03/11/2009, 13:47
 
Fecha de Ingreso: octubre-2009
Ubicación: En el ordenador
Mensajes: 504
Antigüedad: 14 años, 7 meses
Puntos: 10
Respuesta: Expresiones regulares

zerokilled:
vale, muchas gracias, pero como puedo aplicar esa "i" en esa expresión???


twisthack:
muchas gracias por tu esfuerzo, pero el script ya lo tengo, solo debo perfeccionarlo.
  #5 (permalink)  
Antiguo 03/11/2009, 13:57
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Expresiones regulares

si vieras el enlace apreciaras un ejemplo. en todo caso, viendo detalladamente la expresion regular que mostraste, realmente no necesitas hacer nada mas porque la clase \w detecta minuscula y mayuscula.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #6 (permalink)  
Antiguo 04/11/2009, 08:33
 
Fecha de Ingreso: octubre-2009
Ubicación: En el ordenador
Mensajes: 504
Antigüedad: 14 años, 7 meses
Puntos: 10
Respuesta: Expresiones regulares

¿?

Muchas gracias, si, en el enlace sale un ejemplo, pero lo que yo no se es en que lugar de la expresion regular debo introducir la "i".

La \w no me detecta mayusculas, porque haciendo pruebas, introduzco por ejemplo:
[email protected] No me lo acepta (dominios de 2 o mas letras)
[email protected] Si me lo acepta
[email protected] No me lo acepta

Y es con esa misma expresion regular que puse ahí

Muchas gracias, zerokilled
  #7 (permalink)  
Antiguo 04/11/2009, 11:55
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Expresiones regulares

a mi me funciona sin hacerle ningun cambio a tu expresion, mira el siguiente ejemplo.
Código:
alert("[email protected]".match(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/)[0]);
como ya comente, la clase \w incluye mayuscula. para ser mas exacto, la clase se compone de los caracteres (el guion significando un rango)
a-zA-Z0-9_

o sea, caracteres alfanumericos en mayuscula y minuscula, y el guion bajo.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #8 (permalink)  
Antiguo 05/11/2009, 09:54
 
Fecha de Ingreso: octubre-2009
Ubicación: En el ordenador
Mensajes: 504
Antigüedad: 14 años, 7 meses
Puntos: 10
Respuesta: Expresiones regulares

Muchas gracias zerokilled, pero lo he solucionado cambiando esa expresion regular por esta:

Código:
/^[_a-zA-Z0-9-]+(.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(.[a-zA-Z0-9-]+)*(.[a-zA-Z]{2,3})$/

Última edición por markmb; 05/11/2009 a las 10:07
  #9 (permalink)  
Antiguo 05/11/2009, 10:11
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Expresiones regulares

nada mas mencionar que tienes varios errores en la expresion. tienes que escapar los puntos. y cuando quieras representar un guion, tambien tienes que escaparlo.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:13.