Разоблачить дату и время - маска ввода

Используется версия Маска ввода vanilla js.

Возникли проблемы с разоблачением формата даты и времени:

var expDate = document.getElementById('expDate');

Inputmask({
    alias: 'datetime',
    inputFormat: 'mm/yy',
    placeholder: 'month/year',
    autoUnmask: true,
    clearMaskOnLostFocus: false
}).mask(expDate);

autoUnmask не работает, expDate.value возвращает 12/12, хотя должен возвращать 1212.

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
0
1 531
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

outputFormat: ddmm делает то, что мне нужно, но это не упоминается в документации этого плагина.

Я создал минимальный пример, и опция autoUnmask работает, возможно, есть какие-то конфликты с псевдоним: 'datetime' или inputFormat: 'мм / гг'. Прочтите следующую документацию, доступную на веб-сайте плагина:

псевдонимы

С помощью псевдонима вы можете определить сложное определение маски и вызвать его, используя псевдоним. Это сделано в основном для упрощения использования масок. Некоторые псевдонимы в расширениях: электронная почта, валюта, десятичное, целое число, дата, дата и время, дд / мм / гггг и т. д.

Сначала вам нужно создать определение псевдонима. Определение псевдонима может содержать параметры маски, пользовательские определения, используемую маску и т. д.

Когда вы передаете псевдоним, сначала разрешается псевдоним, а затем применяются другие параметры. Таким образом, вы можете вызвать псевдоним и передать другую маску, которая будет применяться к псевдониму. Это также означает, что вы можете писать псевдонимы, которые «наследуются» от другого псевдонима.

Некоторые примеры можно найти в jquery.inputmask.xxx.extensions.js

формат

Вместо маскировки элемента ввода также можно использовать маску ввода для форматирования заданных значений. Подумайте о форматировании значений для отображения в jqGrid или других элементах, кроме входных.

var formattedDate = Inputmask.format ("2331973", {псевдоним: "datetime", inputFormat: "дд / мм / гггг"});

Как видите, дата и время - это определенный псевдоним (вы можете проверить определение на inputmask.date.extensions.js), а inputFormat используется для других целей. В следующем примере есть один вход с параметром autoUnmask, настроенным на правда, а другой со значением по умолчанию ложный:

// Get the inputs fields

var expDate1 = document.getElementById('expDate1');
var expDate2 = document.getElementById('expDate2');

// Apply masks on the inputs.

Inputmask({
    alias: 'date',
    autoUnmask: true,
    clearMaskOnLostFocus: false
}).mask(expDate1);

Inputmask({
    alias: 'date',
    clearMaskOnLostFocus: false
}).mask(expDate2);

// Alert values.

function getValuesFromInputs()
{
    var msg = "Value of Input1 with autoUnmask=true: " + expDate1.value;
    msg += "\n"
    msg += "Value of Input2 with autoUnmask=false: " + expDate2.value;

    alert(msg);
}
<script src = "https://cdnjs.cloudflare.com/ajax/libs/jquery.inputmask/3.3.4/dependencyLibs/inputmask.dependencyLib.js"></script>
<script src = "https://cdnjs.cloudflare.com/ajax/libs/jquery.inputmask/3.3.4/inputmask/inputmask.js"></script>
<script src = "https://cdnjs.cloudflare.com/ajax/libs/jquery.inputmask/3.3.4/inputmask/inputmask.extensions.js"></script>
<script src = "https://cdnjs.cloudflare.com/ajax/libs/jquery.inputmask/3.3.4/inputmask/inputmask.date.extensions.js"></script>

<input type = "input" id = "expDate1"/>
<input type = "input" id = "expDate2"/>
<button type = "button" onclick = "getValuesFromInputs()">Get Values</button>

Другие вопросы по теме