身份证最后一位校验位验证

新建一个文本文件,然后输入如下代码:

@echo off
cls&setlocal enabledelayedexpansion
title 身份证校验码计算器
:start
echo.
echo 身份证校验码计算器
echo.
set /p sfz=‘输入无校验码的号码(17位):
set /a s1=%sfz:~0,1%*7
set /a s2=%sfz:~1,1%*9
set /a s3=%sfz:~2,1%*10
set /a s4=%sfz:~3,1%*5
set /a s5=%sfz:~4,1%*8
set /a s6=%sfz:~5,1%*4
set /a s7=%sfz:~6,1%*2
set /a s8=%sfz:~7,1%
set /a s9=%sfz:~8,1%*6
set /a s10=%sfz:~9,1%*3
set /a s11=%sfz:~10,1%*7
set /a s12=%sfz:~11,1%*9
set /a s13=%sfz:~12,1%*10
set /a s14=%sfz:~13,1%*5
set /a s15=%sfz:~14,1%*8
set /a s16=%sfz:~15,1%*4
set /a s17=%sfz:~16,1%*2
set /a dz=%s1%+%s2%+%s3%+%s4%+%s5%+%s6%+%s7%+%s8%+%s9%+%s10%+%s11%+%s12%+%s13%+%s14%+%s15%+%s16%+%s17%
set /a jt=!dz!%%11
if %jt%==0 set jym=1
if %jt%==1 set jym=0
if %jt%==2 set jym=X
if %jt%==3 set jym=9
if %jt%==4 set jym=8
if %jt%==5 set jym=7
if %jt%==6 set jym=6
if %jt%==7 set jym=5
if %jt%==8 set jym=4
if %jt%==9 set jym=3
if %jt%==10 set jym=1
echo.
echo 校验码是%jym%
echo.
echo 身份证号码:%sfz%%jym%
echo.
echo 按任意键返回...
pause>nul
cls&goto start

比如保存为IDCheck.dat
然后双击运行该脚本文件即可。

你可能感兴趣的:(代码,身份证校验,身份证校验码计算,校验位检验)