Foros del Web » Programando para Internet » Javascript »

contar caracteres después de un punto

Estas en el tema de contar caracteres después de un punto en el foro de Javascript en Foros del Web. amigos tengo el siguiente problema... tengo que validar email, debe llevar el signo "@" y el "." correspondiente, eso lo realizo y valido bien el ...
  #1 (permalink)  
Antiguo 07/06/2011, 08:40
Avatar de bbriones89  
Fecha de Ingreso: marzo-2011
Ubicación: RENCA
Mensajes: 26
Antigüedad: 13 años, 1 mes
Puntos: 0
contar caracteres después de un punto

amigos tengo el siguiente problema...
tengo que validar email, debe llevar el signo "@" y el "." correspondiente, eso lo realizo y valido bien el problema es que también debo validar que después del puntos existan dos caracteres mas, que seria el dominio, y no se como hacerlo...
este es mi código
_________________________________
String Pat1 = "@";
String Pat2 = ".";
String Pat3 = "ñ";
String Pat4 = "Ñ";

boolean Ok = false;
int Pos = 0;
int Largo = 0;
int p1 = 0;

Largo = email.length();



if ( Largo > 0 )
{
email = email.replace(Pat3,"");
email = email.replace(Pat4,"");

p1 = email.indexOf(Pat1,0);
if ( p1 != -1 )
if ( email.indexOf(Pat2,p1) != -1 )
if(email.indexof)
Ok = true;
}
else
email ="" ;

email = email.replaceAll(" ","");

if (Ok)
return (email);
else
return("/"+email);
___________________________________________


el "/" es por que si viene con error debo colocar un "/" delate del mail para hacer después una gestión,
saludos espero su ayuda...
  #2 (permalink)  
Antiguo 07/06/2011, 08:43
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 10 meses
Puntos: 310
Respuesta: contar caracteres después de un punto

¿Seguro que estás en el foro adecuado?
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #3 (permalink)  
Antiguo 07/06/2011, 08:53
Avatar de Naahuel  
Fecha de Ingreso: marzo-2011
Ubicación: localhost
Mensajes: 796
Antigüedad: 13 años, 1 mes
Puntos: 192
Respuesta: contar caracteres después de un punto

Pues si sólo necesitás algo que valide un email, podés usar esta función:


Código Javascript:
Ver original
  1. function _emailvalido(email){
  2.     return emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/.test(email);
  3. }

Podés demostrar que funciona:


Código Javascript:
Ver original
  1. alert(_emailvalido('[email protected]'));
  2. alert(_emailvalido('pepe@hotmail'));
  3. alert(_emailvalido('pepe+hotmail.com'));
__________________
nahueljose.com.ar
  #4 (permalink)  
Antiguo 07/06/2011, 09:07
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 10 meses
Puntos: 310
Respuesta: contar caracteres después de un punto

Mira a ver qué tienes que cambiar para que no suceda esto:
Cita:
_emailvalido(''); // true
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #5 (permalink)  
Antiguo 07/06/2011, 09:26
Avatar de Naahuel  
Fecha de Ingreso: marzo-2011
Ubicación: localhost
Mensajes: 796
Antigüedad: 13 años, 1 mes
Puntos: 192
Respuesta: contar caracteres después de un punto

Cita:
Iniciado por _cronos2 Ver Mensaje
Mira a ver qué tienes que cambiar para que no suceda esto:

Saludos (:
Jeje, las expresiones regulares me superan, así que lo solucionaría simplemente así:
Código Javascript:
Ver original
  1. function _emailvalido(email){
  2.     return email==''? false:emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/.test(email);
  3. }
__________________
nahueljose.com.ar
  #6 (permalink)  
Antiguo 07/06/2011, 11:17
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: contar caracteres después de un punto

buenas...

Cita:
Jeje, las expresiones regulares me superan
no es tan complicado. fijate que toda tu expresion es condicional, /^(...)?$/. simplemente remueve el cuantificador opcional.

__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #7 (permalink)  
Antiguo 07/06/2011, 12:26
 
Fecha de Ingreso: noviembre-2005
Mensajes: 426
Antigüedad: 18 años, 5 meses
Puntos: 87
Respuesta: contar caracteres después de un punto

Haciendo de cuenta que solo quiere solucionar el problema indicado (y no exactamente validar un email)

Código Javascript:
Ver original
  1. var correo = "[email protected]"
  2. if(correo.split("@")[1].split(".")[0].length > 1)
  3. {
  4.     alert("el dominio tiene 2 letras o mas")   
  5. }

Simplemente parte la cadena de caracteres; primero lo parte en dos con el @ y selecciona la segunda parte (osea [1]), luego lo parte por el punto y selecciona la primera parte (osea [0]) y hay ya queda solo el pedaso del dominio, en este ejemplo "metal"

--------------------------------------------------------

Si lo que quiere es validar un email lo mejor es este regex:
Código Javascript:
Ver original
  1. var filter = /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/;

Última edición por InKarC; 07/06/2011 a las 12:35
  #8 (permalink)  
Antiguo 07/06/2011, 12:36
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 10 meses
Puntos: 310
Respuesta: contar caracteres después de un punto

Apunte:
Cita:
[a-zA-Z] = [A-z]
[a-zA-Z0-9] = \w
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #9 (permalink)  
Antiguo 07/06/2011, 12:43
 
Fecha de Ingreso: noviembre-2005
Mensajes: 426
Antigüedad: 18 años, 5 meses
Puntos: 87
Respuesta: contar caracteres después de un punto

Correcion, para que valide solo con un minimo de 2 caracteres en el dominio el regex va asi:

Código Javascript:
Ver original
  1. var filter = /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-]){2,}.)+([a-zA-Z0-9]{2,4})+$/
  #10 (permalink)  
Antiguo 07/06/2011, 12:43
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: contar caracteres después de un punto

@cronos,
[a-zA-Z] no es lo mismo que [A-z]. ¿por que? porque en el codepoint, entre "Z" y "a" existen caracteres intermedios. en la siguiente secuencia del codepoint 33 al 255, fijate el area roja.

Código:
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬*®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ
y a la clase word, [a-zA-Z0-9], le falta el underscore (_).
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.

Última edición por zerokilled; 19/12/2011 a las 16:02 Razón: error en la regex ^_^
  #11 (permalink)  
Antiguo 07/06/2011, 12:58
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 10 meses
Puntos: 310
Respuesta: contar caracteres después de un punto

Muchas gracias por la información, yo siempre viviendo en la ignorancia
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red

Etiquetas: caracteres, punto
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 03:52.