Javascript 在React Native中格式化信用卡的到期日期
如何在React Native中将文本输入格式化为Javascript 在React Native中格式化信用卡的到期日期,javascript,reactjs,react-native,Javascript,Reactjs,React Native,如何在React Native中将文本输入格式化为MM/YY 我做了一个onChange函数 handleExpiry(expiry) { if (expiry.length >= 2) { expiry = expiry.substr(0, 2) + '/' + (expiry.substr(3) || '') } this.setState({ expiry }) } 但是它允许我写DD/,因为expirit.substr(3)总是空的 我想去掉非
MM/YY
我做了一个onChange函数
handleExpiry(expiry) {
if (expiry.length >= 2) {
expiry = expiry.substr(0, 2) + '/' + (expiry.substr(3) || '')
}
this.setState({
expiry
})
}
但是它允许我写DD/
,因为expirit.substr(3)
总是空的
- 我想去掉非数字字符。我想已经结束了
到期。替换(/[^0-9]/g',)
- 我想确保字符串只有5个字符,即
expiry.length 0 &&parseInt(expiry.substr(0,2),10)=17
但是我不知道如何将它绑定在一起。您能给出一个您作为函数输入接收的字符串的示例吗?从一开始,字符串是空的。然后我输入“1”,然后输入“2”,然后它会自动添加“/”,所以字符串是“12/”。接下来,我输入“1”,然后输入“9”,而不是字符串“12/19”。我在TextInput上设置maxLength,因此它从不超过5个字符。但是,我不知道如何验证每一个输入,所以它总是采用“DD/MM”格式。您应该能够实现使用
自定义
类型尝试执行的操作。