Num Esp->Eng/Eng->Esp

String.Prototype function para convertir formatos de numeros de Español a Ingles y vicesversa

by Luis Martin

HTML

<p>Español <img src="https://upload.wikimedia.org/wikipedia/en/thumb/9/9a/Flag_of_Spain.svg/23px-Flag_of_Spain.svg.png"/></p>
<p>Inglés <img src="https://upload.wikimedia.org/wikipedia/en/thumb/a/ae/Flag_of_the_United_Kingdom.svg/23px-Flag_of_the_United_Kingdom.svg.png"/></p>
<br>

<input type="text" name="toIng" onkeypress="save(this, event)">
<input type="text" name="toEsp" onkeypress="save(this, event)">
<br>

<p>Inglés <img src="https://upload.wikimedia.org/wikipedia/en/thumb/a/ae/Flag_of_the_United_Kingdom.svg/23px-Flag_of_the_United_Kingdom.svg.png"/></p>
<p>Español <img src="https://upload.wikimedia.org/wikipedia/en/thumb/9/9a/Flag_of_Spain.svg/23px-Flag_of_Spain.svg.png"/></p>
<br>

<textarea id="toIng"></textarea>
<textarea id="toEsp"></textarea>

CSS

textarea {
  width: 300px;
  height: 100px;
  border: 1px solid #ccc;
  padding: 5px;
  overflow: auto;
  display: inline-block;
}

input {
  width: 300px;
  border: 1px solid #ccc;
  padding: 5px;
  display: inline-block;
}

p {
  width: 300px;
  padding: 5px;
  display: inline-block;
}

JavaScript

String.prototype.formatEng = function() {
  return this.replace(".", "").split(",")[0].replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1\,") + (this.split(",")[1] ? "." + this.split(",")[1] : "");
};

String.prototype.formatEsp = function() {
  return this.replace(",", "").split(".")[0].replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1\.") + (this.split(".")[1] ? "," + this.split(".")[1] : "");

};

function save(el, e) {
  var output = document.getElementById(el.name);
  if (e.key === 'Enter' || e.keyCode === 13) {
    if (el.value.trim() != "") {
      if (el.name == "toEsp") {
        output.textContent += el.value.formatEsp() + "\n";
      } else {
        output.textContent += el.value.formatEng() + "\n";
      }
      el.value = '';
    } else {
      el.value = '';
    }
  }
}