Herr Apfel的专栏

玉不琢,不成器;人不学,不知道。是故古之王者,建国君民,教学为先。...

15位身份证号码转18位

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]"

阅读更多
个人分类: UNIX
上一篇java.util包(二)
下一篇如何提高自己的编程水平
想对作者说点什么? 我来说一句

身份证号15位18位工具

2009年02月03日 104KB 下载

没有更多推荐了,返回首页

关闭
关闭