字符串、手机号正则校验和图片64
//手机号正则校验
+ (BOOL)isMobileNumber:(NSString*)mobileNum{
NSString *str = @"(0\\d{3,5}(-)?\\d{7,8})|(1\\d{10})|((400|800)\\d{7})";
NSPredicate*regextestmobile = [NSPredicatepredicateWithFormat:@"SELF MATCHES %@", str];
if([regextestmobileevaluateWithObject:mobileNum] ==YES){
returnYES;
}else{
returnNO;
}
}
第二、将图片转化base64
//将图片转表示base64值的字符串
funcimageToBase64(image:UIImage) ->String{
//将获取的图片通过jpegData(compressionQuality: 1.0)方法转成Data类型的数据。
//参数1.0表示不压缩,因为jpeg是有损格式,jpg和jpeg都用这个方法。无损格式PNG使用pngData()方法转换,没有参数,也就是不压缩。
letimageData:Data? = image.jpegData(compressionQuality:1.0)
let str: String = imageData!.base64EncodedString(options: Data.Base64EncodingOptions.lineLength64Characters)
//返回
returnstr
}
第三、 字段的校验规则
enum StringFormat {
casenumber //纯数字
casefloat // 浮点数字
case character // 纯字母
casephone // 是否电话号码
caseemail // 是否邮箱
case numberAndCharacter //字母和数字
}
}
funcisFormat(of type:StringFormat) ->Bool{
ifisEmpty{
returnfalse
}
letregex:String
switchtype {
case.number: regex ="^[0-9]*$"
case.float: regex ="^[0-9]+(.[0-9]+)?$"
case.character: regex ="^[a-zA-Z]*$"
case.phone: regex ="^0\\d{8,9}$"
case .email: regex = "\\b([a-zA-Z0-9%_.+\\-]+)@([a-zA-Z0-9.\\-]+?\\.[a-zA-Z]{2,6})\\b"
case.numberAndCharacter: regex ="^[A-Za-z0-9]*$"
}
returnmatches(pattern: regex)
}