现在的位置: 首页 > 综合 > 正文

15位身份证号码转18位

2013年04月16日 ⁄ 综合 ⁄ 共 565字 ⁄ 字号 评论关闭

15位身份证号码转18位:

clear;echo "/n请输入15位证件号码:/c"
read zj0
if [ ! "$zj0" ]; then exit; fi
ws=`expr length $zj0`
if [ $ws != 15 ];  then echo "/n身份证位数错误!!/c";read jkl;exit;fi
zj1=`echo $zj0|cut -c1-6`
zj2=`echo $zj0|cut -c7-`
sfz=$zj1"19"$zj2"0"
i=1; rm -f sfz.txt
while [ $i -lt 19 ]
 do
ai=`echo $sfz|cut -c$i-$i`
wi=`echo "7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2 1"|awk -v I=$i '{print $I}'`
awi=`echo $ai*$wi|bc`
echo "$awi">>sfz.txt
i=`expr $i + 1`
done
sbh=`awk '{s=s+$1}END{print s%11}' sfz.txt`
case $sbh in
 0) mw=1;;
 1) mw=0;;
 2) mw=X;;
 3) mw=9;;
 4) mw=8;;
 5) mw=7;;
 6) mw=6;;
 7) mw=5;;
 8) mw=4;;
 9) mw=3;;
10) mw=2;;
esac
echo "15位证件号::[$zj0]
18位证件号:[$zj1"19"$zj2$mw]"

抱歉!评论已关闭.