iOS判斷漢字個數(shù)

最近在做注冊登陸的認證,需求:
用戶名為6~12位“字符”
也就是說,一個英文是一個字符,一個中文是兩個字符,用正則表達式好像不容易實現(xiàn)吧?

沒什么好說的,直接上答案了:

判斷字符數(shù)

//判斷字符串為6~12位“字符” 
- (BOOL)isValidateName:(NSString *)name{
        NSUInteger  character = 0;
        for(int i=0; i< [name length];i++){
            int a = [name characterAtIndex:i];
            if( a >= 0x4e00 && a <= 0x9fa5){ //判斷是否為中文
                character +=2;
            }else{
                character +=1;
            }
        }
    
    if (character >=6 && character <=12) {
        return YES;
    }else{
        return NO;
    }
    
}

判斷郵箱號

//如果符合郵箱格式,返回YES
-(BOOL)isValidateEmail:(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];
}

判斷密碼為6~20位字符

- (BOOL)isValidatePassword:(NSString *)password{
    NSString *regex = @"^[\x21-\x7E]{6,20}$";
    NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex];
    return [pred evaluateWithObject:password];
}

判斷手機格式

+ (BOOL)checkTel:(NSString *)str{
    NSString *regex = @"^[1][3-8]+\\d{9}";//手機號碼變化大,所以沒有做更精確
    NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex];
    return  [pred evaluateWithObject:str];;
}

判斷郵編格式為6位數(shù)字

+ (BOOL)checkPostCode:(NSString *)str{
    NSString *regex = @"^[0-9]{6}$";
    NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex];
    return  [pred evaluateWithObject:str];
}
  • 如果有什么疑問,可以在評論區(qū)一起討論;
  • 如果有什么不正確的地方,歡迎指導!


注:本文首發(fā)于 iHTCboy's blog,如若轉(zhuǎn)載,請注明來源。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

  • 初衷:看了很多視頻、文章,最后卻通通忘記了,別人的知識依舊是別人的,自己卻什么都沒獲得。此系列文章旨在加深自己的印...
    DCbryant閱讀 4,257評論 0 20
  • 正則表達式到底是什么東西?字符是計算機軟件處理文字時最基本的單位,可能是字母,數(shù)字,標點符號,空格,換行符,漢字等...
    獅子挽歌閱讀 2,287評論 0 9
  • http://www.jb51.net/tools/zhengze.html 正則表達式30分鐘入門教程 版本:v...
    nullleaf閱讀 664評論 0 2
  • linux資料總章2.1 1.0寫的不好抱歉 但是2.0已經(jīng)改了很多 但是錯誤還是無法避免 以后資料會慢慢更新 大...
    數(shù)據(jù)革命閱讀 13,266評論 2 33
  • 女性,女性,又是女性 Rewrite today Writed on 21 February, 2015 最新更新...
    質(zhì)子陳閱讀 594評論 1 3

友情鏈接更多精彩內(nèi)容