身份证号码验证程序
来源:互联网 发布:电脑上翻墙用什么软件 编辑:程序博客网 时间:2024/06/16 15:47
描述:验证输入的身份证号码是否正确;
实现代码:
#include <iostream>#include <string>using namespace std;int main(){ string num; while(1) {loop: cout<<"请输入你要验证的身份证号码:"<<endl; cin>>num; if(num.length()!=18) { cout<<"您输入的身份证长度不正确"<<endl; goto loop; } int mark=1; for(int i=0; i<num.length()-2; i++) { if(num[i]!='0'&&num[i]!='1'&&num[i]!='2'&&num[i]!='3'&&num[i]!='4'&&num[i]!='5'&&num[i]!='6'&&num[i]!='7'&&num[i]!='8'&&num[i]!='9') { cout<<"您输入的身份证不正确"<<endl; mark=0; break; } if(num[17]!='0'&&num[17]!='1'&&num[17]!='2'&&num[17]!='3'&&num[17]!='4'&&num[17]!='5'&&num[17]!='6'&&num[17]!='7'&&num[17]!='8'&&num[17]!='9'&&num[17]!='x'&&num[17]!='X') { cout<<"您输入的身份证不正确"<<endl; mark=0; break; } } if(mark==0) { goto loop; } int tmpyear=(num[6]-48)*1000+(num[7]-48)*100+(num[8]-48)*10+(num[9]-48); int tmpmonth=(num[10]-48)*10+(num[11]-48); int tmpday=(num[12]-48)*10+(num[13]-48); if(tmpyear==0||tmpmonth==0||tmpday==0) { cout<<"您输入的身份证不正确"<<endl; goto loop; } if(tmpyear>2013||tmpyear<1850) { cout<<"您输入的身份证年份不正确(年份:1850<=year<=2013)"<<endl; goto loop; } if(tmpmonth>12||tmpmonth<0) { cout<<"您输入的身份证月份不正确"<<endl; goto loop; } if(tmpday>31||tmpday<0) { cout<<"您输入的身份证日期不正确"<<endl; goto loop; } if(tmpmonth==4||tmpmonth==6||tmpmonth==9||tmpmonth==11) { if(tmpday>30) { cout<<"您输入的身份证日期不正确"<<endl; goto loop; } } else if(tmpmonth==1||tmpmonth==3||tmpmonth==5||tmpmonth==7||tmpmonth==8||tmpmonth==10||tmpmonth==12) { if(tmpday>31) { cout<<"您输入的身份证日期不正确"<<endl; goto loop; } } else if(tmpmonth==2) { if(tmpyear%400==0||(tmpyear%4==0&&tmpyear%100!=0)) { if(tmpday>29) { cout<<"您输入的身份证日期不正确"<<endl; goto loop; } } else { if(tmpday>28) { cout<<"您输入的身份证日期不正确"<<endl; goto loop; } } } cout<<"身份证输入合法"<<endl; } return 0;}
- 身份证号码验证程序
- Java 身份证号码验证程序
- 验证身份证号码
- 身份证号码验证
- 验证身份证号码
- 身份证号码验证
- 验证身份证号码
- 身份证号码验证
- 验证身份证号码
- 身份证号码验证
- 身份证号码验证
- 验证身份证号码
- 身份证号码验证
- 身份证号码验证 !
- 验证身份证号码
- 验证身份证号码
- 验证身份证号码
- 身份证号码验证
- recover database的四条语句区别
- UVa 401 - Palindromes(回文词)
- 20130408-[转]STM32 NVIC学习
- oracle recover 原理概括
- iOS调用Facetime App
- 身份证号码验证程序
- STL技巧
- Avaya CEO:愿意与思科、微软共享客户
- CSS做出颜色饱满的按钮
- 使用valgrind分析C程序调用线路图
- JSTL&EL JSTL标签库
- nextday函数程序实现
- Delphi 图形设计(3)
- 多线程Event