<div id="contenedor" class="container"> <p>Código postal: <input type="text" id="cp" placeholder="Introduzca el cp"></p> <button id="calcular" class="btn btn-success">Calcular gastos de envío</button> <h3 id="resultado"></h3> </div>
document.getElementById('calcular').addEventListener('click', calcular) function calcular () { const cp = document.getElementById('cp').value console.log(cp) // Haré los cálculos document.getElementById('resultado').innerHTML = 'Mensaje' } function gastosEnvio (cp) { /* Detectar cp Barcelona: 1 pt Detectar cp Catalunya: 3 pt Detectar cp resto: 2pt */ return 0 } function cpCorrecto (cp) { /* Detectar longitud = 5: 2 pt Detectar todo dígitos: 2 pt */ return true }
Todo resuelto:
document.getElementById('calcular').addEventListener('click', calcular) function calcular () { const cp = document.getElementById('cp').value // Haré los cálculos let mensaje = '' if (cpCorrecto(cp)) { mensaje = 'Gastos de envío: ' + gastosEnvio(cp) + ' €' } else { mensaje = 'Código incorrecto' } document.getElementById('resultado').innerHTML = mensaje } function gastosEnvio (cp) { /* Detectar cp Barcelona: 1 pt Detectar cp Catalunya: 3 pt Detectar cp resto: 2pt */ let gastos = 5 if (cp.startsWith('08')) { gastos = 0 } else if (cp.startsWith('25') || cp.startsWith('43') || cp.startsWith('17')) { gastos = 3 } return gastos } function cpCorrecto (cp) { /* Detectar longitud = 5: 2 pt cp.length==5 Detectar todo dígitos: 2 pt isNaN(cp)-> No es un número, por lo tanto la negación: !isNaN(cp) */ if (cp.length == 5 && !isNaN(cp)) { return true } else { return false } } function todoDigitos (cadena) { for (let i = 0; i < cadena.length; i++) { if (cadena.slice(i, i + 1) < '0' || cadena.slice(i, i + 1) > '9') { return false } } return true }