asp.net 根据身份证号计算性别,生日,年龄,省份,城市

zhangxu103 2011-01-10 10:27:11
asp.net 怎样根据身份证号计算性别,生日,年龄,省份,城市?各位大侠帮忙了
...全文
3162 25 打赏 收藏 转发到动态 举报
写回复
用AI写文章
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
酷儿 2011-02-10
  • 打赏
  • 举报
回复
呵呵 这个确实不好弄
wwfgu00ing 2011-02-10
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 chuntian1983 的回复:]
C# code
<%@ Page language="c#" Codebehind="CordBirthday.aspx.cs" AutoEventWireup="false" Inherits="CodeDatum.birthday.CordBirthday" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >……
[/Quote]

+1
ms 2011-02-10
  • 打赏
  • 举报
回复
要是没有这些现成的对应表估计得测到你晕掉,基本路线始终只能是字符串分割再判断。
ycproc 2011-02-09
  • 打赏
  • 举报
回复
找相关的查询接口

不过不是有关部门和机构 这样的接口拿不到的

通过接口 格式化 拆分数据 然后 判断后 将数据值 分配在各个位置
may_beyond 2011-01-10
  • 打赏
  • 举报
回复
http://www.youdao.com/smartresult-xml/search.s?type=id&q=身份证号码

这个可以做到
得到的返回值是
<product type="identitycard">
<code>身份证号码</code>
<location>省市县</location> //获得省市县
<birthday>生日</birthday> //获得生日 年龄
<gender>性别</gender> //m 男 f女
</product>
离洛 2011-01-10
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 xialiluo 的回复:]
引用楼主 zhangxu103 的回复:
asp.net 怎样根据身份证号计算性别,生日,年龄,省份,城市?各位大侠帮忙了


这个可就危险了,而且你怎么获得我们身份唯一的标识呢,这都是隐私啊.....我觉得除非是有关部门,,要不然的话.....

你是准备做什么?如果说从自己的数据库录入读取的话就太简单了,根据号码的唯一性来读取所需内容!!!
[/Quote]

想要根据号码读年龄,,,要用到字符串截取~~~
  • 打赏
  • 举报
回复
<%@ Page language="c#" Codebehind="CordBirthday.aspx.cs" AutoEventWireup="false" Inherits="CodeDatum.birthday.CordBirthday" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>CordBirthday</title>
<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
<meta name="CODE_LANGUAGE" Content="C#">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
<script language="javascript">
function showBirthday(val)
{
var birthdayValue;
if(15==val.length)
{ //15位身份证号码
birthdayValue = val.charAt(6)+val.charAt(7);
if(parseInt(birthdayValue)<10)
{
birthdayValue = '20'+birthdayValue;
}
else
{
birthdayValue = '19'+birthdayValue;
}
birthdayValue=birthdayValue+'-'+val.charAt(8)+val.charAt(9)+'-'+val.charAt(10)+val.charAt(11);
if(parseInt(val.charAt(14)/2)*2!=val.charAt(14))
document.all.sex.value='男';
else
document.all.sex.value='女';
document.all.birthday.value=birthdayValue;
}
if(18==val.length)
{ //18位身份证号码
birthdayValue=val.charAt(6)+val.charAt(7)+val.charAt(8)+val.charAt(9)+'-'+val.charAt(10)+val.charAt(11)

+'-'+val.charAt(12)+val.charAt(13);
if(parseInt(val.charAt(16)/2)*2!=val.charAt(16))
document.all.sex.value='男';
else
document.all.sex.value='女';
if(val.charAt(17)!=IDCard(val))
{
document.all.idCard.style.backgroundColor='#ffc8c8';
}
else
{
document.all.idCard.style.backgroundColor='white';
}
document.all.birthday.value=birthdayValue;
}
}

// 18位身份证号最后一位校验
function IDCard(Num)
{
if (Num.length!=18)
return false;
var x=0;
var y='';

for(i=18;i>=2;i--)
x = x + (square(2,(i-1))%11)*parseInt(Num.charAt(19-i-1));
x%=11;
y=12-x;
if (x==0)
y='1';
if (x==1)
y='0';
if (x==2)
y='X';
return y;
}

// 求得x的y次方
function square(x,y)
{
var i=1;
for (j=1;j<=y;j++)
i*=x;
return i;
}
</script>
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<table align="center">
<tr>
<td align="center">身份证:<input type="text" name="idCard" id="idCard"></td>
</tr>
<tr>
<td align="center">性 别:<input type="text" name="sex" id="sex"></td>
</tr>
<tr>
<td align="center">生 日:<input type="text" name="birthday" id="birthday"></td>
</tr>
<tr>
<td align="center"><input type="button" value="OK"></td>
</tr>
</table>
</form>
</body>
</HTML>
离洛 2011-01-10
  • 打赏
  • 举报
回复
[Quote=引用楼主 zhangxu103 的回复:]
asp.net 怎样根据身份证号计算性别,生日,年龄,省份,城市?各位大侠帮忙了
[/Quote]

这个可就危险了,而且你怎么获得我们身份唯一的标识呢,这都是隐私啊.....我觉得除非是有关部门,,要不然的话.....

你是准备做什么?如果说从自己的数据库录入读取的话就太简单了,根据号码的唯一性来读取所需内容!!!
q107770540 2011-01-10
  • 打赏
  • 举报
回复
字段截取 进行计算
IHandler 2011-01-10
  • 打赏
  • 举报
回复
要有个身份证号与省份城市对应的库,或者有API,不过这个属于保密信息啊
其他都好实现
chaios 2011-01-10
  • 打赏
  • 举报
回复
性别,生日,年龄比较熟……省份城市就要查下了
wiki14 2011-01-10
  • 打赏
  • 举报
回复
性别,生日,年龄,省份,城市

你说的这些都好判断,

性别,倒数第2个,单数男,双数女,
生日不用说了,
年龄参照生日,
省份城市,看前面6位,到库里查就可以,没有库去国家公共标准网里找,这个是公开的。
  • 打赏
  • 举报
回复
潇洒王子 2011-01-10
  • 打赏
  • 举报
回复
第一需要截取,第二需要相应的对应库
baysos 2011-01-10
  • 打赏
  • 举报
回复
以上返回的是XML格式,自己去解析
baysos 2011-01-10
  • 打赏
  • 举报
回复
1. 查询手机:http://www.yodao.com/smartresult-xml/search.s?type=mobile&q=手机号码

2. 查询IP:http://www.yodao.com/smartresult-xml/search.s?type=ip&q=IP地址

3. 查询身份证:http://www.yodao.com/smartresult-xml/search.s?type=id&q=身份证号码
纯唇Yu弄 2011-01-10
  • 打赏
  • 举报
回复

最新县及县以上行政区划代码(截止2007年12月31日)
★“华北+东北+华东+华南+西南+西北+台港澳”地区

★北京市
代码 名称
110000 北京市
110100  市辖区
110101   东城区
110102   西城区
110103   崇文区
110104   宣武区
110105   朝阳区
110106   丰台区
110107   石景山区
110108   海淀区
110109   门头沟区
110111   房山区
110112   通州区
110113   顺义区
110114   昌平区
110115   大兴区
110116   怀柔区
110117   平谷区
110200  县
110228   密云县
110229   延庆县
★天津市
120000 天津市
120100  市辖区
120101   和平区
120102   河东区
120103   河西区
120104   南开区
120105   河北区
120106   红桥区
120107   塘沽区
120108   汉沽区
120109   大港区
120110   东丽区
120111   西青区
120112   津南区
120113   北辰区
120114   武清区
120115   宝坻区
120200  县
120221   宁河县
120223   静海县
120225   蓟 县
★河北省
130000 河北省
130100  石家庄市
130101   市辖区
130102    长安区
130103    桥东区
130104    桥西区
130105    新华区
130107    井陉矿区
130108    裕华区
130121   井陉县
130123   正定县
130124   栾城县
130125   行唐县
130126   灵寿县
130127   高邑县
130128   深泽县
130129   赞皇县
130130   无极县
130131   平山县
130132   元氏县
130133   赵 县
130181   辛集市
130182   藁城市
130183   晋州市
130184   新乐市
130185   鹿泉市
130200  唐山市
130201   市辖区
130202    路南区
130203    路北区
130204    古冶区
130205    开平区
130207    丰南区
130208    丰润区
130223   滦 县
130224   滦南县
130225   乐亭县
130227   迁西县
130229   玉田县
130230   唐海县
130281   遵化市
130283   迁安市
130300  秦皇岛市
130301   市辖区
130302    海港区
130303    山海关区
130304    北戴河区
130321   青龙满族自治县
130322   昌黎县
130323   抚宁县
130324   卢龙县
130400  邯郸市
130401   市辖区
130402    邯山区
130403    丛台区
130404    复兴区
130406    峰峰矿区
130421   邯郸县
130423   临漳县
130424   成安县
130425   大名县
130426   涉 县
130427   磁 县
130428   肥乡县
130429   永年县
130430   邱 县
130431   鸡泽县
130432   广平县
130433   馆陶县
130434   魏 县
130435   曲周县
130481   武安市
130500  邢台市
130501   市辖区
130502    桥东区
130503    桥西区
130521   邢台县
130522   临城县
130523   内丘县
130524   柏乡县
130525   隆尧县
130526   任 县
130527   南和县
130528   宁晋县
130529   巨鹿县
130530   新河县
130531   广宗县
130532   平乡县
130533   威 县
130534   清河县
130535   临西县
130581   南宫市
130582   沙河市
130600  保定市
130601   市辖区
130602    新市区
130603    北市区
130604    南市区
130621   满城县
130622   清苑县
130623   涞水县
130624   阜平县
130625   徐水县
130626   定兴县
130627   唐 县
130628   高阳县
130629   容城县
130630   涞源县
130631   望都县
130632   安新县
130633   易 县
130634   曲阳县
130635   蠡 县
130636   顺平县
130637   博野县
130638   雄 县
130681   涿州市
130682   定州市
130683   安国市
130684   高碑店市
130700  张家口市
130701   市辖区
130702    桥东区
130703    桥西区
130705    宣化区
130706    下花园区
130721   宣化县
130722   张北县
130723   康保县
130724   沽源县
130725   尚义县
130726   蔚 县
130727   阳原县
130728   怀安县
130729   万全县
130730   怀来县
130731   涿鹿县
130732   赤城县
130733   崇礼县
130800  承德市
130801   市辖区
130802    双桥区
130803    双滦区
130804    鹰手营子矿区
130821   承德县
130822   兴隆县
130823   平泉县
130824   滦平县
130825   隆化县
130826   丰宁满族自治县
130827   宽城满族自治县
130828   围场满族蒙古族自治县
130900  沧州市
130901   市辖区
130902    新华区
130903    运河区
130921   沧 县
130922   青 县
130923   东光县
130924   海兴县
130925   盐山县
130926   肃宁县
130927   南皮县
130928   吴桥县
130929   献 县
130930   孟村回族自治县
130981   泊头市
130982   任丘市
130983   黄骅市
130984   河间市
131000  廊坊市
131001   市辖区
131002    安次区
131003    广阳区
131022   固安县
131023   永清县
131024   香河县
131025   大城县
131026   文安县
131028   大厂回族自治县
131081   霸州市
131082   三河市
131100  衡水市
131101   市辖区
131102    桃城区
131121   枣强县
131122   武邑县
131123   武强县
131124   饶阳县
131125   安平县
131126   故城县
131127   景 县
131128   阜城县
131181   冀州市
131182   深州市


纯唇Yu弄 2011-01-10
  • 打赏
  • 举报
回复
身份证号与省份的关系
11 北京市;12 天津市;13 河北省;14 山西省;15 内蒙古自治区;21 辽宁省;22 吉林省;23 黑龙江省;31 上海市;32 江苏省;33 浙江省;34 安徽省;35 福建省;36 江西省;37 山东省;41 河南省;42 湖北省;43 湖南省;44 广东省;45 广西壮族自治区;46 海南省;50 重庆市;51 四川省;52 贵州省;53 云南省;54 西藏自治区;61 陕西省;62 甘肃省;63 青海省;64 宁夏回族自治区;65 新疆维吾尔自治区;71 台湾省;81 香港特别行政区;82 澳门特别行政区



剩下的你就明白了 呵呵 截取字符串 算吧
纯唇Yu弄 2011-01-10
  • 打赏
  • 举报
回复
身份证号编号规律:AABBCC DDDDDDDD EFGH 130503 19990104 0010

前六位为各地的行政区划码,AA表示省、自治区、直辖市,AABB表示地级市、自治州、盟,AABBCC表示县、市辖区、县级市。例如130503中,13表示河北,1305表示河北省邢台市,130503表示河北省邢台市桥西区。
中间八位DDDDDDDD是出生日期码,生日是多少,这八位数就是多少。例如身份证上出生日期为1999年1月4日,就是19990104。
第十五至十七位EFG是顺序号,随机生成,除了第十七位G上男单数,女双数外没有规律。
第十八位H为校验码,将前十七位号带入公式计算得出,计算的结果为0-10,10用X代替。
加载更多回复(2)

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧