判斷身分證與銀行卡號格式的正規怎麼寫
这次给大家带来判断身份证与银行卡号格式的正则怎么写,使用判断身份证与银行卡号格式正则的注意事项有哪些,下面就是实战案例,一起来看一下。
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中文网其它相关文章!
推荐阅读:
以上是判斷身分證與銀行卡號格式的正規怎麼寫的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

QQ信箱:QQ號@qq.com,英文QQ信箱:英文或數字@qq.com,foxmail信箱帳號:自行設定帳號@foxmail.com,手機信箱帳號:手機號碼@qq.com。教學適用型號:iPhone13系統:IOS15.3版本:QQ信箱6.3.3解析1QQ信箱有四種格式,常用的QQ信箱:QQ號@qq.com,英文QQ信箱:英文或數位@qq.com,foxmail信箱帳號:自己設定帳號@foxmail.com,手機信箱帳號:手機號碼@qq.com。補充:qq信箱是什麼1最早的QQ信箱還只是QQ使用者之間

ink是快捷方式的文件格式;快捷方式是一種功能上類似符號鏈接的文件對象,但與符號鏈接有本質的不同;快捷方式是普通的文件,而不是符號,其擴展名是“.lnk” ,因此快捷方式可以被複製、移動、更改或刪除;快捷方式可以指向文件、資料夾或其他任何系統中合法的位置。

在iOS17和macOSSonoma中,Apple為AppleNotes新增了新的格式選項,包括區塊引號和新的Monostyle樣式。以下是使用它們的方法。使用AppleNotes中的其他格式選項,您現在可以在筆記中新增區塊引用。區塊引用格式可以輕鬆地使用文字左側的引用欄直觀地偏移部分的寫作。只需點擊/點擊“Aa”格式按鈕,然後在鍵入之前或當您在要轉換為區塊引用的行上時選擇區塊引用選項。此選項適用於所有文字類型、樣式選項和列表,包括清單。在同一「格式」功能表中,您可以找到新的「單樣式」選項。這是對先前「等寬

CR3檔案是佳能採用Digic8影像處理器的新型相機所記錄的原始raw檔。 cr3的檔案可以透過佳能ddp打開,是對RAW影像進行「RAW顯像」等影像調節的軟體。

m3u8是UTF-8編碼格式。 M3U8是指UTF-8編碼的M3U文件,而M3U文件是記錄了一個索引純文本文件,打開它時播放軟體並不是播放它,而是根據它的索引找到對應的音視頻文件的網絡地址進行在線播放。 M3U8是一種常見的串流媒體格式,主要以檔案清單的形式存在,既支援直播又支援點播,尤其在Android、iOS等平台最為常用。

一個身分證只能開設一個淘寶店,賣家應該遵守淘寶平台的規定,不要嘗試使用其他人的身分證來開設多個店。賣家可以透過店鋪合併和開設分店的方式來拓展業務,提高銷售額。但是要注意的是,每家分店都需要使用獨立的身分證進行實名認證。

pptm是office辦公室套件中powerpoint的一種文件格式,全名是「啟用巨集的PowerPoint簡報」。 pptm檔案只能用2007以上版本的office軟體打開,如果用其他版本軟體開啟會出現無法編輯、圖片不完整等問題。

rtf全名為“Rich Text Format”,中文意思為“富文本格式”或“多文本格式”,是由微軟公司開發的跨平台文檔格式;RTF是word為了與其他字處理軟體兼容而能夠保存的文檔格式,是一種類似DOC格式(Word文件)的文件,有很好的兼容性。對一般使用者而言,RTF格式是一個很好的文件格式轉換工具,用於在不同應用程式之間進行格式化文字文件的傳送。
