PSTW_CentralizeSystem/wwwroot/assets/libs/inputmask/dist/min/inputmask/inputmask.regex.extensions.min.js
2024-11-15 16:29:52 +08:00

179 lines
6.6 KiB
JavaScript

/*!
* inputmask.regex.extensions.min.js
* https://github.com/RobinHerbots/Inputmask
* Copyright (c) 2010 - 2017 Robin Herbots
* Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
* Version: 3.3.11
*/
!(function (e) {
"function" == typeof define && define.amd
? define(["./dependencyLibs/inputmask.dependencyLib", "./inputmask"], e)
: "object" == typeof exports
? (module.exports = e(
require("./dependencyLibs/inputmask.dependencyLib"),
require("./inputmask")
))
: e(window.dependencyLib || jQuery, window.Inputmask);
})(function (e, r) {
return (
r.extendAliases({
Regex: {
mask: "r",
greedy: !1,
repeat: "*",
regex: null,
regexTokens: null,
tokenizer:
/\[\^?]?(?:[^\\\]]+|\\[\S\s]?)*]?|\\(?:0(?:[0-3][0-7]{0,2}|[4-7][0-7]?)?|[1-9][0-9]*|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}|c[A-Za-z]|[\S\s]?)|\((?:\?[:=!]?)?|(?:[?*+]|\{[0-9]+(?:,[0-9]*)?\})\??|[^.?*+^${[()|\\]+|./g,
quantifierFilter: /[0-9]+[^,]/,
isComplete: function (e, r) {
return new RegExp(r.regex, r.casing ? "i" : "").test(e.join(""));
},
definitions: {
r: {
validator: function (r, t, a, i, n) {
function s(e, r) {
(this.matches = []),
(this.isGroup = e || !1),
(this.isQuantifier = r || !1),
(this.quantifier = { min: 1, max: 1 }),
(this.repeaterPart = void 0);
}
function u(r, t) {
var a = !1;
t && ((f += "("), l++);
for (var i = 0; i < r.matches.length; i++) {
var s = r.matches[i];
if (!0 === s.isGroup) a = u(s, !0);
else if (!0 === s.isQuantifier) {
var h = e.inArray(s, r.matches),
c = r.matches[h - 1],
o = f;
if (isNaN(s.quantifier.max)) {
for (
;
s.repeaterPart &&
s.repeaterPart !== f &&
s.repeaterPart.length > f.length &&
!(a = u(c, !0));
);
(a = a || u(c, !0)) && (s.repeaterPart = f),
(f = o + s.quantifier.max);
} else {
for (
var m = 0, g = s.quantifier.max - 1;
m < g && !(a = u(c, !0));
m++
);
f =
o +
"{" +
s.quantifier.min +
"," +
s.quantifier.max +
"}";
}
} else if (void 0 !== s.matches)
for (var d = 0; d < s.length && !(a = u(s[d], t)); d++);
else {
var x;
if ("[" == s.charAt(0)) {
(x = f), (x += s);
for (b = 0; b < l; b++) x += ")";
a = (w = new RegExp(
"^(" + x + ")$",
n.casing ? "i" : ""
)).test(p);
} else
for (var k = 0, v = s.length; k < v; k++)
if ("\\" !== s.charAt(k)) {
(x = f),
(x = (x += s.substr(0, k + 1)).replace(/\|$/, ""));
for (var b = 0; b < l; b++) x += ")";
var w = new RegExp(
"^(" + x + ")$",
n.casing ? "i" : ""
);
if ((a = w.test(p))) break;
}
f += s;
}
if (a) break;
}
return t && ((f += ")"), l--), a;
}
var p,
h,
c = t.buffer.slice(),
f = "",
o = !1,
l = 0;
null === n.regexTokens &&
(function () {
var e,
r,
t = new s(),
a = [];
for (n.regexTokens = []; (e = n.tokenizer.exec(n.regex)); )
switch ((r = e[0]).charAt(0)) {
case "(":
a.push(new s(!0));
break;
case ")":
(h = a.pop()),
a.length > 0
? a[a.length - 1].matches.push(h)
: t.matches.push(h);
break;
case "{":
case "+":
case "*":
var i = new s(!1, !0),
u = (r = r.replace(/[{}]/g, "")).split(","),
p = isNaN(u[0]) ? u[0] : parseInt(u[0]),
c =
1 === u.length
? p
: isNaN(u[1])
? u[1]
: parseInt(u[1]);
if (
((i.quantifier = { min: p, max: c }), a.length > 0)
) {
var f = a[a.length - 1].matches;
(e = f.pop()).isGroup ||
((h = new s(!0)).matches.push(e), (e = h)),
f.push(e),
f.push(i);
} else
(e = t.matches.pop()).isGroup ||
((h = new s(!0)).matches.push(e), (e = h)),
t.matches.push(e),
t.matches.push(i);
break;
default:
a.length > 0
? a[a.length - 1].matches.push(r)
: t.matches.push(r);
}
t.matches.length > 0 && n.regexTokens.push(t);
})(),
c.splice(a, 0, r),
(p = c.join(""));
for (var m = 0; m < n.regexTokens.length; m++) {
var g = n.regexTokens[m];
if ((o = u(g, g.isGroup))) break;
}
return o;
},
cardinality: 1,
},
},
},
}),
r
);
});