Advertisement
bebo231312312321

Untitled

Feb 29th, 2024
763
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function transliterate(text) {
  2.     const transliterationMap = {
  3.          // lower case
  4.          'a' : 'а',
  5.          'b' : 'б',
  6.          'c' : 'к',
  7.          'd' : 'д',
  8.          'e' : 'е',
  9.          'f' : 'ф',
  10.          'g' : 'г',
  11.          'h' : 'х',
  12.          'i' : 'и',
  13.          'j' : 'дж',
  14.          'k' : 'к',
  15.          'l' : 'л',
  16.          'm' : 'м',
  17.          'n' : 'н',
  18.          'o' : 'о',
  19.          'p' : 'п',
  20.          'q' : 'к',
  21.          'r' : 'р',
  22.          's' : 'с',
  23.          't' : 'т',
  24.          'u': ['у', 'ю'],
  25.          'v' : 'в',
  26.          'w' : 'в',
  27.          'x' : 'екс',
  28.          'y' : 'и',
  29.          'z' : 'з',
  30.  
  31.          // upper case
  32.          'A' : 'А',
  33.          'B' : 'Б',
  34.          'C' : 'К',
  35.          'D' : 'Д',
  36.          'E' : 'Е',
  37.          'F' : 'Ф',
  38.          'G' : 'Г',
  39.          'H' : 'Х',
  40.          'I' : 'И',
  41.          'J' : 'ДЖ',
  42.          'K' : 'К',
  43.          'L' : 'Л',
  44.          'M' : 'М',
  45.          'N' : 'Н',
  46.          'O' : 'О',
  47.          'P' : 'П',
  48.          'Q' : 'К',
  49.          'R' : 'Р',
  50.          'S' : 'С',
  51.          'T' : 'Т',
  52.          'U': ['У', 'Ю'],
  53.          'V' : 'В',
  54.          'W' : 'В',
  55.          'X' : 'ЕКС',
  56.          'Y' : 'И',
  57.          'Z' : 'З',
  58.     };
  59.  
  60.     text = text.replace(/ия\b/g, "ia")
  61.     .replace(/Ия\b/g, "Ia")
  62.     .replace(/иЯ\b/g, "iA")
  63.     .replace(/ИЯ\b/g, "IA");
  64.     const transliteratedText = text.split('').map(letter => {
  65.         if (transliterationMap[letter]) {
  66.             if (Array.isArray(transliterationMap[letter])) {
  67.                 return transliterationMap[letter].join('/');
  68.             } else {
  69.                 return transliterationMap[letter];
  70.             }
  71.         } else {
  72.             return letter;
  73.         }
  74.     }).join('');
  75.  
  76.  
  77.     return transliteratedText.replace(/\//g, ' / ');
  78. }
  79.  
  80. // Event listeners
  81. buttonCalculate.onclick = (e) => {
  82.     e.preventDefault();
  83.     separateWords();
  84.     modal.style.display = "block";
  85.     modal.style.opacity = "1";
  86. };
  87.  
  88. buttonClean.onclick = (e) => {
  89.     e.preventDefault();
  90.     cleanAll();
  91. };
  92.  
  93. buttonFilter.onclick = (e) => {
  94.     e.preventDefault();
  95.     displayResults();
  96.    
  97. };
  98.  
  99. const cleanAll = () => {
  100.     result.innerHTML = "";
  101.     inputName.value = "";
  102.     errorDiv.innerText = "";
  103.     modal.style.display = "none";
  104.     filterNumberInput.value = "";
  105.     allResults = [];
  106. };
  107.  
  108. const separateWords = () => {
  109.     const words = inputName.value.toLowerCase().split(' ');
  110.     if (words.length === 0 || inputName.value === "") {
  111.         errorDiv.innerText = "Please, write your name.";
  112.         return;
  113.     }
  114.     allResults = [];
  115.     words.forEach(word => {
  116.         if (word !== "") {
  117.             calculateWordNumerology(word);
  118.         }
  119.     });
  120.     displayResults();
  121. };
  122.  
  123. const calculateWordNumerology = (word) => {
  124.     let sum = word.split('').map(letter => lettersToNumbers[letter] || 0).reduce((acc, curr) => acc + curr, 0);
  125.     let destinyNumber = reduceNumber(sum);
  126.     allResults.push({ word, destinyNumber });
  127. };
  128. const calculateNumerology = (word) => {
  129.     let sum = word.split('').map(letter => lettersToNumbers[letter.toLowerCase()] || 0).reduce((acc, curr) => acc + curr, 0);
  130.     return reduceNumber(sum);
  131. };
  132. const reduceNumber = (number) => {
  133.     while (number > 9) {
  134.         number = number.toString().split('').reduce((acc, digit) => acc + parseInt(digit, 10), 0);
  135.     }
  136.     return number;
  137. };
  138.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement