ID 카드 및 은행 카드 번호의 형식을 결정하는 일반 규칙을 작성하는 방법
这次给大家带来判断身份证与银行卡号格式的正则怎么写,使用判断身份证与银行卡号格式正则的注意事项有哪些,下面就是实战案例,一起来看一下。
1.有时候我们会用到上传身份证号,或者银行卡号,这个时候就需要我们对身份证号以及银行卡号,进行基本的判断。
下面便是身份证号的判断返回YES是合法,反之不合法
#pragma mark 判断身份证号是否合法 - (BOOL)judgeIdentityStringValid:(NSString *)identityString { if (identityString.length != 18) return NO; // 正则表达式判断基本 身份证号是否满足格式 NSString *regex2 = @"^(^[1-9]\\d{7}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{3}$)|(^[1-9]\\d{5}[1-9]\\d{3}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])((\\d{4})|\\d{3}[Xx])$)$"; NSPredicate *identityStringPredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",regex2]; //如果通过该验证,说明身份证格式正确,但准确性还需计算 if(![identityStringPredicate evaluateWithObject:identityString]) return NO; //** 开始进行校验 *// //将前17位加权因子保存在数组里 NSArray *idCardWiArray = @[@"7", @"9", @"10", @"5", @"8", @"4", @"2", @"1", @"6", @"3", @"7", @"9", @"10", @"5", @"8", @"4", @"2"]; //这是除以11后,可能产生的11位余数、验证码,也保存成数组 NSArray *idCardYArray = @[@"1", @"0", @"10", @"9", @"8", @"7", @"6", @"5", @"4", @"3", @"2"]; //用来保存前17位各自乖以加权因子后的总和 NSInteger idCardWiSum = 0; for(int i = 0;i < 17;i++) { NSInteger subStrIndex = [[identityString substringWithRange:NSMakeRange(i, 1)] integerValue]; NSInteger idCardWiIndex = [[idCardWiArray objectAtIndex:i] integerValue]; idCardWiSum += subStrIndex * idCardWiIndex; } //计算出校验码所在数组的位置 NSInteger idCardMod=idCardWiSum%11; //得到最后一位身份证号码 NSString *idCardLast= [identityString substringWithRange:NSMakeRange(17, 1)]; //如果等于2,则说明校验码是10,身份证号码最后一位应该是X if(idCardMod==2) { if(![idCardLast isEqualToString:@"X"]||[idCardLast isEqualToString:@"x"]) { return NO; } }else{ //用计算出的验证码与最后一位身份证号码匹配,如果一致,说明通过,否则是无效的身份证号码 if(![idCardLast isEqualToString: [idCardYArray objectAtIndex:idCardMod]]) { return NO; } } return YES; }
在接下来便是银行卡号的的判断返回YES或者是真是合法,反之不合法
#pragma mark 判断银行卡号是否合法 -(BOOL)isBankCard:(NSString *)cardNumber{ if(cardNumber.length==0){ return NO; } NSString *digitsOnly = @""; char c; for (int i = 0; i < cardNumber.length; i++){ c = [cardNumber characterAtIndex:i]; if (isdigit(c)){ digitsOnly =[digitsOnly stringByAppendingFormat:@"%c",c]; } } int sum = 0; int digit = 0; int addend = 0; BOOL timesTwo = false; for (NSInteger i = digitsOnly.length - 1; i >= 0; i--){ digit = [digitsOnly characterAtIndex:i] - '0'; if (timesTwo){ addend = digit * 2; if (addend > 9) { addend -= 9; } } else { addend = digit; } sum += addend; timesTwo = !timesTwo; } int modulus = sum % 10; return modulus == 0; }
相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!
推荐阅读:
위 내용은 ID 카드 및 은행 카드 번호의 형식을 결정하는 일반 규칙을 작성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











QQ 이메일: QQ number@qq.com, 영어 QQ 이메일: 영어 또는 number@qq.com, foxmail 이메일 계정: 자신의 account@foxmail.com 설정, 휴대폰 이메일 계정: 휴대폰 number@qq.com. 튜토리얼 적용 모델: iPhone13 시스템: IOS15.3 버전: QQ Mailbox 6.3.3 분석 1QQ 사서함에는 일반적으로 사용되는 네 가지 형식이 있습니다. QQ 사서함: QQ number@qq.com, 영어 QQ 사서함: 영어 또는 숫자@qq.com, foxmail 이메일 계정: 자신만의 account@foxmail.com을 설정하세요. 휴대폰 이메일 계정: 휴대폰 번호@qq.com. 보충: qq 메일함이란 무엇입니까? 1 최초의 QQ 메일함은 QQ 사용자 사이에만 있었습니다.

iOS 17 및 macOS Sonoma에서 Apple은 블록 따옴표 및 새로운 모노스타일 스타일을 포함하여 Apple Notes에 대한 새로운 서식 옵션을 추가했습니다. 사용 방법은 다음과 같습니다. Apple Notes의 추가 서식 옵션을 사용하면 이제 메모에 블록 따옴표를 추가할 수 있습니다. 블록 인용 형식을 사용하면 텍스트 왼쪽에 있는 인용 표시줄을 사용하여 글의 섹션을 시각적으로 쉽게 오프셋할 수 있습니다. "Aa" 형식 버튼을 탭/클릭하고 입력하기 전이나 블록 인용으로 변환하려는 줄에 있을 때 블록 인용 옵션을 선택하세요. 이 옵션은 체크리스트를 포함한 모든 텍스트 유형, 스타일 옵션 및 목록에 적용됩니다. 동일한 형식 메뉴에서 새로운 단일 스타일 옵션을 찾을 수 있습니다. 이것은 이전의 "동일 너비"의 개정판입니다.

잉크는 바로가기의 파일 형식입니다. 바로가기는 기능면에서 기호 링크와 유사하지만 기호 링크와 본질적으로 다른 파일 개체입니다. 바로가기는 기호가 아닌 일반 파일입니다. .lnk" - 바로 가기를 복사, 이동, 변경 또는 삭제할 수 있습니다. 바로 가기는 파일, 폴더 또는 시스템의 기타 합법적인 위치를 가리킬 수 있습니다.

ID 카드로 하나의 타오바오 매장만 개설할 수 있습니다. 판매자는 타오바오 플랫폼의 규정을 준수해야 하며, 다른 사람의 ID 카드를 사용하여 여러 매장을 개설하려고 해서는 안 됩니다. 판매자는 점포를 합병하고 지점을 개설하여 사업을 확장하고 매출을 늘릴 수 있습니다. 다만, 실명인증을 위해서는 각 지점마다 독립적인 신분증을 사용해야 한다는 점에 유의해야 한다.

pptm은 Office Office 제품군의 PowerPoint 파일 형식입니다. 전체 이름은 "매크로 지원 PowerPoint 프레젠테이션"입니다. pptm 파일은 2007 버전 이상의 Office 소프트웨어에서만 열 수 있습니다. 다른 버전의 소프트웨어로 열면 편집이 불가능하거나 이미지가 불완전해지는 등의 문제가 발생합니다.

m3u8은 UTF-8 인코딩 형식입니다. M3U8은 UTF-8로 인코딩된 M3U 파일을 나타내며 M3U 파일은 인덱스 일반 텍스트 파일을 기록합니다. 파일을 열면 재생 소프트웨어는 해당 파일을 재생하지 않지만 해당 파일을 기반으로 해당 오디오 및 비디오 파일의 네트워크 주소를 찾습니다. 온라인 처리를 위한 색인입니다. M3U8은 주로 파일 목록 형태로 존재하는 일반적인 스트리밍 미디어 형식으로 라이브 방송과 주문형 재생을 모두 지원하며 특히 Android 및 iOS와 같은 플랫폼에서 일반적으로 사용됩니다.

CR3 파일은 Digic8 이미지 프로세서를 사용하여 Canon의 새로운 카메라로 기록한 원본 RAW 파일입니다. cr3 파일은 RAW 이미지에 대한 "RAW 현상"과 같은 이미지 조정을 수행하는 소프트웨어인 Canon ddp를 통해 열 수 있습니다.

RTF의 전체 이름은 "Rich Text Format"이며 중국어로 "Rich Text Format" 또는 "Multiple Text Format"을 의미합니다. RTF는 Word에서 저장할 수 있는 문서 형식입니다. 는 다른 워드 프로세싱 소프트웨어와 호환되기 위해 DOC 형식(Word 문서)과 유사한 파일이며 호환성이 좋습니다. 일반 사용자의 경우 RTF 형식은 서로 다른 응용 프로그램 간에 서식이 지정된 텍스트 문서를 전송하기 위한 좋은 파일 형식 변환 도구입니다.
