Obtener provincia a traves del codigo postal con Javascript

Hoy quiero compartir un pequeña utilidad que hice, en Javascript, para obtener la provincia española de un determinado codigo postal. Es muy util para formularios de contacto. Por ejemplo, puede utilizarse para confirmar que la provincia y codigo postal introducido se corresponden correctamente o, como en este ejemplo, para rellenar automaticamente el campo de provincia introduciendo tan solo el codigo postal.

Ejemplo:

Introduzca un codigo postal valido:
Codigo postal: Provincia:

Código:
<form>
  Codigo postal: <input type='text' id='entradacp'>
  Provincia: <input type='text' id='salidaprovincia'>
</form>
<script type="text/javascript">
  function darProvincia(cpostal){
    var cp_provincias = {
      1: "\u00C1lava", 2: "Albacete", 3: "Alicante", 4: "Almer\u00EDa", 5: "\u00C1vila",
      6: "Badajoz", 7: "Baleares", 08: "Barcelona", 09: "Burgos", 10: "C\u00E1ceres",
      11: "C\u00E1diz", 12: "Castell\u00F3n", 13: "Ciudad Real", 14: "C\u00F3rdoba", 15: "Coruña",
      16: "Cuenca", 17: "Gerona", 18: "Granada", 19: "Guadalajara", 20: "Guip\u00FAzcoa",
      21: "Huelva", 22: "Huesca", 23: "Ja\u00E9n", 24: "Le\u00F3n", 25: "L\u00E9rida",
      26: "La Rioja", 27: "Lugo", 28: "Madrid", 29: "M\u00E1laga", 30: "Murcia",
      31: "Navarra", 32: "Orense", 33: "Asturias", 34: "Palencia", 35: "Las Palmas",
      36: "Pontevedra", 37: "Salamanca", 38: "Santa Cruz de Tenerife", 39: "Cantabria", 40: "Segovia",
      41: "Sevilla", 42: "Soria", 43: "Tarragona", 44: "Teruel", 45: "Toledo",
      46: "Valencia", 47: "Valladolid", 48: "Vizcaya", 49: "Zamora", 50: "Zaragoza",
      51: "Ceuta", 52: "Melilla"
    };
    if(cpostal.length == 5 && cpostal <= 52999 && cpostal >= 1000)
      return cp_provincias[parseInt(cpostal.substring(0,2))];
    else
      return "---";
  }
  var inputCP = document.getElementById('entradacp');
  inputCP.onkeyup = function(){
    document.getElementById('salidaprovincia').value = darProvincia(inputCP.value);
  }
</script>



Referencias:
https://es.wikipedia.org/wiki/Anexo:Provincias_de_Espa%C3%B1a_por_c%C3%B3digo_postal
http://stackoverflow.com/questions/14411235/while-typing-in-a-text-input-field-printing-the-content-typed-in-a-div

Comentarios

Entradas populares de este blog

GUI en Python con Glade

Conversor de imagenes a Base64