Advertisement
bongzilla

Untitled

Jun 2nd, 2022 (edited)
884
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <script>
  2. document.addEventListener("DOMContentLoaded", function(e) {
  3.     const cardPrice = document.querySelector(".card__sale-price");
  4.     const catalogPrices = document.querySelectorAll(".price__sale");
  5.     const catalogSalePrices = document.querySelectorAll(".price__new");
  6.  
  7.     function formatCurrency(str, separator, currencySymbol) {
  8.         var currency = str.replace(/\s/g, '');
  9.         var number = currency.replace(currencySymbol, '');
  10.         var result = number.replace(/(\d)(?=(\d\d\d)+([^\d]|$))/g, '$1' + separator);
  11.         return `${result} ${currencySymbol}`;
  12.     }
  13.  
  14.     function parseCurrency(str) {
  15.         var currency = str.replace(/\s/g, '');
  16.         var number = currency.replace(/[^0-9]/g, '');
  17.         var currencySymbol = currency.replace(number, '');
  18.         return {number: number, currency: currencySymbol};
  19.     }
  20.  
  21.     function formatCurrencyObject(obj, separator = " ") {
  22.         return formatCurrency(obj.number, separator, obj.currency);
  23.     }
  24.  
  25.     function formatCardPrice(element) {
  26.         element.innerText = formatCurrencyObject(
  27.             parseCurrency(element.innerText)
  28.         );
  29.     }
  30.  
  31.     function formatCatalogPrices(pricesElements) {
  32.         [...pricesElements].forEach(priceElement => {
  33.             priceElement.innerText = formatCurrencyObject(
  34.                 parseCurrency(priceElement.innerText)
  35.             );
  36.         })
  37.     }
  38.  
  39.     function formatAllPagePrices(cardPrice, catalogPrices, catalogSalePrices) {
  40.         if(cardPrice) formatCardPrice(cardPrice);
  41.         if(catalogPrices) formatCatalogPrices(catalogPrices);
  42.         if(catalogSalePrices) formatCatalogPrices(catalogSalePrices);
  43.     }
  44.  
  45.     formatAllPagePrices(cardPrice, catalogPrices, catalogSalePrices);
  46. });
  47. </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement