将输入文本格式自动设为带有“/”的日期

时间:2021-07-01 16:09:46

标签: javascript html css

我正在制作“订阅我的时事通讯”表单,并使用一个服装网站作为参考https://www.emibeachwear.com.br/(您可以在网站的页脚中找到该表单)

如果您将其翻译成英文,则在页脚上有一个名为“data de aniversário”或“生日”的输入。 使用 chrome 检查元素,我看到它是一个 Text 输入。即使它是一个文本,它仍然格式化为日期。

我该怎么做?我应该使用javascript吗?如果是这样,如何?

这是我现在所拥有的:

<div class="newsletter" style="background:transparent; color:white;">
      <label class="email"> E-MAIL
          <input  class="caixa" type="email" name="EMAIL" placeholder="E-MAIL" style="border:0;"required />
      </label >
      <label class="aniversario"> DATA DE ANIVERSÁRIO
          <input class="caixa" type="date" placeholder="DATA DE ANIVERSÁRIO" style="border:0;" max-length="10" required />
      </label>
      <input class="cadastrar caixa" type="submit" value="CADASTRAR" style="border:0;"/>
</div>

1 个答案:

答案 0 :(得分:0)

这是一种方法:

const input = document.querySelector('input');
input.addEventListener("input", function() {
  var s = input.value.replaceAll("/", "").match(/.{1,2}/g);
  var len = s.length;
  input.value = s.join("/");
  if (len > 3) {
    var l = input.value.lastIndexOf('/');
    input.value = input.value.substring(0, l) + input.value.substring(l + 1);
  }
})
<input type="text" maxlength="10">