Need help with jQuery-Mask-Plugin?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

igorescobar
4.4K Stars 1.5K Forks Other 765 Commits 98 Opened issues

Description

A jQuery Plugin to make masks on form fields and HTML elements.

Services available

!
?

Need anything else?

Contributors list

# 7,949
HTML
Shell
JavaScr...
jquery-...
412 commits
# 67,968
jquery-...
HTML
CSS
html-el...
15 commits
# 99,393
CSS
Jenkins
jquery-...
HTML
7 commits
# 84,427
HTML
Shell
Node.js
transli...
7 commits
# 94,878
Shell
C++
html-el...
C
7 commits
# 100,486
HTML
jquery-...
html-el...
Shell
6 commits
# 110,357
PHP
jquery-...
HTML
html-el...
5 commits
# 112,044
HTML
CSS
jquery-...
html-el...
4 commits
# 140,287
jquery-...
HTML
CSS
html-el...
3 commits
# 130,672
HTML
html-el...
packagi...
PHP
3 commits
# 26,798
JavaScr...
Shell
css-fra...
Bootstr...
3 commits
# 146,676
jquery-...
HTML
CSS
html-el...
3 commits
# 98,976
CSS
Shell
reactjs
HTML
2 commits
# 173,399
jquery-...
HTML
CSS
html-el...
2 commits
# 153,064
PHP
Shell
reactph...
HTML
2 commits
# 170,963
Shell
jquery-...
HTML
html-el...
2 commits
# 15,516
python-...
React
webdev
express...
1 commit
# 223,946
React
Shell
contain...
HTML
1 commit
# 52,741
Ruby
Rails
Shell
Sass
1 commit
# 225,515
jquery-...
HTML
CSS
html-el...
1 commit

jQuery Mask Plugin

A jQuery Plugin to make masks on form fields and HTML elements.

Build Status Code Climate jsDelivr Hits CDNJS

Documentation, Demos & Usage Examples

https://igorescobar.github.io/jQuery-Mask-Plugin/

Features

  • Lightweight (~2kb minified, ~1kb gziped).
  • Built-in support for dynamically added elements.
  • Masks on any HTML element (no need to server-side mask anymore!)!
  • HTML notation support (data-mask, data-mask-recursive, data-mask-clearifnotmatch).
  • String/Numeric/Alpha/Mixed masks.
  • Reverse mask support for masks on numeric fields.
  • Sanitization.
  • Optional digits.
  • Recursive Digits.
  • Fallback Digits.
  • Advanced mask initialization.
  • Advanced Callbacks.
  • On-the-fly mask change.
  • Mask removal.
  • Full customization.
  • Compatibility with React/UMD/Zepto.js/Angular.JS.
  • HTML5 placeholder support.
  • Clear the field if it not matches support.

Want to buy me a beer? :heart_eyes:

http://paypal.me/igorcescobar

Install it via Package Managers

Bower

bower install jquery-mask-plugin

NPM

npm i jquery-mask-plugin

Meteor

meteor add igorescobar:jquery-mask-plugin

Packagist/Composer

composer require igorescobar/jquery-mask-plugin

CDNs

CDNjs

https://cdnjs.com/libraries/jquery.mask

JSDelivr

http://www.jsdelivr.com/projects/jquery.mask

RubyGems

gem 'jquery_mask_rails' # more details at http://bit.ly/jquery-mask-gem

Tutorials

English

Portuguese

Fun (or not) facts

Compatibility

jQuery Mask Plugin has been tested with jQuery 1.7+ on all major browsers:

  • Firefox 2+ (Win, Mac, Linux);
  • IE7+ (Win);
  • Chrome 6+ (Win, Mac, Linux, Android, iPhone);
  • Safari 3.2+ (Win, Mac, iPhone);
  • Opera 8+ (Win, Mac, Linux, Android, iPhone).
  • Android Default Browser v4+

Typescript support

Definition can be found here.

To install, open terminal and navigate to your working directory.

Typescript 1.x users

  • Install typings by running
    npm install typings --global
    .
  • Then install the definition by running
    typings install dt~jquery-mask-plugin --global --save
    . ### Typescript 2.x users
  • Use npm
    npm install --save-dev @types/jquery-mask-plugin
    .

For configuration options and troubleshooting refer to these repositories: * Typings * DefinitelyTyped * Typescript

Problems or Questions?

Before opening a new issue take a look on those frequently asked questions:

How to integrate with React.js?

How to integrate with Angular.js?

How to integrate with Vue.js?

Problems with old versions of Android keyboard

Negative numbers, or currency related problems

Prefix or sufix on the Mask

Add validation?

Field type number, email not working?

Want to keep the placeholder as the user types?

E-mail mask?

Bugs?

Did you read our docs? Yes? Cool! So now... make sure that you have a functional jsfiddle exemplifying your problem and open an issue for us. Don't know how to do it? Use this fiddle example.

Contributing

  • Bug Reporting: Yes! You can contribute opening issues!
  • Documenting: Do you think that something in our docs should be better? Do you have a cool idea to increase the awesomeness? Summit your pull request with your idea!
  • Bug Fixing: No time to lose? Fix it and help others! Write some tests to make sure that everything are working propertly.
  • Improving: Open an issue and lets discuss it. Just to make sure that you're on the right track.
  • Sharing: Yes! Have we saved some of your time? Are you enjoying our mask plugin? Sharing is caring! Tweet it! Facebook it! Linkedin It(?!) :D
  • Donating: Hey, now that you don't need to worry about masks again... buy me a coffee, beer or a PlayStation 4 (Xbox One also accepted!) :o)

Unit Tests

We use QUnit and GruntJS. To run our test suit is just run:

grunt test
in your console or you can open those
test-for*.html
files inside of our
test/
folder.

In case you're familiar with Docker here is how you can use it:

bash
docker build -t jquery-mask .
CONTAINER_ID=$(docker run -d -v $PWD:/app/jquery-mask-plugin jquery-mask)
docker exec $CONTAINER_ID sh -c "npm install"
docker exec -it $CONTAINER_ID /bin/bash
grunt test

Contributors

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.