Javascript 如何在此扇区中添加分隔符?

Javascript 如何在此扇区中添加分隔符?,javascript,jquery,Javascript,Jquery,我有这个样本: 代码HTML: <input id="date_of_birth" type="text" value="23091992" maxlength="8"> $( "#date_of_birth" ).keyup(function() { var str=$(this).val(); var day_str=str.substring(0,2); var month_str=str.substring(2,3); console.lo

我有这个样本:

代码HTML:

<input id="date_of_birth" type="text" value="23091992" maxlength="8">
$( "#date_of_birth" ).keyup(function() {
    var str=$(this).val();
    var day_str=str.substring(0,2);
    var month_str=str.substring(2,3);
    console.log(day_str);
    console.log(month_str);
});
我有一个具有以下值的输入

23091992
运行脚本后,我想做的是,我的文本具有以下格式

23/09/1992
我试着分享我的两个强项并添加一个分隔符,但不幸的是我无法管理。。。 你能帮我解决这个问题吗


提前谢谢

你就快到了。但是,您可以使用:

<input type="date" />
片段

$(“出生日期”).keyup(函数(){
var str=$(this.val();
var day_str=str.substring(0,2);
var month_str=str.substring(2,4);
var year_str=str.substring(4,8);
console.log(day_str);
控制台日志(月);
控制台日志(年份);
if($(this).val().trim().length==8)
$(this).val(日+月+年);
});


向上或向下按。触发键控。
当然,您应该使用日期选择器或一些js掩蔽输入, 但是检查这个

$("#date_of_birth").keyup(function() {
  var t = $(this),
      inpVal = t.val();

  //clean from previous / slashes
  inpVal = inpVal.replace(/\//g, ''); 

  t.val(inpVal);

  // check if 8 digits entered (2day, 2month, 4year)
  if (inpVal.length == 8) { 
    var day_str = inpVal.substring(0, 2),
      month_str = inpVal.substring(2, 4),
      year_str = inpVal.substring(4),
      formDate = day_str + "/" + month_str + "/" + year_str;
    t.val(formDate);
  }
});

您可以尝试以下方法:

假设
  • 年份将始终为4位数
  • 日期格式为
    DDMMYYYY
  • 若日期+月份字符串长度为偶数,即2或4,则该值被等分
  • 如果长度为
    3
    ,请检查最后两位数字是否为该字段使用datepicker?很抱歉,这是一个错误,请立即执行edit@Marius你核对我的答案了吗?
    $("#date_of_birth").keyup(function() {
      var t = $(this),
          inpVal = t.val();
    
      //clean from previous / slashes
      inpVal = inpVal.replace(/\//g, ''); 
    
      t.val(inpVal);
    
      // check if 8 digits entered (2day, 2month, 4year)
      if (inpVal.length == 8) { 
        var day_str = inpVal.substring(0, 2),
          month_str = inpVal.substring(2, 4),
          year_str = inpVal.substring(4),
          formDate = day_str + "/" + month_str + "/" + year_str;
        t.val(formDate);
      }
    });