proc random_uid {sex} { set ret "" set wgt 0 set cityList {A B C D E F G H J K L M N P Q R S T U V X Y W Z I O} set city [lpick $cityList] append ret $city set cityNum [expr [lsearch $cityList $city] + 10] set rndNum "$sex[expr {int(rand()*9000000+1000000)}]" append ret $rndNum set wgt [expr [expr [string index $cityNum 0] * 1] + [expr [string index $cityNum 1] * 9] ] set j 8 for {set i 0} {$i<8} {incr i} { set wgt [expr $wgt + [expr [string index $rndNum $i ] * $j]] incr j -1 } set chk [expr 10 - ($wgt % 10)] if {$chk == 10} {set chk 0} append ret $chk return $ret }
We are the Priests of the Temples of Syrinx, our great computers fill the hallowed halls.
2010-03-30
Tcl 隨機產生身份證字號
平常都是用 javascript 或 php 檢查身分證號碼,想不到有一天會需要用到身分證號產生器 XD 規則網路上很多,用 tcl 寫也沒幾行。
訂閱:
張貼留言 (Atom)
還是學長厲害! 馬上改。最近寫個小程式發現很多有趣的事,下次見面再跟你說 XD
回覆刪除