2015-10-13 4 views
0

У меня есть datepicker, и я хочу проанализировать дату на dd/mm/yyyy, когда пользователь вводит ddmmyyyy.javascript формат даты от DDMMYYYY до DD/MM/YYYY

Image

У меня есть добавить яваскрипта функцию ввода текста, но я не знаю, если я нахожусь на правильном пути

<inputText id="input1" onchange="parseDate()"/> 

<script type="text/javascript"> 
    $(document).ready(function() { 
     $("#input1").datepicker() 
    }; 
    function parseDate() { 
     ??? 
    } 
<script> 

Благодаря

ответ

0

Если это точный формат вы смотрите, то вы могли бы просто разобрать его:

http://jsfiddle.net/q3yrtu0z/

$('#input1').change(function() { 
    $(this).val($(this).val().replace(/^(\d{2})(\d{2})(\d{4})$/, '$1/$2/$3')); 
}); 

Это сделано таким образом, что если значение ровно 8 цифр, то он будет отформатировать его XX/XX/XXXX.

Вы можете сделать дополнительную проверку на действительность формата даты (хотя вы должны сделать это для ММ входов/DD/YYYY, а также в любом случае)

0

Как вы собираетесь простое преобразование, рассмотрите slice. Введите Строка в пункты, где вы хотите добавить своих персонажей, например

var strA = '13102015', 
    strB = strA.slice(0, 2) + '/' + strA.slice(2, 4) + '/' + strA.slice(4); 
strB; // "13/10/2015" 

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

'13/102015'.replace(/[^\d]/g, ''); // "13102015" 
// now continue to slice 

В течение RegExp,

  • [chars] средства соответствуют эти символы (в данном случае c, h, a, r, s)
  • [^chars] является обратным [chars], т.е. матч любой символ, кроме этих символов
  • любая цифра, то есть числа 0 к 9
  • Флаг g означает g ЛОБАЛЬНЫЕ, т.е. после матча продолжают искать другой матч
0

Try это ....

function convertDate(inputFormat) {function pad(s) { return (s < 10) ? '0' + s : s; } var d = new Date(inputFormat); return [pad(d.getDate()), pad(d.getMonth()+1), d.getFullYear()].join('/'); } 
Смежные вопросы