2 Input Mask plugin extensions
3 http://github.com/RobinHerbots/jquery.inputmask
4 Copyright (c) 2010 - 2014 Robin Herbots
5 Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
8 Optional extensions on the jquery.inputmask base
12 $.extend($.inputmask.defaults.definitions, {
14 validator: "[A-Za-z]",
16 casing: "upper" //auto uppercasing
19 validator: "[A-Za-z\u0410-\u044F\u0401\u04510-9]",
24 $.extend($.inputmask.defaults.aliases, {
29 defaultPrefix: "http://",
31 urlpre1: new RegExp("[fh]"),
32 urlpre2: new RegExp("(ft|ht)"),
33 urlpre3: new RegExp("(ftp|htt)"),
34 urlpre4: new RegExp("(ftp:|http|ftps)"),
35 urlpre5: new RegExp("(ftp:/|ftps:|http:|https)"),
36 urlpre6: new RegExp("(ftp://|ftps:/|http:/|https:)"),
37 urlpre7: new RegExp("(ftp://|ftps://|http://|https:/)"),
38 urlpre8: new RegExp("(ftp://|ftps://|http://|https://)")
42 validator: function (chrs, buffer, pos, strict, opts) {
46 prevalidator: (function () {
47 var result = [], prefixLimit = 8;
48 for (var i = 0; i < prefixLimit; i++) {
49 result[i] = (function () {
52 validator: function (chrs, buffer, pos, strict, opts) {
53 if (opts.regex["urlpre" + (j + 1)]) {
55 if (((j + 1) - chrs.length) > 0) {
56 tmp = buffer.join('').substring(0, ((j + 1) - chrs.length)) + "" + tmp;
58 var isValid = opts.regex["urlpre" + (j + 1)].test(tmp);
59 if (!strict && !isValid) {
61 for (k = 0; k < opts.defaultPrefix.length; k++) {
62 buffer[pos] = opts.defaultPrefix[k]; pos++;
64 for (k = 0; k < tmp.length - 1; k++) {
65 buffer[pos] = tmp[k]; pos++;
67 return { "pos": pos };
88 "ip": { //ip-address mask
89 mask: ["[[x]y]z.[[x]y]z.[[x]y]z.x[yz]", "[[x]y]z.[[x]y]z.[[x]y]z.[[x]y][z]"],
97 validator: function (chrs, buffer, pos, strict, opts) {
98 if (pos - 1 > -1 && buffer[pos - 1] != ".")
99 chrs = buffer[pos - 1] + chrs;
100 else chrs = "0" + chrs;
101 return new RegExp("2[0-5]|[01][0-9]").test(chrs);
104 definitionSymbol: "i"
107 validator: function (chrs, buffer, pos, strict, opts) {
108 if (pos - 1 > -1 && buffer[pos - 1] != ".") {
109 chrs = buffer[pos - 1] + chrs;
110 if (pos - 2 > -1 && buffer[pos - 2] != ".") {
111 chrs = buffer[pos - 2] + chrs;
112 } else chrs = "0" + chrs;
113 } else chrs = "00" + chrs;
114 return new RegExp("25[0-5]|2[0-4][0-9]|[01][0-9][0-9]").test(chrs);
117 definitionSymbol: "i"