evenno 发表于 2015-8-7 13:17:28

谢谢分享

lwmheaton 发表于 2015-8-7 16:18:41

学习学习哈哈哈

yulong3221915 发表于 2015-8-12 08:11:17

是否可能实现在线身份证联网核查?不过这个功能已经非常强大了。

yulong3221915 发表于 2015-8-12 08:12:48

是否可能实现在线身份证联网核查?不过这个功能已经非常强大了。

$DIM 发表于 2015-8-12 09:38:40

比JS实现内容多多
function getIdCardInfo(o) {
        var e = {
                isTrue : false,
                year : null,
                month : null,
                day : null,
                isMale : false,
                isFemale : false
        };
        if (!o && 15 != o.length && 18 != o.length) {
                e.isTrue = false;
                return e.isTrue
        }
        if (15 == o.length) {
                var k = o.substring(6, 8);
                var j = o.substring(8, 10);
                var l = o.substring(10, 12);
                var b = o.substring(14, 15);
                var n = new Date(k, parseFloat(j) - 1, parseFloat(l));
                if (n.getYear() != parseFloat(k) || n.getMonth() != parseFloat(j) - 1
                                || n.getDate() != parseFloat(l)) {
                        e.isTrue = false
                } else {
                        e.isTrue = true;
                        e.year = n.getFullYear();
                        e.month = n.getMonth() + 1;
                        e.day = n.getDate();
                        if (b % 2 == 0) {
                                e.isFemale = true;
                                e.isMale = false
                        } else {
                                e.isFemale = false;
                                e.isMale = true
                        }
                }
                return e.isTrue
        }
        if (18 == o.length) {
                var k = o.substring(6, 10);
                var j = o.substring(10, 12);
                var l = o.substring(12, 14);
                var b = o.substring(14, 17);
                var n = new Date(k, parseFloat(j) - 1, parseFloat(l));
                if (n.getFullYear() != parseFloat(k)
                                || n.getMonth() != parseFloat(j) - 1
                                || n.getDate() != parseFloat(l)) {
                        e.isTrue = false;
                        return e.isTrue
                }
                var c = [ 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2, 1 ];
                var a = [ 1, 0, 10, 9, 8, 7, 6, 5, 4, 3, 2 ];
                var h = 0;
                var g = o.split("");
                if (g.toLowerCase() == "x") {
                        g = 10
                }
                for (var f = 0; f < 17; f++) {
                        h += c * g
                }
                var f = h % 11;
                if (g != a) {
                        return e.isTrue = false
                }
                e.isTrue = true;
                e.year = n.getFullYear();
                e.month = n.getMonth() + 1;
                e.day = n.getDate();
                if (b % 2 == 0) {
                        e.isFemale = true;
                        e.isMale = false
                } else {
                        e.isFemale = false;
                        e.isMale = true
                }
                return e.isTrue
        }
        return e.isTrue
}

不删言辞 发表于 2015-8-12 12:48:01

进来转转,学习学习

lvy 发表于 2015-8-12 14:45:35

这是什么

younger0210 发表于 2015-8-13 17:26:26

大牛不少啊

younger0210 发表于 2015-8-13 17:28:36

不知道怎么运行呢

xiongjingkui 发表于 2015-8-13 17:29:17

哈哈估计是正则{:9_228:}

太空军校生 发表于 2015-8-18 22:44:19

学习看看

lengyudu 发表于 2015-8-26 15:37:43

学习学习

无聊蓝兔子 发表于 2015-8-27 11:13:36

高大上

loco_v 发表于 2015-8-27 14:09:43

和我昨天刚刚学的验证密码的有效性还不是有些许相同的东西?

wanggeba 发表于 2015-8-28 08:31:56

谢谢楼主分享!

919566148 发表于 2015-8-28 10:48:27

干什么用的

绕阶行 发表于 2015-8-29 13:30:45

膜拜

John_farmer 发表于 2015-8-29 15:04:23

这个不违法?

哥斯拉不说话 发表于 2015-8-29 21:55:34

看看

醉酒青牛 发表于 2015-8-30 00:13:58

好好学习一下,看看
页: 3 4 5 6 7 8 9 10 11 12 [13] 14 15 16 17 18 19 20 21 22
查看完整版本: python实现身份证号码有效性验证