importFoundation
enum
Validate{
case
email(_:String)
phoneNum(_:String)
carNum(_:String)
username(_:String)
password(_:String)
nickname(_:String)
URL(_:String)
IP(_:String)
varisRight:Bool{
varpredicateStr:String!
varcurrObject:String!
switch
self{
let.email(str):
predicateStr=
"^([a-z0-9_.-]+)@([da-z.-]+).([a-z.]{2,6})$"
currObject=str
let.phoneNum(str):
"^((13[0-9])|(15[^4,D])|(17[0,0-9])|(18[0,0-9]))d{8}$"
currObject=str
let.carNum(str):
"^[A-Za-z]{1}[A-Za-z_0-9]{5}$"
currObject=str
let.username(str):
"^[A-Za-z0-9]{6,20}+$"
currObject=str
let.password(str):
"^[a-zA-Z0-9]{6,20}+$"
currObject=str
let.nickname(str):
"^[u4e00-u9fa5]{4,8}$"
currObject=str
let.URL(str):
"^(https?://)?([da-z.-]+).([a-z.]{2,6})([/w.-]*)*/?$"
currObject=str
let.IP(str):
"^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$"
currObject=str
}
letpredicate=NSPredicate(format:
"SELFMATCHES%@"
,predicateStr)
return
predicate.evaluateWithObject(currObject)
}
}