Csharp/C#教程:C#身份证号码验证是否正确分享

C#实现身份证号码验证实例代码:

protectedvoidPage_Load(objectsender,EventArgse) { stringstr="11010519491231002X"; boolresult=CheckCardId(str); if(result==true) { Response.Write("Yes!"); } else { Response.Write("No!"); } } ///<summary> ///验证身份证是否正确 ///</summary> ///<paramname="str"></param> ///<returns></returns> privatestaticboolCheckCardId(stringstr) { stringnumber17=str.Substring(0,17); stringnumber18=str.Substring(17); stringcheck="10X98765432"; int[]num={7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2}; intsum=0; for(inti=0;i<number17.Length;i++) { sum+=Convert.ToInt32(number17[i].ToString())*num[i]; } sum%=11; if(number18.Equals(check[sum].ToString(),StringComparison.OrdinalIgnoreCase)) { returntrue; } else { returnfalse; } }

18位身份证号码最后一位校验码的计算方法公民身份号码是特征组合码,由十七位数字本体码和一位校验码组成。排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码。

校验方法:

(1)十七位数字本体码加权求和公式S=Sum(Ai*Wi),i=0,…,16,先对前17位数字的权求和Ai:表示第i位置上的身份证号码数字值Wi:表示第i位置上的加权因子Wi:7910584216379105842

(2)计算模Y=mod(S,11)

(3)通过模得到对应的校验码Y:012345678910校验码:10X98765432

上述就是C#学习教程:C#身份证号码验证是否正确分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/906848.html

(0)
上一篇 2021年10月24日
下一篇 2021年10月24日

精彩推荐