/******* 居留證號檢驗 PHP version by Duckfly 2014.04.07 param1 = 居留證號 param2 = 是否區分大小寫 (預設false) ********/ function isRCNum($RCNum='', $caseSensitive=false){ $RCNum = trim($RCNum); //first step $pattern = ($caseSensitive)?'/^[A-Z]{1}[A-D]{1}[0-9]{8}$/':'/^[A-Z]{1}[A-D]{1}[0-9]{8}$/i'; if(preg_match($pattern, $RCNum) == 0) return false; //second step $RCArray = str_split(strtoupper($RCNum)); $area_str="ABCDEFGHJKLMNPQRSTUVXYWZIO"; //num1 ~ num2 $ary12 = str_split(strval(strpos($area_str, $RCArray[0])+10)); //num3 $ary3 = array(strpos($area_str, $RCArray[1]) % 10); //chechArray (+num4 ~ num11) $chechArray = array_merge($ary12, $ary3, array_slice($RCArray, 2)); //parseInt $chechArray = array_map('intval', $chechArray); //sum if(count($chechArray) !== 11) return false; $sum = $chechArray[0]+$chechArray[10]; for($i=1;$i<=9;$i++){ $sum += $chechArray[$i]*(10-$i); } if(($sum % 10) !== 0) return false; return true; }
2015-02-02
居留證號檢驗 PHP version
網路有JAVA、Javascript version的,沒有PHP version,只好自已刻一個...跟檢驗身份證號的方法意思是差不多的。
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言