Skip to content
Related Articles

Related Articles

Improve Article
Save Article
Like Article

How to replace characters except last with the specified mask character in JavaScript ?

  • Last Updated : 17 Jun, 2021

In this article, we have given a number and the task is to replace the characters except for the last character with a specified mask character in JavaScript.

Example: Let’s take a number 12345678 and the masking character is * and the number of the last element that we have to skip is 2 In the below image shows that we skip the last two-element, and we mask another character with ‘*’

Hey geek! The constant emerging technologies in the world of web development always keeps the excitement for this subject through the roof. But before you tackle the big projects, we suggest you start by learning the basics. Kickstart your web development journey by learning JS concepts with our JavaScript Course. Now at it's lowest price ever!

Approach: We will make one function that can mask the character of the string except for the last element we will give our number as a string.



  • In this function we take three-argument, first one is a string which we want to mask, the second argument will specify mask character, and third is number of character that you want to skip
  • We use some inbuilt JavaScript function slice to slice our given string here we write slice(0,-n) where -n will skip the last n character of the string.
  • Then we use replace function to replace the character with a specified mask. Replace all characters we use regex /./g where ‘.’ will match any character and g is tens for globally.
  • Now we have to add the remaining character into the masking string, so we again use the slice function to get the remaining n character and add it into the masking string.

 

Example:

Javascript




<script>
    // Function for masking the character 
    function MaskCharacter(str, mask, n = 1) {
  
        // Slice the string and replace with
        // mask then add remaining string
        return ('' + str).slice(0, -n)
            .replace(/./g, mask)
            + ('' + str).slice(-n);
    }
  
    // Number that we want to mask 
    var num = 12345678;
  
    // Convert number into string
    var str = num.toString();
  
    // Call function without giving value of n
    console.log(MaskCharacter(str, '#'));
  
    // Call function with value of n
    console.log(MaskCharacter(str, '#', 2));
</script>

Output:




My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!