Toggle navigation
Toggle navigation
This project
Loading...
Sign in
flutter_package
/
fluttertpc_get
Go to a project
Toggle navigation
Projects
Groups
Snippets
Help
Toggle navigation pinning
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Authored by
Kauê Murakami
2020-07-06 16:10:10 -0300
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
03c3a65b917fbe9b4d3ea33b8ebb603d4f731add
03c3a65b
1 parent
4e005850
adicionando validação de digitos
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
28 additions
and
1 deletions
lib/src/regex/get_utils.dart
lib/src/regex/get_utils.dart
View file @
03c3a65
...
...
@@ -303,7 +303,34 @@ class GetUtils {
if
(
numeros
.
length
!=
11
)
return
false
;
// Test if all CPF digits are the same
if
(
RegExp
(
r'^(\d)\1*$'
).
hasMatch
(
numeros
))
return
false
;
// Dividir dígitos
List
<
int
>
digitos
=
numeros
.
split
(
''
).
map
((
String
d
)
=>
int
.
parse
(
d
)).
toList
();
// Calcular o primeiro dígito verificador
var
calc_dv1
=
0
;
for
(
var
i
in
Iterable
<
int
>.
generate
(
9
,
(
i
)
=>
10
-
i
))
{
calc_dv1
+=
digitos
[
10
-
i
]
*
i
;
}
calc_dv1
%=
11
;
var
dv1
=
calc_dv1
<
2
?
0
:
11
-
calc_dv1
;
// Testar o primeiro dígito verificado
if
(
digitos
[
9
]
!=
dv1
)
return
false
;
// Calcular o segundo dígito verificador
var
calc_dv2
=
0
;
for
(
var
i
in
Iterable
<
int
>.
generate
(
10
,
(
i
)
=>
11
-
i
))
{
calc_dv2
+=
digitos
[
11
-
i
]
*
i
;
}
calc_dv2
%=
11
;
var
dv2
=
calc_dv2
<
2
?
0
:
11
-
calc_dv2
;
// Testar o segundo dígito verificador
if
(
digitos
[
10
]
!=
dv2
)
return
false
;
return
true
;
}
...
...
Please
register
or
login
to post a comment