Как убедиться, что данные, введенные в поле uitext, имеют определенный формат (например, 07-04-05)?

В настоящее время у меня есть текстовое поле, в котором пользователь должен ввести свой день рождения. После того, как они вводят свой день рождения, данные затем загружаются на сервер. Для загрузки на сервер дата должна быть в формате: 07-04-05. Я хочу установить предупреждение, поэтому, если оно не в этом формате, появится сообщение об ошибке. Как я могу проверить, ввел ли пользователь правильный формат?


person SwiftyJD    schedule 06.07.2016    source источник
comment
Возможно, лучшим решением будет использовать UIDatePicker и отформатировать дату самостоятельно. В противном случае вы должны использовать методы UITextFieldDelegate: stackoverflow.com/questions/33636756/   -  person Larme    schedule 06.07.2016


Ответы (2)


  1. Сопоставьте текст, введенный в текстовом поле, с массивом символов:

    пусть введенныйStringArray = myTextField.text.characters.map {String($0)}

  2. Когда у вас есть массив символов, просто проверьте, что первые 2 являются целыми числами, третий — «-», следующие два символа — целыми числами и так далее.

  3. Если одно из этих сравнений не совпадает, отображать предупреждение для пользователя? и предложит ввести дату в правильном формате.

person omzy    schedule 06.07.2016

используйте регулярное выражение:

let input = "07-04-05"
if input.rangeOfString("^\\d{2}-\\d{2}-\\d{2}$", options: .RegularExpressionSearch) != nil {
    print("correct format")
}
person André Slotta    schedule 06.07.2016