Use regular expressions to determine if the number entered is odd between 1--99, including 1 and 99, thank you.
Reply to discussion (solution)
/\d? [13579]/
/\d? [13579]/
Requires between 1-99
for ($i =1; $i <100; $i + +) { printf ("%2d%s\n", $i, Preg_match ('/^\d?[ 13579]$/', $i)? ' Yes ': ' No ');}
1 Yes
2 No
3 Yes
4 No
5 Yes
6 No
7 Yes
8 No
9 Yes
Ten No
One Yes
No.
Yes
+ No
Yes
+ No
+ Yes
No
Yes
No
Yes
No
% Yes
No
Yes
+ No
Yes
-No
Yes
No.
Yes
No
Yes
No
Yes
No
PNS Yes
No
Yes
+ No
Yes
No
Yes
No
Yes
No
Yes
No
Yes
No
Wuyi Yes
No
Yes
No
Yes
No
$ yes
No
Yes
No
Yes
No
Yes
No
Yes
No
Yes
No
Yes
No
Yes
No
Yes
No
Yes
No
Yes
No
+ Yes
No
Bayi Yes
No
Yes
No
Yes
No
Yes
No
Yes
No
Yes
No
Yes
94 No
Yes
No
$ yes
98 No
Yes
Boss hard, I mean also to judge the input number is more than 0, less than 100 (1-99), although I know can use if<1,if>99 to judge, but I want to use a regular to directly judge.
/^\d? [13579]$/
It's already been fulfilled.
Var_dump (Preg_match ('/^\d?[ 13579]$/', 0));//int (0)
Var_dump (Preg_match ('/^\d?[ 13579]$/',-1));//int (0)
Var_dump (Preg_match ('/^\d?[ 13579]$/', ());//int (0)
Dosello