ios手机号、邮箱、身份证号判定

一. 手机号

  1. 限定手机号长度
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {

NSString *tmpStr = [textField.text stringByReplacingCharactersInRange:range withString:string];

if (_telField==textField) { 

if ([tmpStr length]>11) {

 _telField.text = [tmpStr substringToIndex:11]; 

return NO; 

 } 

 } 

return YES; }

2). 手机号规则限定

- (BOOL)isTelNumber:(NSString *)telNum { 

NSString *telStr = @"^1(3[0-9]|4[57]|5[0-35-9]|8[0-9]|7[06-8])\\d{8}$"; 

NSPredicate *regextestTel = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",telStr]; 

return [regextestTel evaluateWithObject:telNum]; 

二. 身份证号

/ 身份证号验证 

+(BOOL)validateIdentityCard:(NSString*)cardNo{ 

if (cardNo.length != 18) { return NO; } 

NSArray* codeArray = [NSArray arrayWithObjects:@"7",@"9",@"10",@"5",@"8",@"4",@"2",@"1",@"6",@"3",@"7",@"9",@"10",@"5",@"8",@"4",@"2",nil]; 

NSDictionary* checkCodeDic = [NSDictionary dictionaryWithObjects:[NSArrayarrayWithObjects: @"1",@"0",@"X",@"9",@"8",@"7",@"6",@"5",@"4",@"3",@"2", nil] forKeys:[NSArray arrayWithObjects:@"0",@"1",@"2",@"3",@"4",@"5",@"6",@"7",@"8",@"9",@"10", nil]]; 

NSScanner* scan = [NSScanner scannerWithString:[cardNo substringToIndex:17]];

int val; 

BOOL isNum = [scan scanInt:&val] && [scan isAtEnd]
; 

  if (!isNum) { return NO; }

  int sumValue = 0; 

  for (int i =0; i<<span class="hljs-number">17; i++) { 

 sumValue+=[[cardNo substringWithRange:NSMakeRange(i , 1) ] 

intValue]* [[codeArray objectAtIndex:i] intValue]; 

 }

  NSString* strlast = [checkCodeDic objectForKey:[NSStringstringWithFormat:@"%d",sumValue%11]];

  if ([strlast isEqualToString: [[cardNo substringWithRange:NSMakeRange(17,1)]uppercaseString]]) {

  return YES; } 

  return NO;

}

三 判定邮箱是否正确

-(BOOL)validateEmail:(NSString *)email

{

NSString *emailRegex = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}";

NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegex];

if( [emailTest evaluateWithObject:email]){

NSLog(@"恭喜!您输入的邮箱验证合法");

return YES;

}else{

UIAlertView* alert = [[UIAlertView alloc] initWithTitle:@"提示" message:@"请输入正确的邮箱" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];

[alert show];

return NO;

}

return NO;

}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言 以下的验证规则是在公司项目中总结出来的,有的规则可能不适合您需要自行修改规则。有的规则是很久以前写的了可能不...
    前端_逗叔阅读 4,175评论 0 0
  • 欢迎关注我的公众号:读书主义 更多精彩等着你! 这个读书方法,可能会颠覆你对读书以往的认知|开卷 或许读书已经成为...
    米米粒粒阅读 34,766评论 9 209
  • 玉不琢,不成器.人不学,不知义. 美玉不经过玉工的打磨雕刻,就不可成为精美的玉器.一个人如果不努力读书学习,就不会...
    欧阳寒耘阅读 509评论 0 0
  • 《手机中的秘密》 手机中好多的秘密只有自己才清楚 喝了今夜醉的酒也没有忘记打开你 多少个无眠的夜晚也是你在陪伴我 ...
    葉威阅读 293评论 1 1
  • 神马情况,肿么黄黄
    李柏然阅读 162评论 0 0