如何将用户输入的4位数字自动格式化为最后2位数字

时间:2019-03-11 20:59:30

标签: javascript jquery html

我有一个信用卡到期文本字段,用户可以输入4位数字,但我想自动将用户输入的4位数字格式化为最后2位数字。

因此,如果用户输入2022,我想自动更改为最后两位数字“ 22”。 我已经尝试了html输入中的maxlength 2,但是对我来说不起作用。

这是尝试将输入的4位数字格式化为2位数字。

2 个答案:

答案 0 :(得分:0)

尽管我不认为让用户写整年并仅显示最后两位数字是一个不错的选择,但是您可以尝试使用此fiddle和/或此fiddle。 / p>

<input id="year" data-fullyear="" placeholder="yyyy" maxlength="4">

$("#year")
  .on("blur",e=>{
        let $this = $(e.currentTarget);
    let value = $this.val();
    if(value.length===4){
        $this.data("fullyear",value)
        $this.val(value.substring(2));
    }else{
        $this.data("fullyear","")
        $this.val("");
    }
  })
  .on("focus",e=>{
    let $this = $(e.currentTarget);
    let value = $this.val();
    if(value.length===2){
        let fullYear = $this.data("fullyear");
        $this.val(fullYear);
    }else{
        $this.val("");
    }
  });

答案 1 :(得分:0)

这应该有效:

const year = 2023

function formatYear(year) {
  const yearToArr = String(year)
  return `${yearToArr[2]}${yearToArr[3]}`
}

console.log(formatYear(year))