inputmask.extensions.js 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  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.2.3-21
  7. */
  8. !function(factory) {
  9. "function" == typeof define && define.amd ? define([ "inputmask.dependencyLib", "inputmask" ], factory) : "object" == typeof exports ? module.exports = factory(require("./inputmask.dependencyLib.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. onUnMask: function(maskedValue, unmaskedValue, opts) {
  97. return maskedValue;
  98. }
  99. },
  100. email: {
  101. mask: "*{1,64}[.*{1,64}][.*{1,64}][.*{1,64}]@*{1,64}[.*{2,64}][.*{2,6}][.*{1,2}]",
  102. greedy: !1,
  103. onBeforePaste: function(pastedValue, opts) {
  104. return pastedValue = pastedValue.toLowerCase(), pastedValue.replace("mailto:", "");
  105. },
  106. definitions: {
  107. "*": {
  108. validator: "[0-9A-Za-z!#$%&'*+/=?^_`{|}~-]",
  109. cardinality: 1,
  110. casing: "lower"
  111. }
  112. },
  113. onUnMask: function(maskedValue, unmaskedValue, opts) {
  114. return maskedValue;
  115. }
  116. },
  117. mac: {
  118. mask: "##:##:##:##:##:##"
  119. }
  120. }), Inputmask;
  121. });