| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- /*
- 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")["cd"]);
- }
- });
- */
- (function ($) {
- $.extend($.inputmask.defaults.aliases, {
- 'phone': {
- url: "phone-codes/phone-codes.js",
- maskInit: "+pp(pp)pppppppp",
- countrycode: "",
- 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;
- },
- error: function (xhr, ajaxOptions, thrownError) {
- alert(thrownError + " - " + opts.url);
- }
- });
- maskList = maskList.sort(function (a, b) {
- return (a["mask"] || a) < (b["mask"] || b) ? -1 : 1;
- });
- if (opts.countrycode != "") {
- opts.maskInit = "+" + opts.countrycode + opts.maskInit.substring(3);
- }
- maskList.splice(0, 0, opts.maskInit);
- return maskList;
- },
- nojumps: true,
- nojumpsThreshold: 1,
- onBeforeMask: function (value, opts) {
- var processedValue = value.replace(/^0/g, "");
- if (processedValue.indexOf(opts.countrycode) > 1 || processedValue.indexOf(opts.countrycode) == -1) {
- processedValue = "+" + opts.countrycode + processedValue;
- }
- return processedValue;
- }
- },
- 'phonebe': {
- alias: "phone",
- url: "phone-codes/phone-be.js",
- countrycode: "32",
- nojumpsThreshold: 4
- }
- });
- return $.fn.inputmask;
- })(jQuery);
|