iOS判断汉字个数

简介: 最近在做注册登陆的认证,需求:用户名为6~12位“字符”也就是说,一个英文是一个字符,一个中文是两个字符,用正则表达式好像不容易实现吧?没什么好说的,直接上答案了:判断字符数//判断字符串为6~12位“字符” - (BOOL)isValida...

最近在做注册登陆的认证,需求:
用户名为6~12位“字符”
也就是说,一个英文是一个字符,一个中文是两个字符,用正则表达式好像不容易实现吧?

没什么好说的,直接上答案了:

判断字符数

//判断字符串为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位数字

+ (BOOL)checkPostCode:(NSString *)str{
    NSString *regex = @"^[0-9]{6}$";
    NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex];
    return  [pred evaluateWithObject:str];
}
  • 如果有什么疑问,可以在评论区一起讨论;
  • 如果有什么不正确的地方,欢迎指导!


注:本文首发于 iHTCboy's blog,如若转载,请注明来源。

目录
相关文章
|
JavaScript 前端开发 Android开发
根据js来判断手机是操作系安卓还是ios
根据js来判断手机是操作系安卓还是ios
575 0
|
iOS开发
iOS开发 - 渐变导航条升级版(判断滚动的方向和改变方向时的位置)
iOS开发 - 渐变导航条升级版(判断滚动的方向和改变方向时的位置)
134 0
iOS开发 - 渐变导航条升级版(判断滚动的方向和改变方向时的位置)
|
iOS开发
iOS开发 - touchBegan事件判断点击的位置在View上还是在View的子View上
iOS开发 - touchBegan事件判断点击的位置在View上还是在View的子View上
271 0
iOS开发 - touchBegan事件判断点击的位置在View上还是在View的子View上
|
iOS开发
iOS开发 - ScrollView滚动时怎么判断滚动停止及滚动的方向
iOS开发 - ScrollView滚动时怎么判断滚动停止及滚动的方向
883 0
|
数据安全/隐私保护 iOS开发
iOS逆向小技能:解锁无密码的设备、判断设备是否锁定、锁定设备、打开某个程序
介绍lua 函数: runApp、closeApp、getScreenSize、getDeviceID、lua_exit、isFrontApp。
244 0
|
iOS开发
IOS常用正则表达式判断
IOS常用正则表达式判断
93 0
|
JavaScript iOS开发
JS判断IOS系统版本
JS判断IOS系统版本
387 0
|
iOS开发
IOS判断网络连接
IOS判断网络连接
258 0
|
Android开发 iOS开发
判断是否为安卓或者IOS
判断是否为安卓或者IOS
493 0
|
Web App开发 JavaScript iOS开发
求助,主页面通过iframe访问ngnix中的子页面,子页面中利用调用js方法判断localstonge中是否有值,ios不可用,关闭阻止跨网站追踪,safari可用
紧急求助,主页面通过iframe访问ngnix中的子页面,子页面中利用调用js方法判断localstonge中是否有值,ios不可用,关闭阻止跨网站追踪,safari可用