> Faqs > Convertir mes, de número a nombre del mes, con Javascript

Convertir mes, de número a nombre del mes, con Javascript

Necesito conseguir realizar la conversión desde un número de mes al nombre de un mes, mediante Javascript.

Que el mes que yo ingrese en un campo de texto me lo devuelva en letras (1= enero, 2= febrero, 3= marzo, 4= abril...)

<h2>Ingresa mes</h2>

<input id="mes" type="text" name="mes" placeholder="mes" autofocus="autofocus" >
          
<button onclick="convertir()" >convertir</button>

Respuestas

Lo que tienes que hacer es crearte un array con los nombres de meses y usarlo para encontrar el nombre del mes, dado un número entero.

El problema es que en tu campo de texto puede haber cualquier cosa, con lo que sería esencial hacer unas validaciones básicas, antes de hacer la conversión, para conseguir asegurar que al encontrar el nombre del mes en tu array no va a darte un error.

El código podría ser algo como esto:

<input id="mes" type="text" name="mes" placeholder="mes" autofocus="autofocus" >

<button onclick="convertir()" >convertir</button>

<script>
var meses = ["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"];

function convertir() {
  var inputMes = document.getElementById('mes');
  var numeroMes = parseInt(inputMes.value);
  if(! isNaN(numeroMes) && numeroMes >= 1  && numeroMes <= 12 ) {
      inputMes.value = meses[numeroMes - 1];
  }
}
</script>
Miguel Angel
3145 140 209 17