返回的值为YES,则表示是符合规范的
如:
if (![TextFieldCheckAlert inputShouldLetterOrNumWithText: self.userField.text]) {
[CommonAlertView showAlertViewWithTitle:@"提示" message:@"用户名只允许输入英文,数字和下划线" cancleTitle:nil ensureTitle:@"确定" cancelCallBack:nil ensureCallBack:nil];
return;
}
1. 是否有汉字
+ (BOOL)IsChinese:(NSString *)str {
for(int i=0; i< [str length];i++)
{
int a = [str characterAtIndex:i];
if( a >0x4e00&& a <0x9fff){
return YES;
}
}
return NO;
}
2. 仅支持英文,数字,和下划线
+ (BOOL)inputShouldLetterOrNumWithText:(NSString *)inputString {
if (inputString.length == 0) return NO;
NSString *regex =@"^[a-zA-Z0-9_]+$";
NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",regex];
return [pred evaluateWithObject:inputString];
}
3. 仅支持中英文,数字以及混合
+ (BOOL)inputShouldLetterOrNumOrChineseWithText:(NSString *)inputString
{
if (inputString.length == 0) return NO;
NSString *regex =@"^[a-zA-Z0-9\u4e00-\u9fa5]+$";
NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",regex];
return [pred evaluateWithObject:inputString];
}
4. 仅支持数字和小数点(小数点后面2位)
+ (BOOL)IsChinese:(NSString *)str {
for(int i=0; i< [str length];i++)
{
int a = [str characterAtIndex:i];
if( a >0x4e00&& a <0x9fff){
return YES;
}
}
return NO;
}
5. 仅支持英文和数字
+ (BOOL)inputShouldLetterOrNumberWithText:(NSString *)inputString{
if (inputString.length == 0) return NO;
NSString *regex =@"^[a-zA-Z0-9]+$";
NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",regex];
return [pred evaluateWithObject:inputString];
}
6. 仅支持英文和数字组合
+ (BOOL)inputShouldLetterAddNumberCWithText:(NSString *)inputString
{
if (inputString.length == 0) return NO;
NSString *regex =@"[0-9]+[a-zA-Z]+[0-9a-zA-Z]*|[a-zA-Z]+[0-9]+[0-9a-zA-Z]*";
NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",regex];
return [pred evaluateWithObject:inputString];
}
7. 第一个数字是否为1
+ (BOOL)isFirstIsNumOne:(NSString *)tmpString
{
BOOL bFlag = [[tmpString substringWithRange:NSMakeRange(0, 1)] isEqualToString:@"1"];
return bFlag;
}