JavaScript - Validar prompt javascript

   
Vista:

Validar prompt javascript

Publicado por Jessica (11 intervenciones) el 04/09/2015 07:31:07
hola, estoy haciendo un programa para explicar el if pero nose como validar el prompt la verdad no tengo mucho conociendo javascript y ya intente varias maneras pero no puedo validar para que no se ingresen letras ni caracteres especiales ni valores nulos , tambien me gustaria que el prompt al ponerle cancel saliera el mensajito de estas seguro que quieres cancelar, les agradeceria mucho su ayuda

aqui esta mi codigo

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
28
29
30
31
32
33
34
35
36
<html>
<head>
<script language="javascript">
function ejecutar()
{ // ejemplo del if
 
alert("Inicio");
alert("Este programa calculara si eres mayor de edad");
edad=parseInt(prompt("Introduce tu edad"));
if(edad>=18)
{
 
alert("Eres mayor de edad tu tienes "+ edad);
}
else if (edad <=17 && edad >=1)
{
alert("Eres menor de edad "+edad);
}
else if (edad === 0)
{
alert("?");
}
alert("Fin");
return true;
}
</script>
</head>
<body>
 
para ejecutar el programa dale click al diagrama!!!!
 
<img src="grumosa.png" onclick="ejecutar()" />
 
<a href="#" onclick="document.location.reload(); return true;">Para repetir haga click</a>
</body>
</html>
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 Vainas

Validar prompt javascript

Publicado por Vainas (239 intervenciones) el 04/09/2015 09:20:22
Buenas:

Creo que lo mejor que se me ocurre es meterlo dentro de un while. Dentro puedes usar dos funciones:

1. http://www.w3schools.com/jsref/jsref_isnan.asp con isNaN compruebas lo contrario pero negando el resultado lo puedes usar. El problema que le veo es que valores reales los da como validos (float) asi que puedes sino usar la segunda.

2. https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Global_Objects/Number/isInteger Number.isInteger comprueba si es un entero. Lo malo que no hay soporte por lo visto para IE y Opera (pero es standar).

3. Seguro que hay alguna funcion por los codigos de lwdp donde puedas comprobar si es un entero.

Demo (puede tener errores):

1
2
3
4
var edad = null;
while (Number.isInteger(edad)){
    edad = parseInt(prompt("Introduce tu edad"));
}

Esto dara un bucle hasta que introduzca la edad correcta.

Espero que te ayude.

Saludos.
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 xve

Validar prompt javascript

Publicado por xve (1595 intervenciones) el 04/09/2015 09:23:43
Hola Jessica, aquí tienes como hacerlo para verificar únicamente la entrada de números:
http://www.lawebdelprogramador.com/codigo/JavaScript/2664-Permitir-la-entrada-unicamente-de-numeros-con-signo-negativo-y-decimales.html
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

Validar prompt javascript

Publicado por jessica (11 intervenciones) el 06/09/2015 11:07:18
gracias por la respuesta pero lo que yo busco es por ejemplo que si ingresa un numero en este caso que lo que debe de ingresar es un nombre, te despliegue un mensaje y te diga que no es valido y mandarte de nuevo al prompt, o ya en su defecto que solo aparezca el prompt y no te permita avanzar a menos que hayas ingresado letras, se puede o esta muy descabellado ?
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 xve

Validar prompt javascript

Publicado por xve (1595 intervenciones) el 06/09/2015 20:18:08
Hola Jessica, puedes utilizar una expresion regular para comprobar si ha puesto algun numero...

Haber si te sirve esto:
1
2
3
4
if(nombre.replace(/[^0-9]/g, ' ')==nombre)
{
    alert("No hay numeros");
}

Coméntanos, ok?
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