您的位置:

如何将18位身份证号码转为15位

一、18位身份证号码转15位的公式

身份证号码是我们日常中经常用到的一个标识符号,但也有时会需要将18位的身份证号码转为15位。这时,我们可以使用以下的公式进行转换:
1、前6位和后4位不变。
2、第7位到第14位加上"19"。
3、最后一位为原号码的倒数第二位。
例如: 320311198401010102 转换为 320311840101020

二、15位身份证号码在线转18位的工具

为了方便将15位身份证号码转为18位,我们可以使用以下的网站进行在线转换: https://tool.lu/shenfenzheng/

三、18位身份证号码转15位的转换器

我们可以使用以下的Python代码对18位身份证号码进行转换:

# 18位转15位
def id_card_convert(card):
    try:
        if len(card) == 18:
            card = card[0:6] + "19" + card[6:17]
            check = sum((int(card[i]) << (17 - i)) % 11 for i in range(17)) % 11
            check_code = "10X98765432"[check] if check != 10 else '0'
            card += check_code
            return card[0:6] + card[8:17]
    except Exception as e:
        return ""

四、18位身份证号码转15位的工具

以下是一个在线的身份证号码转换工具,支持18位身份证号码转15位和15位身份证号码转18位的功能: http://www.bejson.com/idcard/

五、18位身份证号码转15位的查询

我们可以使用下面的 SQL 语句将数据库中存储的身份证号码批量转换为15位:

UPDATE table SET id_card = (
    CASE LENGTH(id_card)
        WHEN 18 THEN CONCAT(SUBSTR(id_card, 1, 6), '19', SUBSTR(id_card, 7, 8), SUBSTR(id_card, 16, 2))
        ELSE id_card
    END
)

六、18位身份证号码转15位的洛杉矶

以下是 JavaScript 语言实现的18位身份证号码转15位的函数,可以在浏览器的控制台中运行:

function idCardConvert(idCard) {
    if (idCard.length != 18) {
        return '';
    }
    var areaNum = idCard.substring(0, 6);
    var year = '19' + idCard.substring(6, 8);
    var month = idCard.substring(8, 10);
    var day = idCard.substring(10, 12);
    var other = idCard.substring(12, 17);
    return areaNum + year + month + day + other;
}

七、18位身份证号码转15位的 Excel 函数

以下是 Excel 中使用的函数代码,可以在 Excel 的 VBA 编辑器中编辑:

Function ConvertIDCard(idcard As String) As String
    If Len(idcard) = 18 Then
        ConvertIDCard = Left(idcard, 6) & "19" & Mid(idcard, 7, 8) & Mid(idcard, 17, 1)
    ElseIf Len(idcard) = 15 Then
        ConvertIDCard = idcard
    Else
        ConvertIDCard = ""
    End If
End Function