You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
52 lines
2.2 KiB
52 lines
2.2 KiB
4 years ago
|
/*!
|
||
|
* inputmask.phone.extensions.js
|
||
|
* https://github.com/RobinHerbots/jquery.inputmask
|
||
|
* Copyright (c) 2010 - 2016 Robin Herbots
|
||
|
* Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
|
||
|
* Version: 3.3.1
|
||
|
*/
|
||
|
!function(factory) {
|
||
|
"function" == typeof define && define.amd ? define([ "jquery", "inputmask" ], factory) : "object" == typeof exports ? module.exports = factory(require("jquery"), require("./inputmask")) : factory(window.dependencyLib || jQuery, window.Inputmask);
|
||
|
}(function($, Inputmask) {
|
||
|
return Inputmask.extendAliases({
|
||
|
phone: {
|
||
|
url: "phone-codes/phone-codes.js",
|
||
|
countrycode: "",
|
||
|
phoneCodeCache: {},
|
||
|
mask: function(opts) {
|
||
|
if (void 0 === opts.phoneCodeCache[opts.url]) {
|
||
|
var maskList = [];
|
||
|
opts.definitions["#"] = opts.definitions[9], $.ajax({
|
||
|
url: opts.url,
|
||
|
async: !1,
|
||
|
type: "get",
|
||
|
dataType: "json",
|
||
|
success: function(response) {
|
||
|
maskList = response;
|
||
|
},
|
||
|
error: function(xhr, ajaxOptions, thrownError) {
|
||
|
alert(thrownError + " - " + opts.url);
|
||
|
}
|
||
|
}), opts.phoneCodeCache[opts.url] = maskList.sort(function(a, b) {
|
||
|
return (a.mask || a) < (b.mask || b) ? -1 : 1;
|
||
|
});
|
||
|
}
|
||
|
return opts.phoneCodeCache[opts.url];
|
||
|
},
|
||
|
keepStatic: !1,
|
||
|
nojumps: !0,
|
||
|
nojumpsThreshold: 1,
|
||
|
onBeforeMask: function(value, opts) {
|
||
|
var processedValue = value.replace(/^0{1,2}/, "").replace(/[\s]/g, "");
|
||
|
return (processedValue.indexOf(opts.countrycode) > 1 || -1 === processedValue.indexOf(opts.countrycode)) && (processedValue = "+" + opts.countrycode + processedValue),
|
||
|
processedValue;
|
||
|
}
|
||
|
},
|
||
|
phonebe: {
|
||
|
alias: "phone",
|
||
|
url: "phone-codes/phone-be.js",
|
||
|
countrycode: "32",
|
||
|
nojumpsThreshold: 4
|
||
|
}
|
||
|
}), Inputmask;
|
||
|
});
|