JavaScript - Necesito ayuda para que mi código distinga entre números y letras.

 
Vista:
sin imagen de perfil

Necesito ayuda para que mi código distinga entre números y letras.

Publicado por Sebastian (1 intervención) el 18/05/2022 15:23:43
Hace apenas unos meses empecé a estudiar JS, y aún estoy muy verde, si alguien pudiera guiarme un poco. La idea es que en un "prompt" se escriban valores, en un principio se piden letras y lo que quiero es que si detecta un número, muestre un mensaje de error, no se guarde el número (porque ya me ha pasado que se sigue guardando el número) y vuelva a llamar a la función, aquí os dejo el código:

function start() {

var letra = "";

do {
var cadena = prompt("Introduce una letra");

if (letra == "") {

letra = letra + cadena;

} else {

letra = letra + " " + cadena;

}

} while (confirm ("¿Desea seguir introduciendo letras?"));

document.getElementById('campo').innerHTML = (letra);
}

No hay ningún elemento relacionado con el número porque he preferido eliminarlo ya que era un completo desastre y no aportaba nada, al contrario, si alguien pudiera darme algún consejo o guiarme estaría muy agradecido.
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 7aamin
Val: 9
Ha aumentado su posición en 6 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

Necesito ayuda para que mi código distinga entre números y letras.

Publicado por 7aamin (79 intervenciones) el 18/05/2022 16:15:22
Holaa!! todo lo que tu ingreses por prompt, sera un string, no importa si en un Numero, siempre sera un String. Para validarlo podrias usar expresiones regulares:

1
2
3
4
5
var inputData = prompt('Ingresa un valor')
let acceptedValues = /^[0-9]+$/;
if (acceptedValues.test(inputData)) {
    console.log("Number");
} else console.log('String');

Esto es una expresion regular
1
/^[0-9]+$/
que indica que revise el string si es que contiene valores numericos que incluyan caracteres numericos del 0 al 9
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 7aamin
Val: 9
Ha aumentado su posición en 6 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

Necesito ayuda para que mi código distinga entre números y letras.

Publicado por 7aamin (79 intervenciones) el 18/05/2022 16:21:11
Si el string ingresado contiene SOLO caracteres numericos, Podra ser convertido a Numero con parseInt() o parseFloat()
Si el string ingresado contiene numeros y letras, no sera considerado como Numero.

1
2
3
4
5
6
7
var inputData = prompt('Ingresa un valor')
let acceptedValues = /^[0-9]+$/;
if (acceptedValues.test(inputData)) {
    inputData = parseInt(inputData)
} else console.log('String');
 
console.log(typeof(inputData))
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