Foros del Web » Creando para Internet » Flash y Actionscript »

Detectar @ y el . en el campo e-mail de un formulario Flash

Estas en el tema de Detectar @ y el . en el campo e-mail de un formulario Flash en el foro de Flash y Actionscript en Foros del Web. Buenas mi consulta es muy facil, y muy simple pero por más que miro como hacerlo no le encuentro el como. Lo que quiero es ...
  #1 (permalink)  
Antiguo 27/12/2010, 08:22
 
Fecha de Ingreso: diciembre-2010
Mensajes: 1
Antigüedad: 13 años, 10 meses
Puntos: 0
Pregunta Detectar @ y el . en el campo e-mail de un formulario Flash

Buenas mi consulta es muy facil, y muy simple pero por más que miro como hacerlo no le encuentro el como.

Lo que quiero es que cuando el usuario pone el mail al apretar enviar se compruebe que el mail contiene una @ y un .

Alguien puede ayudarme?
Os dejo el codigo:

Código:
stop();
_root.enviar.onRelease=function(){
if(_root.nombre.text == "" || _root.apellido.text == "" || _root.correo.text == "" || _root.telefono.text == ""){
	_root.respuesta.text = "Todos los campos son obligatorios";
}else{
_root.respuesta.text="";
delete nuevomail;
nuevomail = new LoadVars();
nuevomail.nombre = _root.nombre.text;
nuevomail.apellido = _root.apellido.text;
nuevomail.correo = _root.correo.text;
nuevomail.telefono = _root.telefono.text;
nuevomail.cumple = _root.mes.value;
nuevomail.tema = _root.asunto.value;
_root.respuesta.text = "Espere Porfavor";
nuevomail.onLoad=function(){
	_root.respuesta.text = nuevomail.respuesta;
	}
//Pon la direecion de tu php ACA ----------------------------------
nuevomail.sendAndLoad("http://blablabla.net/lista/contacto.php",nuevomail,"POST");
		}}

_root.borrar.onRelease=function(){
_root.nombre.text="";
_root.apellido.text="";
_root.correo.text="";
_root.telefono.text="";
_root.respuesta.text="";
	}
Muchas Gracias!
  #2 (permalink)  
Antiguo 27/12/2010, 23:27
 
Fecha de Ingreso: noviembre-2002
Ubicación: DF
Mensajes: 1.056
Antigüedad: 22 años
Puntos: 37
Respuesta: Detectar @ y el . en el campo e-mail de un formulario Flash

Yo uso esta funcion:
//--------------------------------
// Funcion generica para validar el email
//--------------------------------
_global.isMail = function(arg) {
// compruebo que no este vacía la cadena exaustivamente
if (arg == "" || arg == null || arg == "null" || arg == undefined || arg == "undefined") {
return false;
//trace("cadena vacía");
// compruebo si hay una arroba y solo una
} else if (arg.indexOf("@") == -1 || arg.indexOf("@") != arg.lastIndexOf("@")) {
return false;
//trace("núm de @ erróneo");
} else {
// dividimos la direccion en usuario y dominio
var partes = arg.split("@");
var usuario = partes[0];
var dominio = partes[1];
// compruebo usuario
if (usuario.length<1) {
return false;
//trace("usuario vacío");
} else {
// compruebo si hay algún carácter raro
var caracteresProhibidos = new Array("º", "ª", "!", "#", "$", "%", "&", "¬", "/", "(", ")", "=", "?", "¿", "¡", ",", ";", ":", "[", "]", "{", "}", "á", "é", "í", "ó", "ú", "Á", "É", "Í", "Ó", "Ú");
var numCaracteresProhibidos = 0;
for (var k = 0; caracteresProhibidos[k]; k++) {
if (usuario.indexOf(caracteresProhibidos[k]) != -1) {
numCaracteresProhibidos++;
}
}
if (numCaracteresProhibidos>0) {
trace("caracteres prohibidos encontrados");
return false;
// compruebo dominio
} else if (dominio.indexOf(".") == -1 || dominio.length<1) {
return false;
//trace("núm de puntos erróneo en dominio");
} else {
var partes_dominio = dominio.split(".");
var extension = partes_dominio[partes_dominio.length-1];
// compruebo que el dominio tenga como mínimo 3 chr antes del punto
if (dominio.length-extension.length<4) {
//trace("dominio menor de 3 chr");
return false;
} else if (extension.length<2 || extension.length>4) {
//trace("longitud de extension errónea");
return false;
} else {
//trace("mail correcto");
return true;
}
}
}
}
};
  #3 (permalink)  
Antiguo 29/12/2010, 14:38
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 8 meses
Puntos: 336
Respuesta: Detectar @ y el . en el campo e-mail de un formulario Flash

Yo usaría una comprobación simple para eso:

Código Actionscript:
Ver original
  1. if(mimail.indexOf("@")>3 && mimail.indexOf("@")<mimail.lastIndexOf(".")-3 && mimail.lastIndexOf(".")<mimail.length-2){
  2. trace("mail correcto");
  3. }else{
  4. trace("mail incorrecto");
  5. }

Lo que hace es comprobar que el @ este desde la tercera posicion, ademas que este anted de un punto separado por al menos 3 espacios y que ademas el ultimo punto este al menos 2 espacios antes del final, no lo he probado pero deberia funcionar.

Etiquetas: detectar, e-mail, flash, formulario, campos
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 09:12.