Javascript 在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)总是空的 我想去掉非

如何在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)
总是空的

  • 我想去掉非数字字符。我想已经结束了
    到期。替换(/[^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”格式。您应该能够实现使用
自定义
类型尝试执行的操作。