JSFiddle - React, Tailwind, and code Playground

by LuckyCat

JavaScript

// 5\task05
/*'use strict';

// Написать функцию, которая изменяет строку под стиль масикровки кредитной карты
// видны должны быть только последние 4 цифры
// если входящая строка меньше 4 цифр, то вовзращать оригинал
function funcName(str) {
    
}

Например:  
funcName('4556364607935616'), '############5616'
funcName('1'),                '1'
funcName('11111'),            '#1111'



// Solutions: 
*/

'use strict';
function funcName(str) {
		var length = str.length;
    var copyStr = str;
    
    if (length > 4) {    	
      var repalceLength = length - 4;      
      for (var i = 0; i < repalceLength; ++i) {        
        str = str.substring(0, i) + "#";        
      }
      var lastSym = copyStr.substring(repalceLength, length);
      str += lastSym;      
    }
    
    console.log("Origin: " + copyStr);
    console.log("Result: " + str);
    
    return str;
}
function funcName2(str) {
		var length = str.length;
    var copyStr = str;
    
    if (length > 4) {
      var lastSym = str.slice(-4);
      
      var repalceLength = length - 4;      
      for (var i = 0; i < repalceLength; ++i) {
        str = str.substring(0, i) + "#";        
      }
      str += lastSym;      
    }
    
    console.log("Origin: " + copyStr);
    console.log("Result: " + str);
    
    return str;
}
function funcName3(str) {		
    var copyStr = str;    
    
    str = str.replace(/\d(?=\d{4})/g, "#");    
    
    console.log("Origin: " + copyStr);
    console.log("Result: " + str);
    
    return str;
}
funcName('4556364607935616');//, '############5616'
funcName('1');//,                '1'
funcName('11111');//,            '#1111'
console.log("----------------------------");
funcName2('4556364607935616');//, '############5616'
funcName2('1');//,                '1'
funcName2('11111');//,            '#1111'
console.log("----------------------------");
funcName3('4556364607935616');//, '############5616'
funcName3('1');//,                '1'
funcName3('11111');//,        ...