JSFiddle - React, Tailwind, and code Playground

HTML

<div id="demo">

</div>

JavaScript

function getCharCode(chaine, index, position) {
  return String.fromCharCode(position + parseInt(chaine.substr(index, 1)));
}

function EAN(chaine) {
  var i = 0;
  var first = 0;
  var checksum = 0;
  var CodeBarre = "";
  var tableA = 0;

  if (chaine.match(/^\d{12}$/)) {
    for (i = 1; i < 12; i += 2) {
      chaine.substr(i, 1);
      checksum += parseInt(chaine.substr(i, 1));
    }
    checksum *= 3;
    for (i = 0; i < 12; i += 2) {
      checksum += parseInt(chaine.substr(i, 1));
    }

    chaine += (10 - checksum % 10) % 10;
    CodeBarre = chaine.substr(0, 1) + getCharCode(chaine, 1, 65);
    first = parseInt(chaine.substr(0, 1));
    for (i = 2; i <= 6; i++) {
      tableA = false;
      switch (i) {
        case 2:
          if (first >= 0 && first <= 3) tableA = true;
          break;
        case 3:
          if (first == 0 || first == 4 || first == 7 || first == 8) tableA = true;
          break;
        case 4:
          if (first == 0 || first == 1 || first == 4 || first == 5 || first == 9) tableA = true;
          break;
        case 5:
          if (first == 0 || first == 2 || first == 5 || first == 6 || first == 7) tableA = true;
          break;
        case 6:
          if (first == 0 || first == 3 || first == 6 || first == 8 || first == 9) tableA = true;
          break;
      }

      if (tableA)
        CodeBarre += getCharCode(chaine, i, 65); 
      else
        CodeBarre += getCharCode(chaine, i, 75); 
    }
    CodeBarre += "*";

    for (i = 7; i <= 12; i++) {
      CodeBarre += getCharCode(chaine, i, 97); 
    }
    CodeBarre += "+";
  }
  return CodeBarre;
}

document.getElementById("demo").innerHTML = EAN("618110032764");