我想在编辑时验证文本字段中的文本,我有这个regex @"^(01)?[- .]?(\\([2-9]\\d{2}\\)|[2-9]\\d{2})[- .]?\\d{3}[- .]?\\d{4}$"
,我使用shouldChangeCharactersInRange
方法,如果输入了一个错误的符号,我想返回"NO",这样符号就不会被打印出来。我和NSPredicate
试过,但做不到。
发布于 2016-03-18 16:03:13
将此扩展名添加到类文件中
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
textfield函数中使用这个
if (label.text!.isValid)
{
//do your action here
}
https://stackoverflow.com/questions/36088804
复制相似问题