inputmask.phone.extensions.js 1.8 KB

123456789101112131415161718192021222324252627282930313233343536
  1. /*!
  2. * inputmask.phone.extensions.js
  3. * https://github.com/RobinHerbots/jquery.inputmask
  4. * Copyright (c) 2010 - 2016 Robin Herbots
  5. * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
  6. * Version: 3.3.2-115
  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(window.dependencyLib || jQuery, window.Inputmask);
  10. }(function($, Inputmask) {
  11. return Inputmask.extendAliases({
  12. abstractphone: {
  13. countrycode: "",
  14. phoneCodes: [],
  15. mask: function(opts) {
  16. opts.definitions = {
  17. "#": opts.definitions[9]
  18. };
  19. var masks = opts.phoneCodes.sort(function(a, b) {
  20. var maska = (a.mask || a).replace(/#/g, "9").replace(/[\+\(\)#-]/g, ""), maskb = (b.mask || b).replace(/#/g, "9").replace(/[\+\(\)#-]/g, ""), maskas = (a.mask || a).split("#")[0], maskbs = (b.mask || b).split("#")[0];
  21. return 0 === maskbs.indexOf(maskas) ? -1 : 0 === maskas.indexOf(maskbs) ? 1 : maska.localeCompare(maskb);
  22. });
  23. return masks;
  24. },
  25. keepStatic: !0,
  26. onBeforeMask: function(value, opts) {
  27. var processedValue = value.replace(/^0{1,2}/, "").replace(/[\s]/g, "");
  28. return (processedValue.indexOf(opts.countrycode) > 1 || processedValue.indexOf(opts.countrycode) === -1) && (processedValue = "+" + opts.countrycode + processedValue),
  29. processedValue;
  30. },
  31. onUnMask: function(maskedValue, unmaskedValue, opts) {
  32. return unmaskedValue;
  33. }
  34. }
  35. }), Inputmask;
  36. });