1.0.4 β€’ Published 7 months ago

simple-phone-mask v1.0.4

Weekly downloads
-
License
MIT
Repository
github
Last release
7 months ago

Simple Phone Mask

A lightweight and customizable phone number input mask with country flags and selection.

NPM Version GitHub License

Features

  • 🌍 Country flag display with optional country selection
  • 🌍 Automatic country detection by IP address
  • πŸ“± Automatic phone number formatting based on country
  • 🎯 Custom mask patterns support
  • 🎨 Customizable display options
  • πŸš€ No dependencies
  • πŸ“¦ Lightweight

Demo

Check out the online demo to see it in action!

Installation

NPM

npm install simple-phone-mask

CDN

<!-- JavaScript -->
<script src="https://unpkg.com/simple-phone-mask@1.0.4/dist/simple-phone-mask.min.js"></script>

<!-- CSS -->
<link href="https://unpkg.com/simple-phone-mask@1.0.4/dist/simple-phone-mask.min.css" rel="stylesheet" />

Usage

HTML

<input type="tel" id="phone" />

JavaScript

// Basic usage with default settings (Ukraine)
new SimplePhoneMask('#phone');

// With country flag and selection
new SimplePhoneMask('#phone', {
	countryCode: 'UA',
	showFlag: true,
	allowCountrySelect: true,
});

// With flag but without country selection
new SimplePhoneMask('#phone', {
	countryCode: 'US',
	showFlag: true,
	allowCountrySelect: false,
});

// Without flag
new SimplePhoneMask('#phone', {
	countryCode: 'PL',
	showFlag: false,
});

// With custom mask pattern
new SimplePhoneMask('#phone', {
	countryCode: '+48',
	maskPattern: '___ ___ ___',
	showFlag: true,
	allowCountrySelect: false,
});

// Auto-detect country by IP
new SimplePhoneMask('#phone', {
	detectIP: true,
	showFlag: true,
	allowCountrySelect: false,
});

Options

OptionTypeDefaultDescription
countryCodestring"UA"Country code (e.g., 'UA', 'US') or phone code (e.g., '+380', '+1')
maskPatternstringnullCustom mask pattern (overrides default country mask)
showFlagbooleantrueShow country flag
allowCountrySelectbooleantrueAllow country selection from dropdown
detectIPbooleanfalseAuto-detect country by IP address. When enabled, the countryCode option will be ignored and the country will be determined by the user's IP address.

Supported Countries

The library supports phone number formatting for multiple countries including:

  • πŸ‡ΊπŸ‡¦ Ukraine (+380)
  • πŸ‡ΊπŸ‡Έ United States (+1)
  • πŸ‡¬πŸ‡§ United Kingdom (+44)
  • πŸ‡©πŸ‡ͺ Germany (+49)
  • πŸ‡«πŸ‡· France (+33)
  • πŸ‡΅πŸ‡± Poland (+48)
  • And many more...

Browser Support

  • Chrome (latest)
  • Firefox (latest)
  • Safari (latest)
  • Edge (latest)
  • Opera (latest)

Contributing

  1. Fork it!
  2. Create your feature branch: git checkout -b feature/my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin feature/my-new-feature
  5. Submit a pull request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Author

Created by Serhii Mykulyn

Support

If you found this project useful, please consider giving it a ⭐️ on GitHub!

1.0.4

7 months ago

1.0.3

7 months ago

1.0.2

7 months ago

1.0.1

8 months ago

1.0.0

8 months ago