No Description

Robin Herbots 6da62874d1 fix voor patch of val function 15 years ago
README 3e6d2bb8d0 15 years ago
jquery.inputmask.js 6da62874d1 fix voor patch of val function 15 years ago

README

jquery.inputmask is a jquery plugin which create 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.

Also extra features like mask-repetitions (greedy and non-gready) are included. In the examples you will find more about them.


Usage:

Include the js-files




Define your masks:

$(document).ready(function(){
$("#date").inputmask("d/m/y"); //direct mask
$("#phone").inputmask("mask", {"mask": "(999) 999-9999"}); //specifying fn & options
$("#tin").inputmask({"mask": "99-9999999"}); //specifying options only
});

Extra options:
change the placeholder

$(document).ready(function(){
$("#date").inputmask("d/m/y",{ "placeholder": "*" });
});

execute a function when the mask is completed

$(document).ready(function(){
$("#date").inputmask("d/m/y",{ "onComplete": function(){ alert('inputmask complete'); } });
});

mask repeat function

$(document).ready(function(){
$("#number").inputmask({ "mask": "9", "repeat": 10 }); // ~ mask "9999999999"
});

mask non-greedy repeat function

$(document).ready(function(){
$("#number").inputmask({ "mask": "9", "repeat": 10, "greedy": false }); // ~ mask "9" or mask "99" or ... mask "9999999999"
});

get the unmaskedvalue

$(document).ready(function(){
$("#number").inputmask('unmaskedvalue');
});

set a value and apply mask

$(document).ready(function(){
$("#number").inputmask('setvalue', 12345);
});

when the option patch_eval is set to true the same can be done with the traditionnal jquery.val function

$(document).ready(function(){
$("#number").val(12345);
});

add custom definitions

$.extend($.inputmask.defaults.definitions, {
'f': {
"validator": "[0-9\(\)\.\+/ ]",
"cardinality": 1,
'prevalidator': null
}
});