如何配置文本字段以说明有效期?

man*_*tee 3 textfield ios swift

我正在输入信用卡信息,我希望有效期限最多为5个字符4个数字,并且"/"会在前两个字符后自动输入,即01/17后输入01自动输入,并且只允许两个更多人物"17".

func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool
{
if textField == expire{

    }
    return true
}
Run Code Online (Sandbox Code Playgroud)

dam*_*ndd 6

基于@Jigar答案的Swift 4解决方案:

func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
    if range.length > 0 {
      return true
    }
    if string == "" {
      return false
    }
    if range.location > 4 {
      return false
    }
    var originalText = textField.text
    let replacementText = string.replacingOccurrences(of: " ", with: "")

    //Verify entered text is a numeric value
    if !CharacterSet.decimalDigits.isSuperset(of: CharacterSet(charactersIn: replacementText)) {
      return false
    }

    //Put / after 2 digit
    if range.location == 2 {
      originalText?.append("/")
      textField.text = originalText
    }
    return true
  }
Run Code Online (Sandbox Code Playgroud)