2015-05-19 5 views
0

Есть ли способ сделать дату + цифра маски ?! Мне нужно сделать ввод 12/12/15-12345 или даже лучше 121215-12345. Маска ввода должна проверить правильность даты, и если после «-» вводится только 5 номеров.Маска ввода для даты плюс номер

> var dateMask = new InputMask(JST_MASK_DATE+[fieldBuilder.literal("-"), fieldBuilder.inputNumbers(1, 5)], "date"); 

Пожалуйста, не виноваты в коде, я новичок в этом ... Просто судимое что-то .. Было бы замечательно, если бы вы просто сделать мой код работает правильно, если это возможно.

+0

Откуда берется 'InputMask'? –

+0

http://javascriptools.sourceforge.net/samples/sample_mask.html Я использовал эти примеры и попытался изменить «dd/MM/yyyy» для 12/12/15-12345 Вы можете проверить скрипт в этой ссылке. –

ответ

0
var date = '121215-13456'; // Here is the string you begin with 
var valid = true; // if valid === true, the string is correct 

// This will check the structure of the string and store the values in result 
var result = /^(\d{2})(\d{2})(\d{2})-\d{5}$/.exec(date); 

// If i didn't match the mask 
if (result === null) 
    valid = false; 
else 
{ 
    var myDate = new Date(2000+parseInt(result[3]), (parseInt(result[2]) - 1), parseInt(result[1])); 
    // If the date is incorrect 
    if ((myDate.getMonth() + 1 != parseInt(result[2])) || (myDate.getDate() != parseInt(result[1])) || (myDate.getFullYear() != 2000 + parseInt(result[3]))) 
     valid = false; 
} 

if (!valid) 
{ 
    alert("Invalid"); 
} 
else 
{ 
    alert("Valid !"); 
} 
Смежные вопросы