Socket
Book a DemoInstallSign in
Socket

mask-any-number

Package Overview
Dependencies
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

mask-any-number

Apply flexible numeric masks to any string. Perfect for phone numbers, documents, and custom input formatting.

2.2.0
latest
Source
npmnpm
Version published
Weekly downloads
174
-54.09%
Maintainers
1
Weekly downloads
 
Created
Source

📜 mask-any-number

A lightweight, flexible number-masking library — supports multiple mask patterns and automatically picks the best fit based on the input length.

npm version npm downloads license types

🔧 Installation

npm install mask-any-number

or

yarn add mask-any-number

🌍 Country Phone Masks (built-in)

import { maskNumber, countries } from 'mask-any-number';

// Germany 🇩🇪
maskNumber('493012345678', countries.find(country => country.iso2 === 'DE').masks); 
// "+49 30 1234 5678"

// Brazil 🇧🇷
maskNumber('5511998765432', countries.find(country => country.iso2 === 'BR').masks); 
// "+55 11 99876 5432"

// US 🇺🇸
maskNumber('1234567890', countries.find(country => country.iso2 === 'US').masks); 
// "(123) 456-7890"

🎨 Custom Masks

import { maskNumber } from 'mask-any-number';

// Basic usage
maskNumber('1234567890', ['000-000-0000']); // "123-456-7890"

// Multiple masks, chooses first that fits
maskNumber('12345', ['000-000', '00000']); // "12345"
maskNumber('123456', ['000-000', '00000']); // "123-456"

### Phone Numbers
// US: (XXX) XXX-XXXX
maskNumber('1234567890', ['(000) 000-0000']); // "(123) 456-7890"

// Europe (DE): +49 XX XXXX XXXX
maskNumber('493012345678', ['+49 00 0000 0000']); // "+49 30 1234 5678"

// China: +86 10 1234 5678
maskNumber('861012345678', ['+86 00 0000 0000']); // "+86 10 1234 5678"

⚙️ API

ParameterTypeDescription
valuestringInput numeric string to mask
masksstring[]Array of mask patterns using 0 as digit placeholder

Return: string — formatted number according to the first mask that fits.

🔁 Visual Summary

TypeInputMaskOutput
US Phone1234567890(000) 000-0000(123) 456-7890
EU Phone493012345678+49 00 0000 0000+49 30 1234 5678
CN Phone861012345678+86 00 0000 0000+86 10 1234 5678

🧪 Testing with Mock Data

const examples = [
    { value: '1234567890', masks: ['000-000-0000'] },
    { value: '31122025', masks: ['00/00/0000'] },
];

examples.forEach(({ value, masks }) => {
    console.log(maskNumber(value, masks));
});

💡 Tips

Use multiple masks to handle variable-length numbers.

Keep 0 as the digit placeholder; all other characters are treated as literals.

Ideal for phone numbers, dates, IDs, and other numeric inputs.

For local development:

Inside the library folder

npm run build

npm link

💡 Tips

Use multiple masks to handle variable-length numbers.

Keep 0 as the digit placeholder; all other characters are treated as literals.

Ideal for phone numbers, dates, IDs, and other numeric inputs.

For local development:

Inside the library folder

npm run build

npm link

npm link mask-any-number

⚠️ After the initial link, you only need to run npm run build when updating the library.

Gabriel Gabriel GitHub

🧾 License

MIT © 2025

Keywords

mask

FAQs

Package last updated on 24 Aug 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.