C#关于验证身份证号码的实例分析(正确性)
这篇文章主要介绍了C#验证身份证号码正确性的实例代码,包括18位号码和15位号码的校验,需要的朋友可以参考下
今天在QQ空间看到一篇关于C#语言验证18位身份证号码的验证方法和实例代码,抽了些时间学习了一下,个人觉得还不错,所以把它记了下来,方便以后使用!
18位号码:
private static bool CheckIDCard18(string Id) { long n = 0; if (long.TryParse(Id.Remove(17), out n) == false || n < Math.Pow(10, 16) || long.TryParse(Id.Replace('x', '0').Replace('X', '0'), out n) == false) { return false; } string address = "11x22x35x44x53x12x23x36x45x54x13x31x37x46x61x14x32x41x50x62x15x33x42x51x63x21x34x43x52x64x65x71x81x82x91"; if (address.IndexOf(Id.Remove(2)) == -1) { return false; } string birth = Id.Substring(6, 8).Insert(6, "-").Insert(4, "-"); DateTime time = new DateTime(); if (DateTime.TryParse(birth, out time) == false) { return false; } string[] arrVarifyCode = ("1,0,x,9,8,7,6,5,4,3,2").Split(','); string[] Wi = ("7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2").Split(','); char[] Ai = Id.Remove(17).ToCharArray(); int sum = 0; for (int i = 0; i < 17; i++) { sum += int.Parse(Wi[i]) * int.Parse(Ai[i].ToString()); } int y = -1; Math.pRem(sum, 11, out y); if (arrVarifyCode[y] != Id.Substring(17, 1).ToLower()) { return false; } return true;//正确 }
15位号码:
private static bool CheckIDCard15(string Id) { long n = 0; if (long.TryParse(Id, out n) == false || n < Math.Pow(10, 14)) { return false; } string address = "11x22x35x44x53x12x23x36x45x54x13x31x37x46x61x14x32x41x50x62x15x33x42x51x63x21x34x43x52x64x65x71x81x82x91"; if (address.IndexOf(Id.Remove(2)) == -1) { return false; } string birth = Id.Substring(6, 6).Insert(4, "-").Insert(2, "-"); DateTime time = new DateTime(); if (DateTime.TryParse(birth, out time) == false) { return false; } return true;//正确 }
总结
Atas ialah kandungan terperinci C#关于验证身份证号码的实例分析(正确性). 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



Perkembangan teknologi kecerdasan buatan (AI) sedang giat dijalankan hari ini, dan ia telah menunjukkan potensi dan pengaruh yang besar dalam pelbagai bidang. Hari ini Dayao akan berkongsi dengan anda 4 rangka kerja projek berkaitan LLM model AI sumber terbuka .NET, dengan harapan dapat memberi anda sedikit rujukan. https://github.com/YSGStudyHards/DotNetGuide/blob/main/docs/DotNet/DotNetProjectPicks.mdSemanticKernelSemanticKernel ialah kit pembangunan perisian sumber terbuka (SDK) yang direka untuk menyepadukan model bahasa besar (LLM) seperti OpenAI, Azure

Sama ada anda seorang pemula atau profesional yang berpengalaman, menguasai C# akan membuka jalan untuk kerjaya anda.

Jika anda seorang pembangun .NET, anda mesti sedar tentang kepentingan mengoptimumkan fungsi dan prestasi dalam menyampaikan perisian berkualiti tinggi. Dengan menggunakan pakar sumber yang disediakan dan mengurangkan masa memuatkan tapak web, anda bukan sahaja mencipta pengalaman yang menyenangkan untuk pengguna anda tetapi juga mengurangkan kos infrastruktur.

Dari segi pemprosesan permintaan selaras tinggi, .NETASP.NETCoreWebAPI berprestasi lebih baik daripada JavaSpringMVC Sebabnya termasuk: Kompilasi awal AOT, yang mengurangkan masa permulaan pengurusan memori, di mana pembangun bertanggungjawab untuk memperuntukkan dan melepaskan memori objek.

Membina forum Discuz dari awal: tutorial terperinci dan analisis kes Dengan perkembangan Internet, forum, sebagai platform komunikasi sosial yang penting, menduduki kedudukan penting dalam rangkaian. Sebagai salah satu sistem forum paling popular di China, Discuz mempunyai ciri-ciri kestabilan yang tinggi, penyesuaian mudah dan pemalam yang kaya, dan sangat disukai oleh pengguna. Dalam artikel ini, kami akan memperkenalkan cara membina forum Discuz dari awal, termasuk langkah tutorial terperinci dan analisis kes, dan juga akan memberikan contoh kod khusus. Langkah Satu: Persekitaran Pelayan

Gambaran keseluruhan kemahiran pengurusan proses PHP-FPM dan analisis contoh: Dalam pembangunan web PHP, PHP-FPM (FastCGIProcessManager) ialah pengurus proses yang bertanggungjawab untuk memproses permintaan daripada pelayan web. Ia menggunakan model berasaskan peristiwa untuk mengurus proses PHP dan menyediakan keupayaan pemprosesan permintaan yang lebih cekap. Artikel ini akan memperkenalkan beberapa kemahiran pengurusan proses PHP-FPM dan menganalisisnya dengan contoh. 1. Kemahiran pelarasan kolam proses: 1.1 Laraskan bilangan proses: Mengikut pelayan

Dalam pembangunan bahasa PHP, gelung tak terhingga adalah jenis ralat biasa. Kejadian gelung tak terhingga akan menyebabkan atur cara gagal dilaksanakan seperti biasa, menduduki sejumlah besar sumber sistem, malah menyebabkan sistem ranap. Oleh itu, mengelakkan gelung tak terhingga adalah bahagian yang sangat penting dalam pembangunan program PHP. Apakah gelung tak terhingga? Gelung tak terhingga merujuk kepada struktur gelung dalam atur cara Apabila keadaan sentiasa benar, gelung akan diteruskan sehingga program ranap atau terpaksa ditamatkan. Gelung tak terhingga juga dipanggil gelung tak terhingga kerana ia tidak mempunyai keadaan akhir dan akan terus gelung. Dalam kes ini

Temu bual dengan pemaju kanan C# memerlukan menguasai pengetahuan teras seperti pengaturcaraan asynchronous, LINQ, dan prinsip kerja dalaman Rangka .NET. 1. Pengaturcaraan Asynchronous memudahkan operasi melalui async dan menunggu untuk meningkatkan respons aplikasi. 2.Linq mengendalikan data dalam gaya SQL dan perhatikan prestasi. 3. CLR kerangka bersih menguruskan ingatan, dan pengumpulan sampah perlu digunakan dengan berhati -hati.
