Skip to content

Commit 7e7d740

Browse files
committed
Update ValidOddNumber.php
1 parent 75458f0 commit 7e7d740

File tree

1 file changed

+18
-1
lines changed

1 file changed

+18
-1
lines changed

src/Rules/ValidOddNumber.php

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,24 @@ class ValidOddNumber implements Rule
1111
*/
1212
public function passes($attribute, $value): bool
1313
{
14-
return preg_match('/^\d*[13579]$/', $value);
14+
if (! is_numeric($value)) {
15+
return false;
16+
}
17+
18+
$number = strval($value);
19+
$number = explode('.', $number);
20+
21+
// Check if there is a decimal part and it's not zero
22+
if (isset($number[1]) && $number[1] != 0) {
23+
return false;
24+
}
25+
26+
$number = $number[0];
27+
28+
if (extension_loaded('gmp')) {
29+
return gmp_cmp(gmp_mod($number, '2'), '0') !== 0;
30+
}
31+
return $number % 2 !== 0;
1532
}
1633

1734
/**

0 commit comments

Comments
 (0)