Personas koda un IBAN validācija
14
Apr4
Apr4
Šie validācijas skripti gan vairāk attiecas uz mani pašu, jo tos tāpat var diezgan viegli atrast izmantojot tanti gūgli. Bet kāpēc man katru reizi meklēt, ja es varu tos pierakstīt un nākamreiz jau doties uz konkrētu vietu un nokopēt? (:
Personas kods:
1 2 3 4 5 6 | function validate_pk($pk){ $pk = preg_replace("/[^\d]/","",$pk); $calc = 1*$pk[0]+6*$pk[1]+3*$pk[2]+7*$pk[3]+9*$pk[4]+10*$pk[5]+5*$pk[6]+8*$pk[7]+4*$pk[8]+2*$pk[9]; $checksum = (1101-$calc)%11; return $checksum==$pk[10]; } |
IBAN (bankas konta numurs):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | function validate_iban($str,$reformat=true,$debug=false){ if($reformat){ $str = preg_replace('/[\W_]+/','',strtoupper($str)); } $errors = array(); if(4>strlen($str) || strlen($str)>34){ $errors[] = 'Invalid string length'; } if(is_numeric($str[0]) || is_numeric($str[1])){ $errors[] = 'Invalid chars at 0, 1'; } if(!is_numeric($str[2]) || !is_numeric($str[3])){ $errors[] = 'Invalid chars at 3, 4'; } $ibanReplaceChars = range('A','Z'); foreach(range(10,35) as $tempvalue){ $ibanReplaceValues[]=strval($tempvalue); } $tmpIBAN = substr($str,4).substr($str,0,4); $tmpIBAN = str_replace($ibanReplaceChars,$ibanReplaceValues,$tmpIBAN); $tmpValue = intval(substr($tmpIBAN,0,1)); for($i=1;$i<strlen($tmpIBAN);$i++){ $tmpValue*= 10; $tmpValue+= intval(substr($tmpIBAN,$i,1)); $tmpValue%= 97; } if($tmpValue!=1){ $errors[] = 'Invalid checksum'; } if(empty($errors)){ return true; } if($debug){ echo implode("\n", $errors); } return false; } |
18:34 on May 3rd, 2009
cool
10:27 on August 3rd, 2009
PK paarbaudes kods nav pilniigs .. bet principaa straadaajosh
pielabot vajag –> E-pasts (netiks publicēts) (nav obligāts) <–, jo izraadaas IR obligaats
16:32 on August 3rd, 2009
Tad jau tu varēji padalīties ar pilnīgo algoritmu…
01:13 on December 16th, 2009
Nav jau tik gruti to piezimet. TNX