`
ryan.liu
  • 浏览: 133947 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

验证18位身份证号码

阅读更多
#! /usr/bin/python
# -*- coding: utf-8 -*-

def check_id_num(id_num):
    assert len(id_num) == 18 and id_num[:17].isdigit()
    factors = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2]
    remainders = ['1', '0', '*', '9', '8', '7', '6', '5', '4', '3', '2']
    result = sum([f*long(n) for f,n in zip(factors, id_num)])
    return remainders[result % 11] == id_num[-1]
分享到:
评论
1 楼 mirguest 2011-01-17  
身份证最后一位应该是x,不是*吧?

相关推荐

Global site tag (gtag.js) - Google Analytics