如何检查textFieldView是空还是没有空格?

时间:2016-05-30 20:11:12

标签: ios xcode swift

textField.text.isEmpty
textField.text != ""

这两个函数将空格视为字符。但是,我希望我能够识别文本字段没有空格或不为空。

3 个答案:

答案 0 :(得分:3)

检查修剪后的字符串是否为空

let isEmpty = str.stringByTrimmingCharactersInSet(.whitespaceAndNewlineCharacterSet()).isEmpty

您甚至可以将其放在String扩展名中:

extension String {
    var isReallyEmpty: Bool {
        return self.stringByTrimmingCharactersInSet(.whitespaceAndNewlineCharacterSet()).isEmpty
    }
}

它甚至适用于var str = " ​ "之类的字符串(包含空格,制表符和zero-width spaces)。

然后只需检查textField.text?.isReallyEmpty ?? true

如果您想更进一步(我不会)将其添加到UITextField分机:

extension UITextField {
    var isReallyEmpty: Bool {
        return text?.stringByTrimmingCharactersInSet(.whitespaceAndNewlineCharacterSet()).isEmpty ?? true
    }
}

您的代码变为textField.isReallyEmpty

答案 1 :(得分:0)

我在@ Pieter21的链接中使用了这个。 它适用于用户可以输入的空白​​区域。

let myString = TextField.text

let trimmedString = myString!.stringByTrimmingCharactersInSet(
    NSCharacterSet.whitespaceAndNewlineCharacterSet()
)

if trimmedString != "" {
    // Code if not empty
} else {
    // Code if empty
}

答案 2 :(得分:0)

Swift 4中,

extension String {
    var isReallyEmpty: Bool {
        return self.trimmingCharacters(in: .whitespaces).isEmpty
    }
}