sl-nic-validator-and-information-extractor 1.0.4 → 1.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -4,7 +4,7 @@ interface INicDetails {
4
4
  gender: string;
5
5
  }
6
6
 
7
- declare function isValidSlNic(nic: string): boolean | undefined;
7
+ declare function isValidSlNic(nic: string): boolean;
8
8
  declare function extractDetailsFromSlNic(nic: string): INicDetails | undefined;
9
9
 
10
10
  export { type INicDetails, extractDetailsFromSlNic, isValidSlNic };
package/dist/index.d.ts CHANGED
@@ -4,7 +4,7 @@ interface INicDetails {
4
4
  gender: string;
5
5
  }
6
6
 
7
- declare function isValidSlNic(nic: string): boolean | undefined;
7
+ declare function isValidSlNic(nic: string): boolean;
8
8
  declare function extractDetailsFromSlNic(nic: string): INicDetails | undefined;
9
9
 
10
10
  export { type INicDetails, extractDetailsFromSlNic, isValidSlNic };
package/dist/index.js CHANGED
@@ -26,6 +26,13 @@ __export(src_exports, {
26
26
  module.exports = __toCommonJS(src_exports);
27
27
 
28
28
  // src/functions.ts
29
+ function isProvidedStringANumber(value) {
30
+ const regex = /^-?\d+\.?\d*$/;
31
+ if (regex.test(value)) {
32
+ return true;
33
+ }
34
+ return false;
35
+ }
29
36
  function isValidSlNic(nic) {
30
37
  const length = nic.length;
31
38
  const firstDigit = nic.charAt(0);
@@ -35,52 +42,75 @@ function isValidSlNic(nic) {
35
42
  const fifthDigit = nic.charAt(4);
36
43
  const sixthDigit = nic.charAt(5);
37
44
  const seventhDigit = nic.charAt(6);
45
+ const eighthDigit = nic.charAt(7);
46
+ const ninthDigit = nic.charAt(8);
38
47
  const tenthDigit = nic.charAt(9);
39
- if (length !== 10 && length !== 12) {
40
- return false;
41
- } else if (length === 10) {
48
+ if (length === 10) {
49
+ if (!isProvidedStringANumber(firstDigit) || !isProvidedStringANumber(secondDigit) || !isProvidedStringANumber(thirdDigit) || !isProvidedStringANumber(fourthDigit) || !isProvidedStringANumber(fifthDigit) || !isProvidedStringANumber(sixthDigit) || !isProvidedStringANumber(seventhDigit) || !isProvidedStringANumber(eighthDigit) || !isProvidedStringANumber(ninthDigit)) {
50
+ return false;
51
+ }
42
52
  if (firstDigit !== "2" && firstDigit !== "3" && firstDigit !== "4" && firstDigit !== "5" && firstDigit !== "6" && firstDigit !== "7" && firstDigit !== "8" && firstDigit !== "9") {
43
53
  return false;
44
- } else if (thirdDigit !== "1" && thirdDigit !== "2" && thirdDigit !== "3" && thirdDigit !== "4" && thirdDigit !== "5" && thirdDigit !== "6" && thirdDigit !== "7" && thirdDigit !== "8" && thirdDigit !== "9" && fourthDigit !== "1" && fourthDigit !== "2" && fourthDigit !== "3" && fourthDigit !== "4" && fourthDigit !== "5" && fourthDigit !== "6" && fourthDigit !== "7" && fourthDigit !== "8" && fourthDigit !== "9" && fifthDigit !== "1" && fifthDigit !== "2" && fifthDigit !== "3" && fifthDigit !== "4" && fifthDigit !== "5" && fifthDigit !== "6" && fifthDigit !== "7" && fifthDigit !== "8" && fifthDigit !== "9") {
54
+ }
55
+ if (thirdDigit !== "1" && thirdDigit !== "2" && thirdDigit !== "3" && thirdDigit !== "4" && thirdDigit !== "5" && thirdDigit !== "6" && thirdDigit !== "7" && thirdDigit !== "8" && thirdDigit !== "9" && fourthDigit !== "1" && fourthDigit !== "2" && fourthDigit !== "3" && fourthDigit !== "4" && fourthDigit !== "5" && fourthDigit !== "6" && fourthDigit !== "7" && fourthDigit !== "8" && fourthDigit !== "9" && fifthDigit !== "1" && fifthDigit !== "2" && fifthDigit !== "3" && fifthDigit !== "4" && fifthDigit !== "5" && fifthDigit !== "6" && fifthDigit !== "7" && fifthDigit !== "8" && fifthDigit !== "9") {
45
56
  return false;
46
- } else if (thirdDigit !== "0" && thirdDigit !== "1" && thirdDigit !== "2" && thirdDigit !== "3" && thirdDigit !== "5" && thirdDigit !== "6" && thirdDigit !== "7" && thirdDigit !== "8") {
57
+ }
58
+ if (thirdDigit !== "0" && thirdDigit !== "1" && thirdDigit !== "2" && thirdDigit !== "3" && thirdDigit !== "5" && thirdDigit !== "6" && thirdDigit !== "7" && thirdDigit !== "8") {
47
59
  return false;
48
- } else if (thirdDigit !== "0" && thirdDigit !== "1" && thirdDigit !== "2" && thirdDigit !== "5" && thirdDigit !== "6" && thirdDigit !== "7" && fourthDigit !== "0" && fourthDigit !== "1" && fourthDigit !== "2" && fourthDigit !== "3" && fourthDigit !== "4" && fourthDigit !== "5" && fourthDigit !== "6") {
60
+ }
61
+ if (thirdDigit !== "0" && thirdDigit !== "1" && thirdDigit !== "2" && thirdDigit !== "5" && thirdDigit !== "6" && thirdDigit !== "7" && fourthDigit !== "0" && fourthDigit !== "1" && fourthDigit !== "2" && fourthDigit !== "3" && fourthDigit !== "4" && fourthDigit !== "5" && fourthDigit !== "6") {
49
62
  return false;
50
- } else if (thirdDigit !== "0" && thirdDigit !== "1" && thirdDigit !== "2" && thirdDigit !== "5" && thirdDigit !== "6" && thirdDigit !== "7" && fourthDigit !== "0" && fourthDigit !== "1" && fourthDigit !== "2" && fourthDigit !== "3" && fourthDigit !== "4" && fourthDigit !== "5" && fourthDigit !== "7" && fourthDigit !== "8" && fourthDigit !== "9" && fifthDigit !== "0" && fifthDigit !== "1" && fifthDigit !== "2" && fifthDigit !== "3" && fifthDigit !== "4" && fifthDigit !== "5" && fifthDigit !== "6") {
63
+ }
64
+ if (thirdDigit !== "0" && thirdDigit !== "1" && thirdDigit !== "2" && thirdDigit !== "5" && thirdDigit !== "6" && thirdDigit !== "7" && fourthDigit !== "0" && fourthDigit !== "1" && fourthDigit !== "2" && fourthDigit !== "3" && fourthDigit !== "4" && fourthDigit !== "5" && fourthDigit !== "7" && fourthDigit !== "8" && fourthDigit !== "9" && fifthDigit !== "0" && fifthDigit !== "1" && fifthDigit !== "2" && fifthDigit !== "3" && fifthDigit !== "4" && fifthDigit !== "5" && fifthDigit !== "6") {
51
65
  return false;
52
- } else if (thirdDigit !== "0" && thirdDigit !== "1" && thirdDigit !== "2" && thirdDigit !== "3" && thirdDigit !== "6" && thirdDigit !== "7" && thirdDigit !== "8" && fourthDigit !== "1" && fourthDigit !== "2" && fourthDigit !== "3" && fourthDigit !== "4" && fourthDigit !== "5" && fourthDigit !== "6" && fourthDigit !== "7" && fourthDigit !== "8" && fourthDigit !== "9" && fifthDigit !== "1" && fifthDigit !== "2" && fifthDigit !== "3" && fifthDigit !== "4" && fifthDigit !== "5" && fifthDigit !== "6" && fifthDigit !== "7" && fifthDigit !== "8" && fifthDigit !== "9") {
66
+ }
67
+ if (thirdDigit !== "0" && thirdDigit !== "1" && thirdDigit !== "2" && thirdDigit !== "3" && thirdDigit !== "6" && thirdDigit !== "7" && thirdDigit !== "8" && fourthDigit !== "1" && fourthDigit !== "2" && fourthDigit !== "3" && fourthDigit !== "4" && fourthDigit !== "5" && fourthDigit !== "6" && fourthDigit !== "7" && fourthDigit !== "8" && fourthDigit !== "9" && fifthDigit !== "1" && fifthDigit !== "2" && fifthDigit !== "3" && fifthDigit !== "4" && fifthDigit !== "5" && fifthDigit !== "6" && fifthDigit !== "7" && fifthDigit !== "8" && fifthDigit !== "9") {
68
+ return false;
69
+ }
70
+ if (tenthDigit !== "x" && tenthDigit !== "X" && tenthDigit !== "v" && tenthDigit !== "V") {
53
71
  return false;
54
- } else if (tenthDigit !== "x" && tenthDigit !== "X" && tenthDigit !== "v" && tenthDigit !== "V") {
72
+ }
73
+ return true;
74
+ }
75
+ if (length === 12) {
76
+ const eleventhDigit = nic.charAt(10);
77
+ const twelfthDigit = nic.charAt(11);
78
+ if (!isProvidedStringANumber(firstDigit) || !isProvidedStringANumber(secondDigit) || !isProvidedStringANumber(thirdDigit) || !isProvidedStringANumber(fourthDigit) || !isProvidedStringANumber(fifthDigit) || !isProvidedStringANumber(sixthDigit) || !isProvidedStringANumber(seventhDigit) || !isProvidedStringANumber(eighthDigit) || !isProvidedStringANumber(ninthDigit) || !isProvidedStringANumber(tenthDigit) || !isProvidedStringANumber(eleventhDigit) || !isProvidedStringANumber(twelfthDigit)) {
55
79
  return false;
56
- } else {
57
- return true;
58
80
  }
59
- } else if (length === 12) {
60
81
  if (firstDigit !== "1" && firstDigit !== "2") {
61
82
  return false;
62
- } else if (firstDigit === "1" && secondDigit !== "9") {
83
+ }
84
+ if (firstDigit === "1" && secondDigit !== "9") {
63
85
  return false;
64
- } else if (firstDigit === "2" && secondDigit !== "0") {
86
+ }
87
+ if (firstDigit === "2" && secondDigit !== "0") {
65
88
  return false;
66
- } else if (firstDigit !== "2" && secondDigit !== "0" && secondDigit !== "1" && secondDigit !== "2" && secondDigit !== "3" && secondDigit !== "4" && secondDigit !== "5" && secondDigit !== "6" && secondDigit !== "7" && secondDigit !== "8" && thirdDigit !== "2" && thirdDigit !== "3" && thirdDigit !== "4" && thirdDigit !== "5" && thirdDigit !== "6" && thirdDigit !== "7" && thirdDigit !== "8" && thirdDigit !== "9") {
89
+ }
90
+ if (firstDigit !== "2" && secondDigit !== "0" && secondDigit !== "1" && secondDigit !== "2" && secondDigit !== "3" && secondDigit !== "4" && secondDigit !== "5" && secondDigit !== "6" && secondDigit !== "7" && secondDigit !== "8" && thirdDigit !== "2" && thirdDigit !== "3" && thirdDigit !== "4" && thirdDigit !== "5" && thirdDigit !== "6" && thirdDigit !== "7" && thirdDigit !== "8" && thirdDigit !== "9") {
67
91
  return false;
68
- } else if (firstDigit !== "1" && secondDigit !== "1" && secondDigit !== "2" && secondDigit !== "3" && secondDigit !== "4" && secondDigit !== "5" && secondDigit !== "6" && secondDigit !== "7" && secondDigit !== "8" && secondDigit !== "9" && thirdDigit !== "0") {
92
+ }
93
+ if (firstDigit !== "1" && secondDigit !== "1" && secondDigit !== "2" && secondDigit !== "3" && secondDigit !== "4" && secondDigit !== "5" && secondDigit !== "6" && secondDigit !== "7" && secondDigit !== "8" && secondDigit !== "9" && thirdDigit !== "0") {
69
94
  return false;
70
- } else if (fifthDigit !== "1" && fifthDigit !== "2" && fifthDigit !== "3" && fifthDigit !== "4" && fifthDigit !== "5" && fifthDigit !== "6" && fifthDigit !== "7" && fifthDigit !== "8" && fifthDigit !== "9" && sixthDigit !== "1" && sixthDigit !== "2" && sixthDigit !== "3" && sixthDigit !== "4" && sixthDigit !== "5" && sixthDigit !== "6" && sixthDigit !== "7" && sixthDigit !== "8" && sixthDigit !== "9" && seventhDigit !== "1" && seventhDigit !== "2" && seventhDigit !== "3" && seventhDigit !== "4" && seventhDigit !== "5" && seventhDigit !== "6" && seventhDigit !== "7" && seventhDigit !== "8" && seventhDigit !== "9") {
95
+ }
96
+ if (fifthDigit !== "1" && fifthDigit !== "2" && fifthDigit !== "3" && fifthDigit !== "4" && fifthDigit !== "5" && fifthDigit !== "6" && fifthDigit !== "7" && fifthDigit !== "8" && fifthDigit !== "9" && sixthDigit !== "1" && sixthDigit !== "2" && sixthDigit !== "3" && sixthDigit !== "4" && sixthDigit !== "5" && sixthDigit !== "6" && sixthDigit !== "7" && sixthDigit !== "8" && sixthDigit !== "9" && seventhDigit !== "1" && seventhDigit !== "2" && seventhDigit !== "3" && seventhDigit !== "4" && seventhDigit !== "5" && seventhDigit !== "6" && seventhDigit !== "7" && seventhDigit !== "8" && seventhDigit !== "9") {
71
97
  return false;
72
- } else if (fifthDigit !== "0" && fifthDigit !== "1" && fifthDigit !== "2" && fifthDigit !== "3" && fifthDigit !== "5" && fifthDigit !== "6" && fifthDigit !== "7" && fifthDigit !== "8") {
98
+ }
99
+ if (fifthDigit !== "0" && fifthDigit !== "1" && fifthDigit !== "2" && fifthDigit !== "3" && fifthDigit !== "5" && fifthDigit !== "6" && fifthDigit !== "7" && fifthDigit !== "8") {
73
100
  return false;
74
- } else if (fifthDigit !== "0" && fifthDigit !== "1" && fifthDigit !== "2" && fifthDigit !== "5" && fifthDigit !== "6" && fifthDigit !== "7" && sixthDigit !== "0" && sixthDigit !== "1" && sixthDigit !== "2" && sixthDigit !== "3" && sixthDigit !== "4" && sixthDigit !== "5" && sixthDigit !== "6") {
101
+ }
102
+ if (fifthDigit !== "0" && fifthDigit !== "1" && fifthDigit !== "2" && fifthDigit !== "5" && fifthDigit !== "6" && fifthDigit !== "7" && sixthDigit !== "0" && sixthDigit !== "1" && sixthDigit !== "2" && sixthDigit !== "3" && sixthDigit !== "4" && sixthDigit !== "5" && sixthDigit !== "6") {
75
103
  return false;
76
- } else if (fifthDigit !== "0" && fifthDigit !== "1" && fifthDigit !== "2" && fifthDigit !== "5" && fifthDigit !== "6" && fifthDigit !== "7" && sixthDigit !== "0" && sixthDigit !== "1" && sixthDigit !== "2" && sixthDigit !== "3" && sixthDigit !== "4" && sixthDigit !== "5" && sixthDigit !== "7" && sixthDigit !== "8" && sixthDigit !== "9" && seventhDigit !== "0" && seventhDigit !== "1" && seventhDigit !== "2" && seventhDigit !== "3" && seventhDigit !== "4" && seventhDigit !== "5" && seventhDigit !== "6") {
104
+ }
105
+ if (fifthDigit !== "0" && fifthDigit !== "1" && fifthDigit !== "2" && fifthDigit !== "5" && fifthDigit !== "6" && fifthDigit !== "7" && sixthDigit !== "0" && sixthDigit !== "1" && sixthDigit !== "2" && sixthDigit !== "3" && sixthDigit !== "4" && sixthDigit !== "5" && sixthDigit !== "7" && sixthDigit !== "8" && sixthDigit !== "9" && seventhDigit !== "0" && seventhDigit !== "1" && seventhDigit !== "2" && seventhDigit !== "3" && seventhDigit !== "4" && seventhDigit !== "5" && seventhDigit !== "6") {
77
106
  return false;
78
- } else if (fifthDigit !== "0" && fifthDigit !== "1" && fifthDigit !== "2" && fifthDigit !== "3" && fifthDigit !== "6" && fifthDigit !== "7" && fifthDigit !== "8" && sixthDigit !== "1" && sixthDigit !== "2" && sixthDigit !== "3" && sixthDigit !== "4" && sixthDigit !== "5" && sixthDigit !== "6" && sixthDigit !== "7" && sixthDigit !== "8" && sixthDigit !== "9" && seventhDigit !== "1" && seventhDigit !== "2" && seventhDigit !== "3" && seventhDigit !== "4" && seventhDigit !== "5" && seventhDigit !== "6" && seventhDigit !== "7" && seventhDigit !== "8" && seventhDigit !== "9") {
107
+ }
108
+ if (fifthDigit !== "0" && fifthDigit !== "1" && fifthDigit !== "2" && fifthDigit !== "3" && fifthDigit !== "6" && fifthDigit !== "7" && fifthDigit !== "8" && sixthDigit !== "1" && sixthDigit !== "2" && sixthDigit !== "3" && sixthDigit !== "4" && sixthDigit !== "5" && sixthDigit !== "6" && sixthDigit !== "7" && sixthDigit !== "8" && sixthDigit !== "9" && seventhDigit !== "1" && seventhDigit !== "2" && seventhDigit !== "3" && seventhDigit !== "4" && seventhDigit !== "5" && seventhDigit !== "6" && seventhDigit !== "7" && seventhDigit !== "8" && seventhDigit !== "9") {
79
109
  return false;
80
- } else {
81
- return true;
82
110
  }
111
+ return true;
83
112
  }
113
+ return false;
84
114
  }
85
115
  function extractDetailsFromSlNic(nic) {
86
116
  let year;
package/dist/index.mjs CHANGED
@@ -1,4 +1,11 @@
1
1
  // src/functions.ts
2
+ function isProvidedStringANumber(value) {
3
+ const regex = /^-?\d+\.?\d*$/;
4
+ if (regex.test(value)) {
5
+ return true;
6
+ }
7
+ return false;
8
+ }
2
9
  function isValidSlNic(nic) {
3
10
  const length = nic.length;
4
11
  const firstDigit = nic.charAt(0);
@@ -8,52 +15,75 @@ function isValidSlNic(nic) {
8
15
  const fifthDigit = nic.charAt(4);
9
16
  const sixthDigit = nic.charAt(5);
10
17
  const seventhDigit = nic.charAt(6);
18
+ const eighthDigit = nic.charAt(7);
19
+ const ninthDigit = nic.charAt(8);
11
20
  const tenthDigit = nic.charAt(9);
12
- if (length !== 10 && length !== 12) {
13
- return false;
14
- } else if (length === 10) {
21
+ if (length === 10) {
22
+ if (!isProvidedStringANumber(firstDigit) || !isProvidedStringANumber(secondDigit) || !isProvidedStringANumber(thirdDigit) || !isProvidedStringANumber(fourthDigit) || !isProvidedStringANumber(fifthDigit) || !isProvidedStringANumber(sixthDigit) || !isProvidedStringANumber(seventhDigit) || !isProvidedStringANumber(eighthDigit) || !isProvidedStringANumber(ninthDigit)) {
23
+ return false;
24
+ }
15
25
  if (firstDigit !== "2" && firstDigit !== "3" && firstDigit !== "4" && firstDigit !== "5" && firstDigit !== "6" && firstDigit !== "7" && firstDigit !== "8" && firstDigit !== "9") {
16
26
  return false;
17
- } else if (thirdDigit !== "1" && thirdDigit !== "2" && thirdDigit !== "3" && thirdDigit !== "4" && thirdDigit !== "5" && thirdDigit !== "6" && thirdDigit !== "7" && thirdDigit !== "8" && thirdDigit !== "9" && fourthDigit !== "1" && fourthDigit !== "2" && fourthDigit !== "3" && fourthDigit !== "4" && fourthDigit !== "5" && fourthDigit !== "6" && fourthDigit !== "7" && fourthDigit !== "8" && fourthDigit !== "9" && fifthDigit !== "1" && fifthDigit !== "2" && fifthDigit !== "3" && fifthDigit !== "4" && fifthDigit !== "5" && fifthDigit !== "6" && fifthDigit !== "7" && fifthDigit !== "8" && fifthDigit !== "9") {
27
+ }
28
+ if (thirdDigit !== "1" && thirdDigit !== "2" && thirdDigit !== "3" && thirdDigit !== "4" && thirdDigit !== "5" && thirdDigit !== "6" && thirdDigit !== "7" && thirdDigit !== "8" && thirdDigit !== "9" && fourthDigit !== "1" && fourthDigit !== "2" && fourthDigit !== "3" && fourthDigit !== "4" && fourthDigit !== "5" && fourthDigit !== "6" && fourthDigit !== "7" && fourthDigit !== "8" && fourthDigit !== "9" && fifthDigit !== "1" && fifthDigit !== "2" && fifthDigit !== "3" && fifthDigit !== "4" && fifthDigit !== "5" && fifthDigit !== "6" && fifthDigit !== "7" && fifthDigit !== "8" && fifthDigit !== "9") {
18
29
  return false;
19
- } else if (thirdDigit !== "0" && thirdDigit !== "1" && thirdDigit !== "2" && thirdDigit !== "3" && thirdDigit !== "5" && thirdDigit !== "6" && thirdDigit !== "7" && thirdDigit !== "8") {
30
+ }
31
+ if (thirdDigit !== "0" && thirdDigit !== "1" && thirdDigit !== "2" && thirdDigit !== "3" && thirdDigit !== "5" && thirdDigit !== "6" && thirdDigit !== "7" && thirdDigit !== "8") {
20
32
  return false;
21
- } else if (thirdDigit !== "0" && thirdDigit !== "1" && thirdDigit !== "2" && thirdDigit !== "5" && thirdDigit !== "6" && thirdDigit !== "7" && fourthDigit !== "0" && fourthDigit !== "1" && fourthDigit !== "2" && fourthDigit !== "3" && fourthDigit !== "4" && fourthDigit !== "5" && fourthDigit !== "6") {
33
+ }
34
+ if (thirdDigit !== "0" && thirdDigit !== "1" && thirdDigit !== "2" && thirdDigit !== "5" && thirdDigit !== "6" && thirdDigit !== "7" && fourthDigit !== "0" && fourthDigit !== "1" && fourthDigit !== "2" && fourthDigit !== "3" && fourthDigit !== "4" && fourthDigit !== "5" && fourthDigit !== "6") {
22
35
  return false;
23
- } else if (thirdDigit !== "0" && thirdDigit !== "1" && thirdDigit !== "2" && thirdDigit !== "5" && thirdDigit !== "6" && thirdDigit !== "7" && fourthDigit !== "0" && fourthDigit !== "1" && fourthDigit !== "2" && fourthDigit !== "3" && fourthDigit !== "4" && fourthDigit !== "5" && fourthDigit !== "7" && fourthDigit !== "8" && fourthDigit !== "9" && fifthDigit !== "0" && fifthDigit !== "1" && fifthDigit !== "2" && fifthDigit !== "3" && fifthDigit !== "4" && fifthDigit !== "5" && fifthDigit !== "6") {
36
+ }
37
+ if (thirdDigit !== "0" && thirdDigit !== "1" && thirdDigit !== "2" && thirdDigit !== "5" && thirdDigit !== "6" && thirdDigit !== "7" && fourthDigit !== "0" && fourthDigit !== "1" && fourthDigit !== "2" && fourthDigit !== "3" && fourthDigit !== "4" && fourthDigit !== "5" && fourthDigit !== "7" && fourthDigit !== "8" && fourthDigit !== "9" && fifthDigit !== "0" && fifthDigit !== "1" && fifthDigit !== "2" && fifthDigit !== "3" && fifthDigit !== "4" && fifthDigit !== "5" && fifthDigit !== "6") {
24
38
  return false;
25
- } else if (thirdDigit !== "0" && thirdDigit !== "1" && thirdDigit !== "2" && thirdDigit !== "3" && thirdDigit !== "6" && thirdDigit !== "7" && thirdDigit !== "8" && fourthDigit !== "1" && fourthDigit !== "2" && fourthDigit !== "3" && fourthDigit !== "4" && fourthDigit !== "5" && fourthDigit !== "6" && fourthDigit !== "7" && fourthDigit !== "8" && fourthDigit !== "9" && fifthDigit !== "1" && fifthDigit !== "2" && fifthDigit !== "3" && fifthDigit !== "4" && fifthDigit !== "5" && fifthDigit !== "6" && fifthDigit !== "7" && fifthDigit !== "8" && fifthDigit !== "9") {
39
+ }
40
+ if (thirdDigit !== "0" && thirdDigit !== "1" && thirdDigit !== "2" && thirdDigit !== "3" && thirdDigit !== "6" && thirdDigit !== "7" && thirdDigit !== "8" && fourthDigit !== "1" && fourthDigit !== "2" && fourthDigit !== "3" && fourthDigit !== "4" && fourthDigit !== "5" && fourthDigit !== "6" && fourthDigit !== "7" && fourthDigit !== "8" && fourthDigit !== "9" && fifthDigit !== "1" && fifthDigit !== "2" && fifthDigit !== "3" && fifthDigit !== "4" && fifthDigit !== "5" && fifthDigit !== "6" && fifthDigit !== "7" && fifthDigit !== "8" && fifthDigit !== "9") {
41
+ return false;
42
+ }
43
+ if (tenthDigit !== "x" && tenthDigit !== "X" && tenthDigit !== "v" && tenthDigit !== "V") {
26
44
  return false;
27
- } else if (tenthDigit !== "x" && tenthDigit !== "X" && tenthDigit !== "v" && tenthDigit !== "V") {
45
+ }
46
+ return true;
47
+ }
48
+ if (length === 12) {
49
+ const eleventhDigit = nic.charAt(10);
50
+ const twelfthDigit = nic.charAt(11);
51
+ if (!isProvidedStringANumber(firstDigit) || !isProvidedStringANumber(secondDigit) || !isProvidedStringANumber(thirdDigit) || !isProvidedStringANumber(fourthDigit) || !isProvidedStringANumber(fifthDigit) || !isProvidedStringANumber(sixthDigit) || !isProvidedStringANumber(seventhDigit) || !isProvidedStringANumber(eighthDigit) || !isProvidedStringANumber(ninthDigit) || !isProvidedStringANumber(tenthDigit) || !isProvidedStringANumber(eleventhDigit) || !isProvidedStringANumber(twelfthDigit)) {
28
52
  return false;
29
- } else {
30
- return true;
31
53
  }
32
- } else if (length === 12) {
33
54
  if (firstDigit !== "1" && firstDigit !== "2") {
34
55
  return false;
35
- } else if (firstDigit === "1" && secondDigit !== "9") {
56
+ }
57
+ if (firstDigit === "1" && secondDigit !== "9") {
36
58
  return false;
37
- } else if (firstDigit === "2" && secondDigit !== "0") {
59
+ }
60
+ if (firstDigit === "2" && secondDigit !== "0") {
38
61
  return false;
39
- } else if (firstDigit !== "2" && secondDigit !== "0" && secondDigit !== "1" && secondDigit !== "2" && secondDigit !== "3" && secondDigit !== "4" && secondDigit !== "5" && secondDigit !== "6" && secondDigit !== "7" && secondDigit !== "8" && thirdDigit !== "2" && thirdDigit !== "3" && thirdDigit !== "4" && thirdDigit !== "5" && thirdDigit !== "6" && thirdDigit !== "7" && thirdDigit !== "8" && thirdDigit !== "9") {
62
+ }
63
+ if (firstDigit !== "2" && secondDigit !== "0" && secondDigit !== "1" && secondDigit !== "2" && secondDigit !== "3" && secondDigit !== "4" && secondDigit !== "5" && secondDigit !== "6" && secondDigit !== "7" && secondDigit !== "8" && thirdDigit !== "2" && thirdDigit !== "3" && thirdDigit !== "4" && thirdDigit !== "5" && thirdDigit !== "6" && thirdDigit !== "7" && thirdDigit !== "8" && thirdDigit !== "9") {
40
64
  return false;
41
- } else if (firstDigit !== "1" && secondDigit !== "1" && secondDigit !== "2" && secondDigit !== "3" && secondDigit !== "4" && secondDigit !== "5" && secondDigit !== "6" && secondDigit !== "7" && secondDigit !== "8" && secondDigit !== "9" && thirdDigit !== "0") {
65
+ }
66
+ if (firstDigit !== "1" && secondDigit !== "1" && secondDigit !== "2" && secondDigit !== "3" && secondDigit !== "4" && secondDigit !== "5" && secondDigit !== "6" && secondDigit !== "7" && secondDigit !== "8" && secondDigit !== "9" && thirdDigit !== "0") {
42
67
  return false;
43
- } else if (fifthDigit !== "1" && fifthDigit !== "2" && fifthDigit !== "3" && fifthDigit !== "4" && fifthDigit !== "5" && fifthDigit !== "6" && fifthDigit !== "7" && fifthDigit !== "8" && fifthDigit !== "9" && sixthDigit !== "1" && sixthDigit !== "2" && sixthDigit !== "3" && sixthDigit !== "4" && sixthDigit !== "5" && sixthDigit !== "6" && sixthDigit !== "7" && sixthDigit !== "8" && sixthDigit !== "9" && seventhDigit !== "1" && seventhDigit !== "2" && seventhDigit !== "3" && seventhDigit !== "4" && seventhDigit !== "5" && seventhDigit !== "6" && seventhDigit !== "7" && seventhDigit !== "8" && seventhDigit !== "9") {
68
+ }
69
+ if (fifthDigit !== "1" && fifthDigit !== "2" && fifthDigit !== "3" && fifthDigit !== "4" && fifthDigit !== "5" && fifthDigit !== "6" && fifthDigit !== "7" && fifthDigit !== "8" && fifthDigit !== "9" && sixthDigit !== "1" && sixthDigit !== "2" && sixthDigit !== "3" && sixthDigit !== "4" && sixthDigit !== "5" && sixthDigit !== "6" && sixthDigit !== "7" && sixthDigit !== "8" && sixthDigit !== "9" && seventhDigit !== "1" && seventhDigit !== "2" && seventhDigit !== "3" && seventhDigit !== "4" && seventhDigit !== "5" && seventhDigit !== "6" && seventhDigit !== "7" && seventhDigit !== "8" && seventhDigit !== "9") {
44
70
  return false;
45
- } else if (fifthDigit !== "0" && fifthDigit !== "1" && fifthDigit !== "2" && fifthDigit !== "3" && fifthDigit !== "5" && fifthDigit !== "6" && fifthDigit !== "7" && fifthDigit !== "8") {
71
+ }
72
+ if (fifthDigit !== "0" && fifthDigit !== "1" && fifthDigit !== "2" && fifthDigit !== "3" && fifthDigit !== "5" && fifthDigit !== "6" && fifthDigit !== "7" && fifthDigit !== "8") {
46
73
  return false;
47
- } else if (fifthDigit !== "0" && fifthDigit !== "1" && fifthDigit !== "2" && fifthDigit !== "5" && fifthDigit !== "6" && fifthDigit !== "7" && sixthDigit !== "0" && sixthDigit !== "1" && sixthDigit !== "2" && sixthDigit !== "3" && sixthDigit !== "4" && sixthDigit !== "5" && sixthDigit !== "6") {
74
+ }
75
+ if (fifthDigit !== "0" && fifthDigit !== "1" && fifthDigit !== "2" && fifthDigit !== "5" && fifthDigit !== "6" && fifthDigit !== "7" && sixthDigit !== "0" && sixthDigit !== "1" && sixthDigit !== "2" && sixthDigit !== "3" && sixthDigit !== "4" && sixthDigit !== "5" && sixthDigit !== "6") {
48
76
  return false;
49
- } else if (fifthDigit !== "0" && fifthDigit !== "1" && fifthDigit !== "2" && fifthDigit !== "5" && fifthDigit !== "6" && fifthDigit !== "7" && sixthDigit !== "0" && sixthDigit !== "1" && sixthDigit !== "2" && sixthDigit !== "3" && sixthDigit !== "4" && sixthDigit !== "5" && sixthDigit !== "7" && sixthDigit !== "8" && sixthDigit !== "9" && seventhDigit !== "0" && seventhDigit !== "1" && seventhDigit !== "2" && seventhDigit !== "3" && seventhDigit !== "4" && seventhDigit !== "5" && seventhDigit !== "6") {
77
+ }
78
+ if (fifthDigit !== "0" && fifthDigit !== "1" && fifthDigit !== "2" && fifthDigit !== "5" && fifthDigit !== "6" && fifthDigit !== "7" && sixthDigit !== "0" && sixthDigit !== "1" && sixthDigit !== "2" && sixthDigit !== "3" && sixthDigit !== "4" && sixthDigit !== "5" && sixthDigit !== "7" && sixthDigit !== "8" && sixthDigit !== "9" && seventhDigit !== "0" && seventhDigit !== "1" && seventhDigit !== "2" && seventhDigit !== "3" && seventhDigit !== "4" && seventhDigit !== "5" && seventhDigit !== "6") {
50
79
  return false;
51
- } else if (fifthDigit !== "0" && fifthDigit !== "1" && fifthDigit !== "2" && fifthDigit !== "3" && fifthDigit !== "6" && fifthDigit !== "7" && fifthDigit !== "8" && sixthDigit !== "1" && sixthDigit !== "2" && sixthDigit !== "3" && sixthDigit !== "4" && sixthDigit !== "5" && sixthDigit !== "6" && sixthDigit !== "7" && sixthDigit !== "8" && sixthDigit !== "9" && seventhDigit !== "1" && seventhDigit !== "2" && seventhDigit !== "3" && seventhDigit !== "4" && seventhDigit !== "5" && seventhDigit !== "6" && seventhDigit !== "7" && seventhDigit !== "8" && seventhDigit !== "9") {
80
+ }
81
+ if (fifthDigit !== "0" && fifthDigit !== "1" && fifthDigit !== "2" && fifthDigit !== "3" && fifthDigit !== "6" && fifthDigit !== "7" && fifthDigit !== "8" && sixthDigit !== "1" && sixthDigit !== "2" && sixthDigit !== "3" && sixthDigit !== "4" && sixthDigit !== "5" && sixthDigit !== "6" && sixthDigit !== "7" && sixthDigit !== "8" && sixthDigit !== "9" && seventhDigit !== "1" && seventhDigit !== "2" && seventhDigit !== "3" && seventhDigit !== "4" && seventhDigit !== "5" && seventhDigit !== "6" && seventhDigit !== "7" && seventhDigit !== "8" && seventhDigit !== "9") {
52
82
  return false;
53
- } else {
54
- return true;
55
83
  }
84
+ return true;
56
85
  }
86
+ return false;
57
87
  }
58
88
  function extractDetailsFromSlNic(nic) {
59
89
  let year;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sl-nic-validator-and-information-extractor",
3
- "version": "1.0.4",
3
+ "version": "1.0.6",
4
4
  "description": "A function to validate new and old NIC of Sri Lanka and a function to extract information from the NIC",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",