判断身份证与银行卡号格式的正则怎么写
这次给大家带来判断身份证与银行卡号格式的正则怎么写,使用判断身份证与银行卡号格式正则的注意事项有哪些,下面就是实战案例,一起来看一下。
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中文网其它相关文章!
推荐阅读:
Atas ialah kandungan terperinci 判断身份证与银行卡号格式的正则怎么写. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



E-mel QQ: QQ number@qq.com, Bahasa Inggeris QQ e-mel: Bahasa Inggeris atau numbers@qq.com, akaun e-mel foxmail: sediakan akaun@foxmail.com anda sendiri, akaun e-mel telefon bimbit: nombor telefon bimbit@qq.com. Tutorial Model Berkenaan: iPhone13 Sistem: IOS15.3 Versi: Peti Mel QQ 6.3.3 Analisis Peti mel 1QQ mempunyai empat format, peti mel QQ yang biasa digunakan: QQ number@qq.com, peti mel QQ Inggeris: Bahasa Inggeris atau numbers@qq.com, foxmail E-mel akaun: sediakan akaun@foxmail.com anda sendiri, akaun e-mel telefon bimbit: nombor telefon bimbit@qq.com. Tambahan: Apakah peti mel qq 1 Peti mel QQ terawal hanya antara pengguna QQ

Dalam iOS 17 dan macOS Sonoma, Apple telah menambah pilihan pemformatan baharu untuk Apple Notes, termasuk petikan blok dan gaya Monostyle baharu. Inilah cara untuk menggunakannya. Dengan pilihan pemformatan tambahan dalam Apple Notes, anda kini boleh menambah petikan blok pada nota anda. Format petikan blok memudahkan untuk mengimbangi bahagian penulisan secara visual menggunakan bar petikan di sebelah kiri teks. Hanya ketik/klik butang format "Aa" dan pilih pilihan petikan blok sebelum menaip atau apabila anda berada di baris yang anda ingin tukar kepada petikan blok. Pilihan ini digunakan pada semua jenis teks, pilihan gaya dan senarai, termasuk senarai semak. Dalam menu Format yang sama anda boleh mencari pilihan Gaya Tunggal baharu. Ini ialah semakan bagi "lebar sama" sebelumnya

dakwat ialah format fail pintasan; pintasan ialah objek fail yang mempunyai fungsi yang serupa dengan pautan simbolik, tetapi pada asasnya berbeza daripada pautan simbolik ialah fail biasa, bukan simbol, dan sambungannya ialah " .lnk" , jadi pintasan boleh disalin, dialihkan, ditukar atau dipadamkan; pintasan boleh menghala ke fail, folder atau mana-mana lokasi undang-undang lain dalam sistem.

Kad pengenalan hanya boleh membuka satu kedai Taobao. Penjual harus mematuhi peraturan platform Taobao dan tidak cuba menggunakan kad pengenalan orang lain untuk membuka berbilang kedai. Penjual boleh mengembangkan perniagaan mereka dan meningkatkan jualan dengan menggabungkan kedai dan membuka cawangan. Walau bagaimanapun, perlu diingatkan bahawa setiap cawangan perlu menggunakan kad ID bebas untuk pengesahan nama sebenar.

pptm是office办公套件中powerpoint的一种文件格式,全名是“启用宏的PowerPoint演示文稿”。pptm文件只能用2007及以上版本的office软件打开,如果用其他版本软件打开会出现无法编辑、图片不完整等问题。

m3u8 ialah format pengekodan UTF-8. M3U8 merujuk kepada fail M3U yang dikodkan UTF-8, dan fail M3U merekodkan fail teks biasa indeks Apabila anda membukanya, perisian main balik tidak memainkannya, tetapi mencari alamat rangkaian fail audio dan video yang sepadan berdasarkannya. indeks untuk pemprosesan dalam talian. M3U8 ialah format media penstriman biasa, yang wujud terutamanya dalam bentuk senarai fail Ia menyokong siaran langsung dan main balik atas permintaan, dan biasanya digunakan pada platform seperti Android dan iOS.

CR3文件是佳能采用Digic8图像处理器的新型相机记录的原始raw文件。cr3的文件可以通过佳能ddp打开,是对RAW图像进行“RAW显像”等图像调节的软件。

Nama penuh RTF ialah "Format Teks Kaya", yang bermaksud "Format Teks Kaya" atau "Format Teks Berbilang" dalam bahasa Cina Ia adalah format dokumen merentas platform yang dibangunkan oleh Microsoft RTF ialah format dokumen yang boleh disimpan oleh Word agar serasi dengan perisian pemprosesan perkataan lain, adalah fail yang serupa dengan format DOC (dokumen Word) dan mempunyai keserasian yang baik. Bagi pengguna biasa, format RTF ialah alat penukaran format fail yang baik untuk memindahkan dokumen teks berformat antara aplikasi yang berbeza.
