Advertisement
Todorov_Stanimir

02. Activation Keys Retake Final Exam - 20 December 2018

Jul 26th, 2019
132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function activationKeys([input]) {
  2.     let result = [];
  3.     input.split('&').forEach(element => {
  4.         if (element.match(/^[\da-z]{16}|[\da-z]{25}$/gi)) {
  5.             let key = element.split('').map(char => {
  6.                 return ('0' <= char && char <= '9') ? 9 - Number(char) : char.toUpperCase()
  7.             });
  8.             let y = key.length % 4; // y = 0 if length === 16 or y = 1 if length === 25
  9.             for (let i = 12 + 8 * y; i > 0; i -= 4 + y) {
  10.                 key.splice(i, 0, '-');
  11.             }
  12.             result.push(key.join(''));
  13.         }
  14.     });
  15.     console.log(result.join(', '));
  16. }
  17. activationKeys(['t1kjZU764zIME6Dl9ryD0g1U8&-P4*(`Q>:x8\yE1{({X/Hoq!gR.&rg93bXgkmILW188m&KroGf1prUdxdA4ln&U3WH9kXPY0SncCfs']);
  18. activationKeys(['xPt8VYhUDalilWLvb6uMSGEEf&KWQ{R.@/HZCbbV++1o]V+oG@@fF^93&y6fT5EGFgZHqlFiS'])
  19.  
  20. // Result:
  21. // T8KJZ-U235Z-IME3D-L0RYD-9G8U1, RG06-BXGK-MILW-811M, KROG-F8PR-UDXD-A5LN, U6WH-0KXP-Y9SN-CCFS
  22. // XPT1V-YHUDA-LILWL-VB3UM-SGEEF, Y3FT-4EGF-GZHQ-LFIS
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement