inputmask.extensions.js 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. /*!
  2. * inputmask.extensions.js
  3. * http://github.com/RobinHerbots/jquery.inputmask
  4. * Copyright (c) 2010 - 2015 Robin Herbots
  5. * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
  6. * Version: 3.1.64-177
  7. */
  8. !function(factory) {
  9. "function" == typeof define && define.amd ? define([ "jquery", "inputmask" ], factory) : "object" == typeof exports ? module.exports = factory(require("jquery"), require("inputmask")) : factory(jQuery, window.Inputmask);
  10. }(function($, Inputmask) {
  11. return Inputmask.extendDefinitions({
  12. A: {
  13. validator: "[A-Za-z\u0410-\u044f\u0401\u0451\xc0-\xff\xb5]",
  14. cardinality: 1,
  15. casing: "upper"
  16. },
  17. "&": {
  18. validator: "[0-9A-Za-z\u0410-\u044f\u0401\u0451\xc0-\xff\xb5]",
  19. cardinality: 1,
  20. casing: "upper"
  21. },
  22. "#": {
  23. validator: "[0-9A-Fa-f]",
  24. cardinality: 1,
  25. casing: "upper"
  26. }
  27. }), Inputmask.extendAliases({
  28. url: {
  29. mask: "ir",
  30. placeholder: "",
  31. separator: "",
  32. defaultPrefix: "http://",
  33. regex: {
  34. urlpre1: new RegExp("[fh]"),
  35. urlpre2: new RegExp("(ft|ht)"),
  36. urlpre3: new RegExp("(ftp|htt)"),
  37. urlpre4: new RegExp("(ftp:|http|ftps)"),
  38. urlpre5: new RegExp("(ftp:/|ftps:|http:|https)"),
  39. urlpre6: new RegExp("(ftp://|ftps:/|http:/|https:)"),
  40. urlpre7: new RegExp("(ftp://|ftps://|http://|https:/)"),
  41. urlpre8: new RegExp("(ftp://|ftps://|http://|https://)")
  42. },
  43. definitions: {
  44. i: {
  45. validator: function(chrs, maskset, pos, strict, opts) {
  46. return !0;
  47. },
  48. cardinality: 8,
  49. prevalidator: function() {
  50. for (var result = [], prefixLimit = 8, i = 0; prefixLimit > i; i++) result[i] = function() {
  51. var j = i;
  52. return {
  53. validator: function(chrs, maskset, pos, strict, opts) {
  54. if (opts.regex["urlpre" + (j + 1)]) {
  55. var k, tmp = chrs;
  56. j + 1 - chrs.length > 0 && (tmp = maskset.buffer.join("").substring(0, j + 1 - chrs.length) + "" + tmp);
  57. var isValid = opts.regex["urlpre" + (j + 1)].test(tmp);
  58. if (!strict && !isValid) {
  59. for (pos -= j, k = 0; k < opts.defaultPrefix.length; k++) maskset.buffer[pos] = opts.defaultPrefix[k],
  60. pos++;
  61. for (k = 0; k < tmp.length - 1; k++) maskset.buffer[pos] = tmp[k], pos++;
  62. return {
  63. pos: pos
  64. };
  65. }
  66. return isValid;
  67. }
  68. return !1;
  69. },
  70. cardinality: j
  71. };
  72. }();
  73. return result;
  74. }()
  75. },
  76. r: {
  77. validator: ".",
  78. cardinality: 50
  79. }
  80. },
  81. insertMode: !1,
  82. autoUnmask: !1
  83. },
  84. ip: {
  85. mask: "i[i[i]].i[i[i]].i[i[i]].i[i[i]]",
  86. definitions: {
  87. i: {
  88. validator: function(chrs, maskset, pos, strict, opts) {
  89. return pos - 1 > -1 && "." !== maskset.buffer[pos - 1] ? (chrs = maskset.buffer[pos - 1] + chrs,
  90. chrs = pos - 2 > -1 && "." !== maskset.buffer[pos - 2] ? maskset.buffer[pos - 2] + chrs : "0" + chrs) : chrs = "00" + chrs,
  91. new RegExp("25[0-5]|2[0-4][0-9]|[01][0-9][0-9]").test(chrs);
  92. },
  93. cardinality: 1
  94. }
  95. }
  96. },
  97. email: {
  98. mask: "*{1,64}[.*{1,64}][.*{1,64}][.*{1,64}]@*{1,64}[.*{2,64}][.*{2,6}][.*{1,2}]",
  99. greedy: !1,
  100. onBeforePaste: function(pastedValue, opts) {
  101. return pastedValue = pastedValue.toLowerCase(), pastedValue.replace("mailto:", "");
  102. },
  103. definitions: {
  104. "*": {
  105. validator: "[0-9A-Za-z!#$%&'*+/=?^_`{|}~-]",
  106. cardinality: 1,
  107. casing: "lower"
  108. }
  109. }
  110. },
  111. mac: {
  112. mask: "##:##:##:##:##:##"
  113. }
  114. }), Inputmask;
  115. });