Te damos la bienvenida a nuestra comunidad, en este lugar vas a hallar la solucíon que andabas buscando.
Ejemplo: validar el número de identificación de rsa
# NB--> Language: Perluse Scalar::Util 'looks_like_number';subValidate_IdNum($);subGetLuhnDigit($);#----------------------------------------------------------------## Validates the id number being parsed and returns a boolean, # If the id number is valid, returns 0, otherwise returns 1# PARAMETERS# The id number that needs to be validated # EXAMPLES# "Id number cannot contain numeric values"]>subValidate_IdNum($)
my $sSubName =(caller(0))[3]; # This isjust a reference to the function/subroutine name
my $bFaulty =0;
my $sIdNo = $_[0];
my $iStrLen = length $sIdNo;
my $LastChar =substr($sIdNo,-1);if(looks_like_number($sIdNo)==0)
$bFaulty =1;elseif((length $sIdNo)!=13)
$bFaulty =1;
elsif (substr($sIdNo,-1)!=GetLuhnDigit($sIdNo))
$bFaulty =1;if($sRetMsg eq "")
$sRetMsg ="0";return($sRetMsg,$bFaulty);#----------------------------------------------------------------## Used to validate rsa id numbers: (finds expected last digit given the first 12)# See the Luhn algorithm: https://en.wikipedia.org/wiki/Luhn_algorithmsubGetLuhnDigit($)
my $sSubName =(caller(0))[3]; # This isjust a reference to the function/subroutine name
my $iLastDigit =-1;
my $s12Digits = $_[0];
my $iSumOdd =0;
my $iEvenDigits ="";for(my $i=0;$i<6;$i++)
$iSumOdd = $iSumOdd +substr($s12Digits,2* $i,1);for(my $i=0;$i<6;$i++)
$iEvenDigits = $iEvenDigits .substr($s12Digits,(2* $i)+1,1);
my $iDblEven =2* $iEvenDigits;
my $iSumDblEvens =0;for(my $i =0; $i <length($iDblEven); $i++)
$iSumDblEvens = $iSumDblEvens +substr($iDblEven,$i,1);
my $iUnitVal = $iDblEven;
my $iFinalBase = $iSumOdd + $iSumDblEvens;
$iLastDigit =10-substr($iFinalBase,-1);if($iLastDigit ==10)
$iLastDigit =0;return $iLastDigit;
Sección de Reseñas y Valoraciones
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)