ios - 如何确保在 UITextfield 中输入的日期不超过特定日期?

标签 ios swift uitextfield

我的意思是我有一个生日字段供用户输入他们的生日。我只想确保他们输入的是合法日期,例如 07-03-2001,而不是像 44-88-3333 这样的假日期。我已经有了代码来确保它是正确的格式。

 static func isDateValid(value: String?) -> Bool {
      let test = String.trim(value)
      if (String.isNilOrEmpty(test)) {
        return false
      }
      let dateRegEx = "^\\d{2}-\\d{2}-\\d{4}$"
      let dateTest = NSPredicate(format: "SELF MATCHES %@", dateRegEx)
      let result =  dateTest.evaluateWithObject(test)
      return result
    }


   userBirthday = String.trim(self.birthdayTextField!.text)
      if (!String.isDateValid(userBirthday)) {

        showAlertWithTitle("Error".localized(), message: "birthday not valid, please enter in format 07-05-1990".localized() )

        return

最佳答案

使用 DatePicker 可能是最好的方法。然而,由于这不是你所要求的,这里有一个正则表达式选项

let dateRegEx = "^(0[1-9]|[12][0-9]|3[01])[- \\.](0[1-9]|1[012])[- \\.](19|20)\\d\\d$"

年份 - 1900 到 2099。

关于ios - 如何确保在 UITextfield 中输入的日期不超过特定日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38668239/

相关文章:

ios - iOS7中如何根据内容调整UITextField的大小?

iphone - 如何在 UITextField 上自动打开键盘?

ios - 后台上下文保存导致 NSFetchedResultsController didChange anObject 调用 .delete 而不是 .update

ios - 如何通过 Observable 属性对项目数组进行排序?

ios - 使用 'Shuffle Albums' 将 NSMutableArray 随机播放到下一个队列(MediaPlayer)?

ios - 设置 WebView 委托(delegate)后 WebView 未加载

ios - 为特定 UITextField 分配字符限制

iOS - 应用程序因指南 2.10 而被拒绝 - iPad 的解决方案 - 如何修复?

ios - Collection View 单元格内 imageView 的 Animate isHighlighted 状态

ios - 将 Cocoapods 添加到多个目标