Foros aprenderaprogramar.com

Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: omikron87 en 23 de Noviembre 2018, 21:56

Título: Problema al validar con JavaScript SyntaxError: expected expression, got keyword
Publicado por: omikron87 en 23 de Noviembre 2018, 21:56
Hola, tengo un problema para validar un formulario de HTML en JavaScript, ya que no me comprueba ningún campo. Agradecería sus ayudas. Gracias!

Pongo solo el formulario en HTML para que no sea tan largo:

Citar
<form action="registrar.php" method="post" class="form-register" onsubmit="return validar()">
                  <div class="row half">
                     <div class="12u">
                        <input class="text" type="text" name="name" id="name" placeholder="Nombre y apellido" />
                     </div>
                  </div>
                  <div class="row half">
                     <div class="12u">
                        <input class="text" type="text" name="email" id="email" placeholder="Email" />
                     </div>
                  </div>
                  <div class="row half">
                     <div class="12u">
                        <textarea name="message" id="message" placeholder="Escriba aquí su mensaje..."></textarea>
                     </div>
                  </div>
                  <div class="row half">
                     <div class="12u">
                        <ul class="actions">
                           <li>
                              <input type="submit" value="Enviar" class="button alt" />
                           </li>
                        </ul>
                     </div>
                  </div>
               </form>


El código de JavaScript es el siguiente:

Citar
function validaVacio(valor) {
        valor = valor.replace("&nbsp;", "");
        valor = valor == undefined ? "" : valor;
        if (!valor || 0 === valor.trim().length) {
            return true;
            }
        else {
            return false;
            }
        }

    function validar(){
   
    var correo = document.getElementById("email").value;
    var nombre = document.getElementsByName("name")[0].value;
    var text = document.getElementsByName("message")[0].value;
   
    var expr = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;

   //COMPRUEBA MAIL, NOMBRE Y TEXT AREA
    if ( !expr.test(correo) )
   {
        alert("Error: La dirección de correo " + correo + " es incorrecta.");
        return false;
      
   else if( !expr.test(nombre) )
   {
    alert("Error: La dirección de correo " + nombre + " es incorrecta.");
    return false;
   }

   else if( !expr.test(text) )
   {
    alert("Error: La dirección de correo " + text + " es incorrecta.");
    return false;
   }
   
    }
   
    //COMPRUEBA CAMPOS VACIOS
    if ( validaVacio(correo.value) || validaVacio(nombre.value) || validaVacio(text.value)) {
        alert("Los campos no pueden quedar vacios");
        return false;
    }
    return true;
    }

Título: Re:Problema al validar con JavaScript SyntaxError: expected expression, got keyword
Publicado por: Ogramar en 24 de Noviembre 2018, 18:54
Buenas, para pegar código, poner título a los temas, etc. mírate este hilo: https://aprenderaprogramar.com/foros/index.php?topic=1460.0 Para pegar código hazlo como se indica en ese hilo, no lo pegues como citas.

En tu código empieza por revisar la sintaxis del if else, no la tienes bien. Mira en https://aprenderaprogramar.com/index.php?option=com_content&view=article&id=797:if-else-if-else-if-javascript-condicionales-del-flujo-o-estructuras-de-decision-ejemplos-ejercicios-cu01119e&catid=78&Itemid=206 cómo se construye un if else.

En este fragmento tienes un error de sintaxis ya que no tienes bien cerradas las llaves del if.

 if ( !expr.test(correo) )
   {
        alert("Error: La dirección de correo " + correo + " es incorrecta.");
        return false;
     
   else if( !expr.test(nombre) )


Tienes que revisar toda la sintaxis de tu código. En el curso de JavaScript en https://aprenderaprogramar.com/index.php?option=com_content&view=category&id=78&Itemid=206 puedes ver ejemplos de todas las construcciones JavaScript y de validaciones

Salu2