JavaScript - Validar que un password contenga algún número

 
Vista:
Imágen de perfil de Albert
Val: 65
Ha aumentado 1 puesto en JavaScript (en relación al último mes)
Gráfica de JavaScript

Validar que un password contenga algún número

Publicado por Albert (20 intervenciones) el 20/12/2020 20:53:29
Hola:

Llevo casi toda la tarde intentando encontrar una expresión regular para que me valide un password y obligar a que pongan algún número. Os dejo el código:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
var validaPassword = document.getElementById('password').value;
 
if (validaPassword == null || validaPassword == "") {
   msg.innerText = 'Debes escribir un password';
   return false;
}
 
/* Validamos que no haya espacios en blanco en Password */
var espacios = false;
var cont = 0;
 
while (!espacios && (cont < validaPassword.length)) {
    if (validaPassword.charAt(cont) == " ")
        espacios = true;
    cont++;
}
 
if (espacios) {
    msg.innerText = 'El Password no puede contener espacios en blanco';
    return false;
}
 
/* Validamos que el password contenga algún número */
if (!validaPassword.match(/\d/)) {
   msg.innerText = 'El Password debe contener algún número';
   return false;
}

Es la última parte. Lo demás funciona a la perfección. He probado varias expresiones, pero me estoy desesperando. Seguiré buscando, pero si alguien, me puede echar un cable, se lo agradecería mucho!!

Un saludo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Albert
Val: 65
Ha aumentado 1 puesto en JavaScript (en relación al último mes)
Gráfica de JavaScript

Validar que un password contenga algún número

Publicado por Albert (20 intervenciones) el 20/12/2020 22:03:03
1
2
3
4
5
6
var alf=/^[a-z0-9_-]{6-12}$/
/* Validamos que el password contenga algún número */
if (!alf.exec(validaPassword)) {
   msg.innerText = 'El Password debe contener algún número';
   return false;
}

He probado con esta expresión y tampoco. No me devuelve el mensaje de innerText
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Albert
Val: 65
Ha aumentado 1 puesto en JavaScript (en relación al último mes)
Gráfica de JavaScript

Validar que un password contenga algún número

Publicado por Albert (20 intervenciones) el 22/12/2020 11:03:34
Al final este código me funciona:

1
2
3
4
5
6
7
8
var alf =/^(?=.\d)(?=.[az])(?=.*[AZ])/;
/* Validamos que el password contenga algún número */
if (!validaPassword.match(alf)) {
    msg.innerText = 'El Password debe contener algún número';
    return false;
} else {
    return true;
}

Pero, aunque me detecta si falta un número, cuando se lo pongo y le doy al submit para que me envíe los datos a mi archivo php, me sigue mostrando "El password debe contener algún número" (???), ¿es posible que el fallo me lo este dando la expresión regular??
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Albert
Val: 65
Ha aumentado 1 puesto en JavaScript (en relación al último mes)
Gráfica de JavaScript

Validar que un password contenga algún número

Publicado por Albert (20 intervenciones) el 23/12/2020 11:30:13
Solucionado, encontré el código adecuado:

1
2
3
4
5
6
re = /[0-9]/;
 
            if(!re.test(validaPassword)) {
                msg.innerText = 'El Password debe contener al menos un numero';
                return false;
            }

Ahora, ya puedo centrarme en la validación del lado servidor. Gracias a todos/as.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar