JSFiddle - React, Tailwind, and code Playground

by Alexey Ukolov

HTML

<div>Л/С: <span id="account"></span></div>
<div>Сумма: <span id="amount"></span></div>

JavaScript

var barcode = 'ST00012|Name=ЖЭК "Каменные палатки"|PersonalAcc=40705810273110000006|BankName=Свердловской РФ АО "Россельхозбанк"|BIC=046577922|CorrespAcc=30101810100000000922|PayeeINN=6660088450|PersAcc=00000001|LastName=ШИШКИН|FirstName=А|MiddleName=А|Sum=114541|Purpose=Оплата капитального ремонта|PayerAddress=Сиреневый бульвар  9 кв. 1|AddAmount=0';

var result = {};

var account;

if (barcode.indexOf("PersAcc=") != -1) {
  var i = barcode.indexOf("PersAcc=") + 8;

  account = barcode.substr(i, 8);
  result["account"] = account;

  console.log(
    barcode.indexOf("Sum="),
    barcode.indexOf("Sum=") + 4,
    barcode.indexOf("|", 242),
    barcode.substr(242, (barcode.indexOf("|", 242) - 242)),
    barcode.substr(242, (barcode.indexOf("|", 242) - 242)) / 100
  );

  if (barcode.indexOf("Sum=") != -1) { // true - barcode.indexOf("Sum=") => 238
    var i = barcode.indexOf("Sum=") + 4; // 238 + 4 = 242
    var ind = barcode.indexOf("|", i); // 248 - теперь всё правильно
    var amount_text = barcode.substr(i, (ind - i)); // 114541
    var amount = amount_text / 100; // 1145,41
    result["amount"] = amount;
  }
}

document.querySelector('#account').innerText = result.account;
document.querySelector('#amount').innerText = result.amount;