- 1.匹配住允许中文和字母
*
或者下边4.检查含有数字标点 取反
-(BOOL)checkName:(NSString *)_text
{
NSString *Regex = @"^[A-Za-z\u4e00-\u9fa5]*$";
NSPredicate *Test = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", Regex];
return [Test evaluateWithObject:_text];
}
如果在输入时候校验的话系统九宫格情况下会返回NO,所以加上
if ([string isEqualToString:@","]||[string isEqualToString:@"➋"]||[string isEqualToString:@"➌"]||[string isEqualToString:@"➍"]||[string isEqualToString:@"➎"]||[string isEqualToString:@"➏"]||[string isEqualToString:@"➐"]||[string isEqualToString:@"➑"]||[string isEqualToString:@"➒"]) {
return YES;
}
- 2.检查是否是数字和小数点
+ (BOOL)checkNumber:(NSString *)string WithTextFieldText:(NSString*)text{
NSCharacterSet*cs;
cs =[[NSCharacterSet characterSetWithCharactersInString:@"0123456789." ]invertedSet];
NSString *filtered = [[string componentsSeparatedByCharactersInSet:cs]componentsJoinedByString:@""];
BOOL basicTest = [string isEqualToString:filtered];
if ([text rangeOfString:@"."].length>0) {
if ([string isEqualToString:@"."]) {
return NO;
}
}
return basicTest;
}
3.检查匹配由数字和26个英文字母组成的字符串
+(BOOL)checkStringNumbersWithlettersWithString:(NSString*)string;{
NSString *regex=@"^[A-Za-z0-9]+$";
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex];
if (![predicate evaluateWithObject:string]) {
return YES;
}
return NO;
}
- 4.检查含有数字标点
+ (BOOL)checkShuZiWithBiaoDianWithString:(NSString*)string{
NSString *regex=@"^[A-Za-z /\u4e00-\u9fa5]+$";
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex];
if (![predicate evaluateWithObject:string]) {
return YES;
}
return NO;
}
小建议:尽可能输入校验为输入过后需要操作的时候统一校验,而不是实时校验
常用
/*[\u4e00-\u9fa5] //匹配中文字符
^[1-9]\d*$ //匹配正整数
^[A-Za-z]+$ //匹配由26个英文字母组成的字符串
^[A-Z]+$ //匹配由26个英文字母的大写组成的字符串
^[a-z]+$ //匹配由26个英文字母的小写组成的字符串
^[A-Za-z0-9]+$ //匹配由数字和26个英文字母组成的字符串*/