芝麻web文件管理V1.00
编辑当前文件:/home2/sdektunc/xmintal-back/vendor/bower-asset/inputmask/js/inputmask.phone.extensions.js
/* Input Mask plugin extensions http://github.com/RobinHerbots/jquery.inputmask Copyright (c) 2010 - Robin Herbots Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php) Version: 0.0.0-dev Phone extension. */ (function (factory) { if (typeof define === "function" && define.amd) { define(["./dependencyLibs/inputmask.dependencyLib", "./inputmask"], factory); } else if (typeof exports === "object") { module.exports = factory(require("./dependencyLibs/inputmask.dependencyLib"), require("./inputmask")); } else { factory(window.dependencyLib || jQuery, window.Inputmask); } } (function ($, Inputmask) { function maskSort(a, b) { 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]; return maskbs.indexOf(maskas) === 0 ? -1 : (maskas.indexOf(maskbs) === 0 ? 1 : maska.localeCompare(maskb)); } var analyseMaskBase = Inputmask.prototype.analyseMask; Inputmask.prototype.analyseMask = function (mask, regexMask, opts) { var maskGroups = {}; function reduceVariations(masks, previousVariation, previousmaskGroup) { previousVariation = previousVariation || ""; previousmaskGroup = previousmaskGroup || maskGroups; if (previousVariation !== "") previousmaskGroup[previousVariation] = {}; var variation = "", maskGroup = previousmaskGroup[previousVariation] || previousmaskGroup; for (var i = masks.length - 1; i >= 0; i--) { mask = masks[i].mask || masks[i]; variation = mask.substr(0, 1); maskGroup[variation] = maskGroup[variation] || []; maskGroup[variation].unshift(mask.substr(1)); masks.splice(i, 1); } for (var ndx in maskGroup) { if (maskGroup[ndx].length > 500) { reduceVariations(maskGroup[ndx].slice(), ndx, maskGroup); } } } function rebuild(maskGroup) { var mask = "", submasks = []; for (var ndx in maskGroup) { if ($.isArray(maskGroup[ndx])) { if (maskGroup[ndx].length === 1) submasks.push(ndx + maskGroup[ndx]); else submasks.push(ndx + opts.groupmarker.start + maskGroup[ndx].join(opts.groupmarker.end + opts.alternatormarker + opts.groupmarker.start) + opts.groupmarker.end); } else { submasks.push(ndx + rebuild(maskGroup[ndx])); } } if (submasks.length === 1) { mask += submasks[0]; } else { mask += opts.groupmarker.start + submasks.join(opts.groupmarker.end + opts.alternatormarker + opts.groupmarker.start) + opts.groupmarker.end; } return mask; } if (opts.phoneCodes) { if (opts.phoneCodes && opts.phoneCodes.length > 1000) { mask = mask.substr(1, mask.length - 2); reduceVariations(mask.split(opts.groupmarker.end + opts.alternatormarker + opts.groupmarker.start)); mask = rebuild(maskGroups); } //escape 9 definition mask = mask.replace(/9/g, "\\9"); } // console.log(mask); var mt = analyseMaskBase.call(this, mask, regexMask,opts); return mt; }; Inputmask.extendAliases({ "abstractphone": { groupmarker: { start: "<", end: ">" }, countrycode: "", phoneCodes: [], mask: function (opts) { opts.definitions = {"#": Inputmask.prototype.definitions["9"]}; return opts.phoneCodes.sort(maskSort); }, keepStatic: true, onBeforeMask: function (value, opts) { var processedValue = value.replace(/^0{1,2}/, "").replace(/[\s]/g, ""); if (processedValue.indexOf(opts.countrycode) > 1 || processedValue.indexOf(opts.countrycode) === -1) { processedValue = "+" + opts.countrycode + processedValue; } return processedValue; }, onUnMask: function (maskedValue, unmaskedValue, opts) { var unmasked = maskedValue.replace(/[()#-]/g, ""); return unmasked; }, inputmode: "tel", } }); return Inputmask; }));