美文网首页
常用的正则表达式集合

常用的正则表达式集合

作者: 哈利波特会魔法 | 来源:发表于2019-02-25 14:29 被阅读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;
    }
    

    相关文章

      网友评论

          本文标题:常用的正则表达式集合

          本文链接:https://www.haomeiwen.com/subject/kfvwyqtx.html