jquery.inputmask is a jquery plugins which created an input mask ;-)
The plugin is based on the maskedinput plugin of Josh Bush (http://digitalbush.com/projects/masked-input-plugin), but has finer control over the 'mask-definitions')
A definitions can have a cardinality and have multiple prevalidators.
Example of some new definitions:
'd': { //day
"validator": "0[1-9]|[12][0-9]|3[01]",
"cardinality": 2,
"prevalidator": [{ "validator": "[0-3]", "cardinality": 1}]
},
'm': { //month
"validator": "0[1-9]|1[012]",
"cardinality": 2,
"prevalidator": [{ "validator": "[01]", "cardinality": 1}]
},
'y': { //year
"validator": "(19|20)\\d\\d",
"cardinality": 4,
"prevalidator": [
{ "validator": "[12]", "cardinality": 1 },
{ "validator": "(19|20)", "cardinality": 2 },
{ "validator": "(19|20)\\d", "cardinality": 3 }
]
}
These allow for a finer date validation then 99/99/9999 which also allows 33/33/3333 for example.
Usage:
Include the js-files
Define your masks:
$(document).ready(function(){
$("#date").mask("d/m/y"); //direct mask
$("#phone").mask("mask", {"mask": "(999) 999-9999"}); //specifying fn & options
$("#tin").mask({"mask": "99-9999999"}); //specifying options only
});
Extra options:
change the placeholder
$(document).ready(function(){
$("#date").mask("d/m/y",{ "placeholder": "*" });
});
execute a function when the mask is completed
$(document).ready(function(){
$("#date").mask("d/m/y",{ "onComplete": function(){ alert('inputmask complete'); } });
});
mask repeat function
$(document).ready(function(){
$("#number").mask({ "mask": "9", "repeat": 10 }); // ~ mask "9999999999"
});