|
|
@@ -497,21 +497,21 @@
|
|
|
|
|
|
function clearOptionalTail(input, buffer) {
|
|
|
checkVal(input, buffer, false);
|
|
|
- var tmpBuffer = buffer.slice();
|
|
|
+ var tmpBuffer = buffer.slice(), testPos, pos;
|
|
|
if ($(input).data('inputmask')['isRTL']) {
|
|
|
- for (var pos = 0; pos <= tmpBuffer.length - 1; pos++) {
|
|
|
- var testPos = determineTestPosition(pos);
|
|
|
+ for (pos = 0; pos <= tmpBuffer.length - 1; pos++) {
|
|
|
+ testPos = determineTestPosition(pos);
|
|
|
if (tests[testPos].optionality) {
|
|
|
- if (getPlaceHolder(pos) == buffer[pos] || !isMask(pos))
|
|
|
+ if (!isMask(pos) || !isValid(pos, buffer[pos], buffer, true))
|
|
|
tmpBuffer.splice(0, 1);
|
|
|
else break;
|
|
|
} else break;
|
|
|
}
|
|
|
} else {
|
|
|
- for (var pos = tmpBuffer.length - 1; pos >= 0; pos--) {
|
|
|
- var testPos = determineTestPosition(pos);
|
|
|
+ for (pos = tmpBuffer.length - 1; pos >= 0; pos--) {
|
|
|
+ testPos = determineTestPosition(pos);
|
|
|
if (tests[testPos].optionality) {
|
|
|
- if (getPlaceHolder(pos) == buffer[pos] || !isMask(pos))
|
|
|
+ if (!isMask(pos) || !isValid(pos, buffer[pos], buffer, true))
|
|
|
tmpBuffer.pop();
|
|
|
else break;
|
|
|
} else break;
|