常用的正则表达式集合

2019-02-25  本文已影响0人  哈利波特会魔法

返回的值为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;
}
上一篇 下一篇

猜你喜欢

热点阅读