Введите тип текста в виде форматированной даты с косой чертой - PullRequest
0 голосов
/ 17 мая 2018

Как можно замаскировать тип ввода «текст», чтобы он выглядел как дата? Я хочу, чтобы он был отформатирован как dd-mm-yyyy и чтобы он добавлял косую черту всякий раз, когда вы достигаете нужного места, поэтому, если я наберу 30111970, он автоматически вставит косую черту в соответствующие места (при вводе):

30/11/1970

В настоящее время я использую шаблон, но я не знаю, как добавить косую черту. Это мой шаблон для dd-mm-yyyy формата:

(0[1-9]|1[0-9]|2[0-9]|3[01]).(0[1-9]|1[012]).[0-9]{4}

1 Ответ

0 голосов
/ 17 мая 2018

С HTML5 вы можете просто использовать тип ввода даты:

<input type="date" name="somename" id="someid">

Или, если вы хотите ввести вручную, вы можете попробовать выполнить команду key up:

<input
    type="text"
    name="date"
    placeholder="dd/mm/yyyy"
    onkeyup="
        var v = this.value;
        var regex=/^[a-zA-Z]+$/;
        if (!v.match(regex))
        {
             alert('Must input date or number');
             return false;
        }
        if (v.match(/^\d{2}$/) !== null) {
            this.value = v + '/';
        } else if (v.match(/^\d{2}\/\d{2}$/) !== null) {
            this.value = v + '/';
       }"
    maxlength="10"
>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...