日期输入|在日期之后加上破折号

时间:2019-11-24 10:54:50

标签: javascript regex

我正在尝试在按键的第二个数字(日期)之后添加-。假设用户输入今天的日期为24,然后加上-,然后输入月份“ 11”,则应该自动输入-。

类似地,在退格/删除字符时,要删除破折号。

模式:pattern="[0-9]{2}-[0-9]{2}-[0-9]{4}"

功能

onChangeText = (text) => {
  
  text = text
    .replace(/^[a-zA-Z\-]+$/g, '')
    .replace(/^(\d\d\d\d)(\d)$/g, '$1-$2')
    .replace(/^(\d\d\d\d\-\d\d)(\d+)$/g, '$1-$2')
    .replace(/[^\d\-]/g, '')

}

1 个答案:

答案 0 :(得分:1)

您可以在此处执行类似的操作,但是您需要先声明一个变量,然后在regx之后获取值。当您使用完regx之后,请声明一个变量并将其存储在变量中,然后在逻辑下面应用!

示例 我们走了!

let data = '123233';

let newData = ''; // declare the golbal variable to put dash

for ( let str = 0; data.length > str; ++str )
  {
    if( str % 2 === 0 && str !== 0) // finding even number and also zero
      newData += '-',newData += data[str - 0];
    else
      newData += data[str]
  }

console.log(newData)

在您的代码中应用此逻辑,希望您能得到您的期望!

谢谢!