jquery.inputmask.phone.extensions.js 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. /*!
  2. * jquery.inputmask.phone.extensions.js
  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)
  6. * Version: 3.1.30
  7. */
  8. !function(factory) {
  9. "function" == typeof define && define.amd ? define([ "jquery", "./jquery.inputmask" ], factory) : factory(jQuery);
  10. }(function($) {
  11. return $.extend($.inputmask.defaults.aliases, {
  12. phone: {
  13. url: "phone-codes/phone-codes.js",
  14. maskInit: "+pp(pp)pppppppp",
  15. mask: function(opts) {
  16. opts.definitions = {
  17. p: {
  18. validator: function() {
  19. return !1;
  20. },
  21. cardinality: 1
  22. },
  23. "#": {
  24. validator: "[0-9]",
  25. cardinality: 1
  26. }
  27. };
  28. var maskList = [];
  29. return $.ajax({
  30. url: opts.url,
  31. async: !1,
  32. dataType: "json",
  33. success: function(response) {
  34. maskList = response;
  35. }
  36. }), maskList = maskList.sort(function(a, b) {
  37. return (a.mask || a) < (b.mask || b) ? -1 : 1;
  38. }), maskList.splice(0, 0, opts.maskInit), maskList;
  39. },
  40. nojumps: !0,
  41. nojumpsThreshold: 1
  42. },
  43. phonebe: {
  44. alias: "phone",
  45. url: "phone-codes/phone-be.js",
  46. maskInit: "+32(pp)pppppppp",
  47. nojumpsThreshold: 4,
  48. onBeforeMask: function(value) {
  49. var processedValue = value.replace(/^0/g, "");
  50. return (processedValue.indexOf("32") > 1 || -1 == processedValue.indexOf("32")) && (processedValue = "32" + processedValue),
  51. processedValue;
  52. }
  53. }
  54. }), $.fn.inputmask;
  55. });