欢迎大家来到我的空间·······

身份证号码的测试

上一篇 / 下一篇  2012-01-06 11:15:47 / 个人分类:其它

目前有两种身份证号:15位、18位
 
18位身份证号码各位的含义:
1-2位省、自治区、直辖市代码;
3-4位地级市、盟、自治州代码;
5-6位县、县级市、区代码;
7-14位出生年月日,比如19670401代表1967年4月1日;
15-17位为顺序号,其中17位男为单数,女为双数;
18位为校验码,0-9和X。作为尾号的校验码,是由号码编制单位按统一的公式计算出来的,如果某人的尾号是0-9,都不会出现X,但如果尾号是10,那么就得用X来代替,因为如果用10做尾号,那么
此人的身份证就变成了19位。X是罗马数字的10,用X来代替10
举例:
130503 19670401 0012这个身份证号的含义: 13为河北,05为邢台,03为桥西区,出生日期为1967年4月1日,顺序号为001,2为校验码。
 
15位身份证号码各位的含义:
1-2位省、自治区、直辖市代码;
3-4位地级市、盟、自治州代码;
5-6位县、县级市、区代码;
7-12位出生年月日,比如670401代表1967年4月1日,这是和18位号码的第一个区别;
13-15位为顺序号,其中15位男为单数,女为双数;
与18位身份证号的第二个区别:没有最后一位的校验码。
 
测试分类:15位和18位
15位测试:
  1. 正确:15位数字,符合15位身法证各位的含义
  2. 错误:
    • 包含小数点、字母、特殊字符、控制字符、功能键、全是0、为空
    • 第9-12位不符合月-日的对应关系,如2月份闰年最多是29天
    • 第15位不符合男为单数,女为双数的规则
    • 能否复制粘贴身份证号码
18位测试:
  1. 18位全是数字的身份证号
  • 错误:
    • 包含小数点、字母、特殊字符、控制字符、功能键、全是0、为空
    • 7-14位出生年月日不符合年月日的规则
    • 17位不符合男为单数,女为双数的规则
    • 能否复制粘贴身份证号码
  1. 最后一位是字母x的身份证号
  • 错误:
    • 包含小数点、多于一位的字母、特殊字符、控制字符、功能键、全是0、为空
    • 7-14位出生年月日不符合年月日的规则
    • 17位不符合男为单数,女为双数的规则
    • 第18位是除x以外的任意字符、数字等
    • 第18位是否区分大小写
    • 能否复制粘贴身份证号码

TAG:

alice的个人空间 引用 删除 alice2003yf   /   2012-01-07 21:06:17
现在才知道身份证号各位代表的意思,谢谢楼主分享
对不起,梦想。 引用 删除 chabao110   /   2012-01-06 17:26:49
第18位是除x以外的任意字符、数字等
..这句话 不正确。
第18位校验位为0-9数字。也是正确的。
一缕茶香,一份思念 引用 删除 cherubim   /   2012-01-06 16:43:49
1-2位省、自治区、直辖市代码;
3-4位地级市、盟、自治州代码;
5-6位县、县级市、区代码;
7-12位出生年月日
这几个应该要考虑实际情况的,如1-2输入99等数字肯定是错误类得,7-12位出现19583350这样的数字也是错误的
sweetxmy的个人空间(喜欢兔子的藏羚羊!) 引用 删除 sweetxmy   /   2012-01-06 15:22:26
1-2位省、自治区、直辖市代码;
3-4位地级市、盟、自治州代码;
5-6位县、县级市、区代码

---个人觉得还有对数据的有效性进行测试,就是数据的区域范围。

比如说 是不是从00-99都有效,还是只是其中的一部分。毕竟验证还是以数据的有效性为主,不然得到无效的数据还是有问题的

---个人意见,仅供参考
还是非常感谢你的分享
 

评分:0

我来说两句

日历

« 2024-03-26  
     12
3456789
10111213141516
17181920212223
24252627282930
31      

数据统计

  • 访问量: 16604
  • 日志数: 26
  • 图片数: 1
  • 建立时间: 2010-08-18
  • 更新时间: 2012-05-07

RSS订阅

Open Toolbar