ios手機(jī)號(hào)、郵箱、身份證號(hào)判定

一. 手機(jī)號(hào)

  1. 限定手機(jī)號(hào)長(zhǎng)度
- (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). 手機(jī)號(hào)規(guī)則限定

- (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]; 

二. 身份證號(hào)

/ 身份證號(hào)驗(yàn)證 

+(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(@"恭喜!您輸入的郵箱驗(yàn)證合法");

return YES;

}else{

UIAlertView* alert = [[UIAlertView alloc] initWithTitle:@"提示" message:@"請(qǐng)輸入正確的郵箱" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];

[alert show];

return NO;

}

return NO;

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

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

  • 前言 以下的驗(yàn)證規(guī)則是在公司項(xiàng)目中總結(jié)出來(lái)的,有的規(guī)則可能不適合您需要自行修改規(guī)則。有的規(guī)則是很久以前寫的了可能不...
    前端_逗叔閱讀 4,552評(píng)論 0 0
  • 歡迎關(guān)注我的公眾號(hào):讀書主義 更多精彩等著你! 這個(gè)讀書方法,可能會(huì)顛覆你對(duì)讀書以往的認(rèn)知|開(kāi)卷 或許讀書已經(jīng)成為...
    米米粒粒閱讀 35,381評(píng)論 9 209
  • 玉不琢,不成器.人不學(xué),不知義. 美玉不經(jīng)過(guò)玉工的打磨雕刻,就不可成為精美的玉器.一個(gè)人如果不努力讀書學(xué)習(xí),就不會(huì)...
    歐陽(yáng)寒耘閱讀 547評(píng)論 0 0
  • 《手機(jī)中的秘密》 手機(jī)中好多的秘密只有自己才清楚 喝了今夜醉的酒也沒(méi)有忘記打開(kāi)你 多少個(gè)無(wú)眠的夜晚也是你在陪伴我 ...
    葉威閱讀 332評(píng)論 1 1
  • 神馬情況,腫么黃黃
    李柏然閱讀 186評(píng)論 0 0

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