0000 000 000 000 : 13
0000 000 000 000 00 : 15
0000 000 000 000 000 : 16
0000 000 000 000 000 00 : 18
0000 000 000 000 000 000 : 19
Как в зависимости от длины, задать вот такую маску ?
Вот пример кода, на основе которого это пытаюсь сделать.
<br />
<h2>Кредитная карта </h2>
<div>
<input class="creditCardInput2" value="" placeholder="Введите номер кредитной карты" size="65" />
</div>
function validateRealTimeCreditCardNumber(selector) {
//var events = ['input', 'change', 'blur', 'keyup'];
var events = "input change blur keyup";
var lengthCreditCardNumber = 19;
var reg = /[^\d]/g; /*все кроме цифр*/
var regGroupDigit = /[\d]{1,4}/g;
var cardCode;
/*цикл */
$(selector).each(function () {
$(selector).on(events, function () {
/*удаляются все символы, кроме цифр, а также любые символы, после достижения указанного предела*/
var cardCode = this.value.replace(reg, '').substring(0, lengthCreditCardNumber);
/*текущее значение из поля ввода, форматируется согласно регулярному выражению,
в данном случае ищются символы от 1 до 4 и после такой группы символов, ставится пробел*/
if(cardCode !== ''){
cardCode.match(regGroupDigit).join(" ");
}else{
cardCode = '';
}
this.value = cardCode;/*записываев в поле ввода, проверенный символ (если он там есть)*/
});
});