编辑时验证uitextfield

时间:2016-03-18 15:52:15

标签: ios regex xcode validation uitextfield

我想在编辑时验证文本字段中的文本。我有这个正则表达式@"^(01)?[- .]?(\\([2-9]\\d{2}\\)|[2-9]\\d{2})[- .]?\\d{3}[- .]?\\d{4}$"并使用shouldChangeCharactersInRange方法,如果输入了错误的符号,我想返回" NO",因此符号不会被打印。我尝试了NSPredicate,但无法做到。

1 个答案:

答案 0 :(得分:0)

将此扩展程序添加到您的类文件

extension String
{
    var isValid: Bool {
        do {
            let regex = try NSRegularExpression(pattern: "your regularexpression here", options: .CaseInsensitive)
            return regex.firstMatchInString(self, options: NSMatchingOptions(rawValue: 0), range: NSMakeRange(0, self.characters.count)) != nil
        } catch {
            return false
        }
    }
}

shouldChangeCharactersInRange文本字段功能

中使用此功能
if (label.text!.isValid)
{
//do your action here
}