Blame view

www/plugins/input-mask/jquery.inputmask.phone.extensions.js 1.54 KB
1ea3b987   Administrator   maby first commit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
  /*
  Input Mask plugin extensions
  http://github.com/RobinHerbots/jquery.inputmask
  Copyright (c) 2010 - 2014 Robin Herbots
  Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
  Version: 0.0.0
  
  Phone extension.
  When using this extension make sure you specify the correct url to get the masks
  
   $(selector).inputmask("phone", {
                  url: "Scripts/jquery.inputmask/phone-codes/phone-codes.json", 
                  onKeyValidation: function () { //show some metadata in the console
                      console.log($(this).inputmask("getmetadata")["name_en"]);
                  } 
    });
  
  
  */
  (function ($) {
      $.extend($.inputmask.defaults.aliases, {
          'phone': {
              url: "phone-codes/phone-codes.json",
              mask: function (opts) {
                  opts.definitions = {
                      'p': {
                          validator: function () { return false; },
                          cardinality: 1
                      },
                      '#': {
                          validator: "[0-9]",
                          cardinality: 1
                      }
                  };
                  var maskList = [];
                  $.ajax({
                      url: opts.url,
                      async: false,
                      dataType: 'json',
                      success: function (response) {
                          maskList = response;
                      }
                  });
      
                  maskList.splice(0, 0, "+p(ppp)ppp-pppp");
                  return maskList;
              }
          }
      });
  })(jQuery);