Foros del Web » Programando para Internet » Javascript »

Ayuda con este código - Validar

Estas en el tema de Ayuda con este código - Validar en el foro de Javascript en Foros del Web. Lo que quiero es: solo si se digita algo en el campo email_solicitante debe validar que tenga arroba y un punto por lo menos. No ...
  #1 (permalink)  
Antiguo 03/06/2003, 14:51
 
Fecha de Ingreso: noviembre-2002
Ubicación: Casa-Trabajo
Mensajes: 60
Antigüedad: 22 años, 1 mes
Puntos: 0
Pregunta Ayuda con este código - Validar

Lo que quiero es: solo si se digita algo en el campo email_solicitante debe validar que tenga arroba y un punto por lo menos.

No me está funcionando pues valida la @ y el . aun cuando no se digitó algo.



<html>
<head>
<title>Información</title>
<link href="main.css" rel="stylesheet">
<script LANGUAGE="JavaScript">

function Validar(form)
{

if (form.email_solicitante.value != "" &&
form.email_solicitante.value.indexOf('@', 0) == -1 ||
form.email_solicitante.value.indexOf('.', 0) == -1)
{ alert("Digite una drección de email correcta"); form.email_solicitante.focus(); return; }

form.submit();
}
</script>
</head>
<body bgcolor="#ffffff">

<form Method="POST" Action="Reg_Email.asp">
<center>
<table bgColor="#ffffff" border="0" cellPadding="2" cellSpacing="1" width="816" style="height: 120px">
<tr>
<td bgcolor="#c7dcff" width="328"><p align="left" class="ve08bldkno">Correo electrónico:</p></td>
<td bgcolor="#ebf1f5" width="331" colSpan=4>
<INPUT id=text12 style="width: 470; height: 23" width="300" name=email_solicitante size="60"></td>
</tr>
</table>
</center>
<br>
<center><table>
<tr>
<td colspan="4"><br>
<input TYPE="button" VALUE="Registrar solicitud" name="Envio" onClick="Validar(this.form)">
<input TYPE="reset" VALUE="Limpiar datos" name="B2">
</td>
</tr>
</table></center>
</form>
</body>
</html>
  #2 (permalink)  
Antiguo 03/06/2003, 15:57
Avatar de Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 23 años
Puntos: 38
Hola gadget.

Yo lo intentaría asi:

Código PHP:
function Validar(form){
 
with (form.email_solicitante){
  if (
value != "")
   if (
value.indexOf('@'0) == -|| value.indexOf('.'0) == -1){
    
alert("Digite una drección de email correcta");
    
focus();
    return;
   }
 }
 
form.submit();

Lo que sucede es basicamente que las condiciones que usas necesitan paréntesis o que las separes. No es lo mismo decir:

if (no_vacio && valido_@ || valido_punto)

que decir

if (no_vacio && (valido_@ || valido_punto))

En el primer caso, con que la última condición sea válida, hará que toda la cadena sea válida.

Saludos.
  #3 (permalink)  
Antiguo 03/06/2003, 16:44
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 23 años
Puntos: 5
Y por que no usar expresiones regulares???
__________________
Manoloweb
  #4 (permalink)  
Antiguo 03/06/2003, 18:16
 
Fecha de Ingreso: noviembre-2002
Ubicación: Casa-Trabajo
Mensajes: 60
Antigüedad: 22 años, 1 mes
Puntos: 0
De acuerdo Funcionó la solución de K

Funcionó bien, se trata de una validación sencilla, pero realmente lo que estoy haciendo es la validación de todo un formulario, del cual el email era sola una parte y ahora lo voy a integrar.

Sobre lo que dices Manoloweb ya revisé las FAQS y me parece correcta tu apreciación sobre validar con expresiones regulares. En fin ya tengo dos soluciones.

Les agradezco su atención.

Saludos

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 02:10.