from
PESEL number validation
by Michal Bok
Checking PESEL number, and creating 11. digit of PESEL based on first 10 digits.
|
| checkp(pesel_num)
|
function wynik = checkp(pesel_num)
%CHECKP funkcja sprawdza poprawnosc numeru PESEL
% na podstawie calego 11 cyfrowego numeru
% zwraca wartosc 0 w przypadku poprawnego numeru
%
% CHECKP(pesel_num)
% pesel_num - 11 cyfrowy numer PESEL
%
% Copyright 2008 Micha Bok, 156589
%
% algorytm: http://pl.wikipedia.org/wiki/PESEL
pesel_str = num2str(pesel_num);
pesel_len = length(pesel_str);
pesel_tab = 0;
if pesel_len~=11
return
end
for char=1:pesel_len;
pesel_tab(char) = str2num(pesel_str(char));
end;
pesel_sum_1 = pesel_tab(1)*1 + pesel_tab(2)*3 + pesel_tab(3)*7 + pesel_tab(4)*9 + pesel_tab(5)*1;
pesel_sum_2 = pesel_tab(6)*3 + pesel_tab(7)*7 + pesel_tab(8)*9 + pesel_tab(9)*1 + pesel_tab(10)*3;
pesel_sum = pesel_sum_1 + pesel_sum_2 + pesel_tab(11);
wynik = mod(pesel_sum,10);
if wynik==0
disp('ok');
else
wynik = 1;
disp('!ok');
end
|
|
Contact us at files@mathworks.com