El caso es que tengo el siguiente código.
Código:
Esto básicamente espera a que el evento click se dispare sobre el botón de login y cuando lo hace se ejecuta un callback que extrae los valores de los campos, luego se los pasa a la funcion loginValidation(), la cual comprueba si existen ocurrencias con la expresión regular, en el caso de que el if retorna true significa que el valor es incorrecto y deberá retornar false.$(".pen-login-button").bind("click", function () { var username_submit = $("#username").val(); var password_submit = $("#password").val(); loginValidation(username_submit,password_submit); console.log(loginValidation()); }); function loginValidation (u) { var requiredChars = /[^a-zA-Z0-9-_]/i; /*Expresion regular para comprobar caracteres aceptados*/ if(requiredChars.test(u)){ console.log("Usuario incorrecto"); return false; } }
El problema es que aunque se cumpla la condición, la función retorna undefined.
He comprobado que si funciona porque la función retorna el mensaje "Usuario incorrecto" por consola, es mas, si coloco el return fuera del if la función retorna correctamente. Pero cualquier returndentro del if retornaundefined.
¿Alguna idea?
Gracias y un saludo.