iOS开发——手机号,密码,邮箱,身份证号,中文判断
来源:互联网 发布:觉醒字幕组知乎 编辑:程序博客网 时间:2024/05/18 15:25
目前这些方面的判断主要是用了正则表达式
手机号的判断,目前主要是长度、均是数字,支持的号段由于第三方通讯比如京东通讯,小米通讯等支持的号段挺多,
有171,170,135,147等等,所以号段限制简单即可。
@"^((13[0-9])|(147)|(17[0-9])|(15[^4,\\D])|(18[0,0-9]))\\d{8}$"
其实手机号格式主要是为了短信验证,如果更简单点保证11位数字即可。
密码验证的条件比较多,除了位数,是否包含空格(用string方法单独判断空格),有个可能是符号啊,正角半角啊。至少包含两种字符啊。
NSString * regex = @"^(?![\\d]+$)(?![a-zA-Z]+$)(?![^\\da-zA-Z]+$).{6,18}$";
NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex];
BOOL isMatch = [pred evaluateWithObject:self.passwordField.currentString];
if (isMatch == NO) { // 不符合上面的正则,提示
请输入6-18位字符。仅支持数字、大写字母、小写字母和特殊符号,且至少包含其中2种
return;
}
但密码支持的较多字符时,有时可以单独判断密码符合 密码必须为unicode 0~127
NSString * regex = @"^.*[\\u0000-\\u007f]{6,18}.*$";
NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex];
BOOL isMatch = [pred evaluateWithObject:self.passwordField.currentString];
if (isMatch ==NO) {
[BlackShowView alertViewShowInContentView:self.contentView message:@"请不要输入过于特殊的字符作为密码"];
return;
}
邮箱的判断比较简单
@"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}";
身份证号
@"^(\\d{14}|\\d{17})(\\d|[xX])$";
还有有个比较常用的是判断是否输入了中文(注意此时是YES的状态,及不能包含中文)
// 是否包含中文^.*[\u4e00-\u9fa5].*$
{
NSString * regex = @"^.*[\u4e00-\u9fa5].*$";
NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex];
BOOL isMatch = [pred evaluateWithObject:self.accountField.currentString];
if (isMatch ==YES) {
[BlackShowView alertViewShowInContentView:self.contentView message:@"账号不能包含中文"];
return;
}
}
- iOS开发——手机号,密码,邮箱,身份证号,中文判断
- iOS判断邮箱,手机号,车牌号,车型,用户名,密码,昵称,身份证号,是否有效
- IOS 判断手机号 身份证号
- ios之常用邮箱/手机号/车牌/身份证号/密码正则表达式使用
- 手机号,邮箱 身份证号验证
- 用正则表达式验证邮箱、密码、QQ号、手机号、身份证号
- 邮箱,手机号,身份证号等正则表达式的判断
- ios开发-判断邮箱、手机号、车牌、身份证。。。。。合法性
- iOS开发之判断手机号和邮箱的合法性
- iOS各种判断判断(手机号/邮箱等)
- iOS开发判断身份证号是否合法
- iOS 判断邮箱,手机号是否正确
- ios判断身份证,手机号,邮箱号
- iOS 判断邮箱 手机号 是否正确
- ios 判断邮箱 手机号 是否正确
- iOS判断手机号邮箱网址的正则
- iOS 正则表达式判断邮箱、手机号、身份证、昵称、密码、手机型号等
- iOS 正则表达式判断手机型号、邮箱、手机号、身份证、昵称、密码等
- 从getView()重复调用浅谈listview数据装载机制
- Kafka文件存储机制那些事
- 设计模式七 Builder模式
- 利用fiddler模拟发送json数据的post请求
- struts2通过ajax动态改变系统后台的语言来达到国际化页面切换的功能
- iOS开发——手机号,密码,邮箱,身份证号,中文判断
- spring4.2 定时任务
- Javascript中如何获取统一管理的Java提示语
- Android Jni开发之交互处理
- Lambda表达式详解
- CSS中,margin的折叠(collapsing )问题
- 数据库连接池
- 2016年开坑文
- JAVA 获取网络时间