|
|
@@ -3,7 +3,7 @@
|
|
|
* http://github.com/RobinHerbots/jquery.inputmask
|
|
|
* Copyright (c) 2010 - 2015 Robin Herbots
|
|
|
* Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
|
|
|
-* Version: 3.1.64-118
|
|
|
+* Version: 3.1.64-124
|
|
|
*/
|
|
|
!function($) {
|
|
|
function inputmask(options) {
|
|
|
@@ -308,7 +308,7 @@
|
|
|
i++), startPos++) : i++;
|
|
|
}
|
|
|
var lvp = getLastValidPosition(), ml = getMaskLength();
|
|
|
- for (nocheck !== !0 && void 0 != getMaskSet().validPositions[lvp] && getMaskSet().validPositions[lvp].input == opts.radixPoint && delete getMaskSet().validPositions[lvp],
|
|
|
+ for (strict !== !0 && nocheck !== !0 && void 0 != getMaskSet().validPositions[lvp] && getMaskSet().validPositions[lvp].input == opts.radixPoint && delete getMaskSet().validPositions[lvp],
|
|
|
i = lvp + 1; ml >= i; i++) getMaskSet().validPositions[i] && delete getMaskSet().validPositions[i];
|
|
|
resetMaskSet(!0);
|
|
|
}
|
|
|
@@ -908,14 +908,12 @@
|
|
|
var pend = pos.end;
|
|
|
pos.end = pos.begin, pos.begin = pend;
|
|
|
}
|
|
|
- if (k == inputmask.keyCode.BACKSPACE && (pos.end - pos.begin < 1 || 0 == opts.insertMode) ? (pos.begin = seekPrevious(pos.begin),
|
|
|
+ k == inputmask.keyCode.BACKSPACE && (pos.end - pos.begin < 1 || 0 == opts.insertMode) ? (pos.begin = seekPrevious(pos.begin),
|
|
|
void 0 == getMaskSet().validPositions[pos.begin] || getMaskSet().validPositions[pos.begin].input != opts.groupSeparator && getMaskSet().validPositions[pos.begin].input != opts.radixPoint || pos.begin--) : k == inputmask.keyCode.DELETE && pos.begin == pos.end && (pos.end = isMask(pos.end) ? pos.end + 1 : seekNext(pos.end) + 1,
|
|
|
void 0 == getMaskSet().validPositions[pos.begin] || getMaskSet().validPositions[pos.begin].input != opts.groupSeparator && getMaskSet().validPositions[pos.begin].input != opts.radixPoint || pos.end++),
|
|
|
- stripValidPositions(pos.begin, pos.end, !1, strict), strict !== !0) {
|
|
|
- generalize();
|
|
|
- var lvp = getLastValidPosition(pos.begin);
|
|
|
- lvp < pos.begin ? (-1 == lvp && resetMaskSet(), getMaskSet().p = seekNext(lvp)) : getMaskSet().p = pos.begin;
|
|
|
- }
|
|
|
+ stripValidPositions(pos.begin, pos.end, !1, strict), strict !== !0 && generalize();
|
|
|
+ var lvp = getLastValidPosition(pos.begin);
|
|
|
+ lvp < pos.begin ? (-1 == lvp && resetMaskSet(), getMaskSet().p = seekNext(lvp)) : strict !== !0 && (getMaskSet().p = pos.begin);
|
|
|
}
|
|
|
function keydownEvent(e) {
|
|
|
var input = this, $input = $(input), k = e.keyCode, pos = caret(input);
|
|
|
@@ -2087,9 +2085,16 @@
|
|
|
var tmpBufSplit = "" != opts.radixPoint ? buffer.join("").split(opts.radixPoint) : [ buffer.join("") ], matchRslt = tmpBufSplit[0].match(opts.regex.integerPart(opts)), matchRsltDigits = 2 == tmpBufSplit.length ? tmpBufSplit[1].match(opts.regex.integerNPart(opts)) : void 0;
|
|
|
!matchRslt || matchRslt[0] != opts.negationSymbol.front + "0" && matchRslt[0] != opts.negationSymbol.front && "+" != matchRslt[0] || void 0 != matchRsltDigits && !matchRsltDigits[0].match(/^0+$/) || buffer.splice(matchRslt.index, 1);
|
|
|
var radixPosition = $.inArray(opts.radixPoint, buffer);
|
|
|
- if (-1 != radixPosition && isFinite(opts.digits) && !opts.digitsOptional) {
|
|
|
- for (var i = 1; i <= opts.digits; i++) (void 0 == buffer[radixPosition + i] || buffer[radixPosition + i] == opts.placeholder.charAt(0)) && (buffer[radixPosition + i] = "0");
|
|
|
- return {
|
|
|
+ if (-1 != radixPosition) {
|
|
|
+ if (isFinite(opts.digits) && !opts.digitsOptional) {
|
|
|
+ for (var i = 1; i <= opts.digits; i++) (void 0 == buffer[radixPosition + i] || buffer[radixPosition + i] == opts.placeholder.charAt(0)) && (buffer[radixPosition + i] = "0");
|
|
|
+ return {
|
|
|
+ refreshFromBuffer: !0,
|
|
|
+ buffer: buffer
|
|
|
+ };
|
|
|
+ }
|
|
|
+ if (radixPosition == buffer.length - opts.suffix.length - 1) return buffer.splice(radixPosition, 1),
|
|
|
+ {
|
|
|
refreshFromBuffer: !0,
|
|
|
buffer: buffer
|
|
|
};
|
|
|
@@ -2327,7 +2332,7 @@
|
|
|
return initialValue.toString();
|
|
|
},
|
|
|
canClearPosition: function(maskset, position, lvp, strict, opts) {
|
|
|
- var positionInput = maskset.validPositions[position].input, canClear = positionInput != opts.radixPoint && isFinite(positionInput) || position == lvp || positionInput == opts.groupSeparator || positionInput == opts.negationSymbol.front || positionInput == opts.negationSymbol.back;
|
|
|
+ var positionInput = maskset.validPositions[position].input, canClear = positionInput != opts.radixPoint || null != maskset.validPositions[position].match.fn && 0 == opts.decimalProtect || isFinite(positionInput) || position == lvp || positionInput == opts.groupSeparator || positionInput == opts.negationSymbol.front || positionInput == opts.negationSymbol.back;
|
|
|
if (canClear && isFinite(positionInput)) {
|
|
|
var matchRslt;
|
|
|
if (!strict && maskset.buffer) {
|
|
|
@@ -2343,7 +2348,7 @@
|
|
|
var radixPosition = $.inArray(opts.radixPoint, maskset.buffer);
|
|
|
if (matchRslt && (-1 == radixPosition || radixPosition >= position)) if (0 == matchRslt[0].indexOf("0")) canClear = matchRslt.index != position || -1 == radixPosition; else {
|
|
|
var intPart = parseInt(matchRslt[0].replace(new RegExp(inputmask.escapeRegex(opts.groupSeparator), "g"), ""));
|
|
|
- -1 != radixPosition && 10 > intPart && (maskset.validPositions[position].input = "0",
|
|
|
+ -1 != radixPosition && 10 > intPart && maskset.validPositions[position] && (maskset.validPositions[position].input = "0",
|
|
|
maskset.p = opts.prefix.length + 1, canClear = !1);
|
|
|
}
|
|
|
}
|