//郵箱
+ (BOOL) validateEmail:(NSString *)email
{
NSString *emailRegex = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}";
NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegex];
return [emailTest evaluateWithObject:email];
}
//手機號碼驗證
+ (BOOL) validateMobile:(NSString *)mobile
{
//手機號以13, 15,18開頭,八個 \d 數字字符
NSString *phoneRegex = @"^((13[0-9])|(15[^4,\\D])|(18[0,0-9]))\\d{8}$";
NSPredicate *phoneTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",phoneRegex];
return [phoneTest evaluateWithObject:mobile];
}
//車牌號驗證
+ (BOOL) validateCarNo:(NSString *)carNo
{
NSString *carRegex = @"^[\u4e00-\u9fa5]{1}[a-zA-Z]{1}[a-zA-Z_0-9]{4}[a-zA-Z_0-9_\u4e00-\u9fa5]$";
NSPredicate *carTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",carRegex];
NSLog(@"carTest is %@",carTest);
return [carTest evaluateWithObject:carNo];
}
//車型
+ (BOOL) validateCarType:(NSString *)CarType
{
NSString *CarTypeRegex = @"^[\u4E00-\u9FFF]+$";
NSPredicate *carTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",CarTypeRegex];
return [carTest evaluateWithObject:CarType];
}
//用戶名
+ (BOOL) validateUserName:(NSString *)name
{
NSString *userNameRegex = @"^[A-Za-z0-9]{6,20}+$";
NSPredicate *userNamePredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",userNameRegex];
BOOL B = [userNamePredicate evaluateWithObject:name];
return B;
}
//密碼
+ (BOOL) validatePassword:(NSString *)passWord
{
NSString *passWordRegex = @"^[a-zA-Z0-9]{6,20}+$";
NSPredicate *passWordPredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",passWordRegex];
return [passWordPredicate evaluateWithObject:passWord];
}
//暱稱
+ (BOOL) validateNickname:(NSString *)nickname
{
NSString *nicknameRegex = @"^[\u4e00-\u9fa5]{4,8}$";
NSPredicate *passWordPredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",nicknameRegex];
return [passWordPredicate evaluateWithObject:nickname];
}
//身份證號
+ (BOOL) validateIdentityCard: (NSString *)identityCard
{
BOOL flag;
if (identityCard.length <= 0) {
flag = NO;
return flag;
}
NSString *regex2 = @"^(\\d{14}|\\d{17})(\\d|[xX])$";
NSPredicate *identityCardPredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",regex2];
return [identityCardPredicate evaluateWithObject:identityCard];
}
//包含數字字母的8-12位密碼ide
^(?!^[0-9]+$)(?!^[a-zA-Z]+$)([0-9a-zA-Z]{8,12})$
lua
#define RegexFloat2 @"^(([1-9]+)|([0-9]+\\.[0-9]{1,2}))$"//保留2位小數的字符串
#define RegexStrNumber @"^[A-Za-z0-9]+$"//26位大寫字母加數字組成的字符串
//#define RegexPhone @"^((13[0-9])|(15[0,0-9])|(17[0,0-9])|(18[0,0-9]))\\d{8}$" //手機號碼
#define RegexPhone @"^(1[0-9])\\d{9}$" //手機號碼
#define RegexCallPhone @"^[0-9-]+$" //電話號碼
#define RegexNumber @"^[0-9]+$" //0-9/ 只能輸入數字
#define RegexCarNum @"^[\u4e00-\u9fa5]{1}[A-Z]{1}[A-Z_0-9]{5}$" //車牌號碼
#define RegexCardNumber @"^[0-9]{16,19}$" //0-9 16-19/ 銀行卡號
#define RegexNumber5 @"^[0-9]{0,5}$"//5位整數
#define RegexNumber6 @"^[0-9]{0,6}$"//6位整數
#define RegexNumber8 @"^[0-9]{0,7}$"//7位整數
#define RegexNumber18 @"^[0-9a-zA-Z]{0,18}$"//17位整數+字母
#define RegexNumber11 @"^[0-9]{0,11}$"//11位整數
#define RegexPassword6 @"^[0-9a-zA-Z_]{6,12}$"//6-12位密碼
#define RegexPassword6 @"^[0-9a-zA-Z_.]{6,12}$"//6-12位密碼
#define RegexPassword8 @"^[0-9a-zA-Z_]{8,20}$"//8-20位密碼
#define RegexPasswordMax @"^.{8,20}$"//8-20位密碼
#define RegexFloatNumber @"^([1-9][0-9]*|0)(\.[0-9]+)?$" //數字和小數點
//#define RegexNumber6Float1 @"^([0-9]{0,6})|(.[0-9]{1})$"
#define RegexNumberOrFloat @"^[0-9]+([.]{0}|[.]{1}[0-9]+)$" //可帶小數點的純數字
#define RegexNumber7 @"^[0-9]{1}[0-9]{0,6}$"//7位整數
#define RegexNumber6Float1 @"^([0-9]{1}[0-9]{0,5}\\.[0-9]{1})$" //數值 6,1 顯示
#define RegexNumber4 @"^[0-9]{1}[0-9]{3}$"//4位整數
#define RegexNumber9Float2 @"^([0-9]{1}[0-9]{0,8}\\.[0-9]{2})$" //數值 9,2 顯示
#define RegexNumber2Float1 @"^([0-9]{1}[0-9]{0,1}\\.[0-9]{1})$" //數值 2,1 顯示orm