inputmask.phone.extensions.js 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  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.4-64
  7. */
  8. !function(factory) {
  9. "function" == typeof define && define.amd ? define([ "inputmask.dependencyLib", "inputmask" ], factory) : "object" == typeof exports ? module.exports = factory(require("./inputmask.dependencyLib"), require("./inputmask")) : factory(window.dependencyLib || jQuery, window.Inputmask);
  10. }(function($, Inputmask) {
  11. var analyseMaskBase = Inputmask.analyseMask;
  12. return Inputmask.analyseMask = function(mask, opts) {
  13. var mt = analyseMaskBase.call(this, mask, opts);
  14. return mt;
  15. }, Inputmask.extendAliases({
  16. abstractphone: {
  17. countrycode: "",
  18. phoneCodes: [],
  19. mask: function(opts) {
  20. opts.definitions = {
  21. "#": opts.definitions[9]
  22. };
  23. var masks = opts.phoneCodes.sort(function(a, b) {
  24. var maska = (a.mask || a).replace(/#/g, "9").replace(/[\)]/, "9").replace(/[\+\(\)#-]/g, ""), maskb = (b.mask || b).replace(/#/g, "9").replace(/[\)]/, "9").replace(/[\+\(\)#-]/g, ""), maskas = (a.mask || a).split("#")[0], maskbs = (b.mask || b).split("#")[0];
  25. return 0 === maskbs.indexOf(maskas) ? -1 : 0 === maskas.indexOf(maskbs) ? 1 : maska.localeCompare(maskb);
  26. });
  27. return masks;
  28. },
  29. keepStatic: !0,
  30. onBeforeMask: function(value, opts) {
  31. var processedValue = value.replace(/^0{1,2}/, "").replace(/[\s]/g, "");
  32. return (processedValue.indexOf(opts.countrycode) > 1 || processedValue.indexOf(opts.countrycode) === -1) && (processedValue = "+" + opts.countrycode + processedValue),
  33. processedValue;
  34. },
  35. onUnMask: function(maskedValue, unmaskedValue, opts) {
  36. return unmaskedValue;
  37. },
  38. inputmode: "tel"
  39. }
  40. }), Inputmask;
  41. });