我正在尝试在按键的第二个数字(日期)之后添加-。假设用户输入今天的日期为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, '')
}
答案 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)
在您的代码中应用此逻辑,希望您能得到您的期望!
谢谢!