用正则表达式判断输入的数字是否为1--99之间的奇数,包含1跟99,谢谢。
回复讨论(解决方案)
/\d?[13579]/
/\d?[13579]/
需要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
10 no
11 yes
12 no
13 yes
14 no
15 yes
16 no
17 yes
18 no
19 yes
20 no
21 yes
22 no
23 yes
24 no
25 yes
26 no
27 yes
28 no
29 yes
30 no
31 yes
32 no
33 yes
34 no
35 yes
36 no
37 yes
38 no
39 yes
40 no
41 yes
42 no
43 yes
44 no
45 yes
46 no
47 yes
48 no
49 yes
50 no
51 yes
52 no
53 yes
54 no
55 yes
56 no
57 yes
58 no
59 yes
60 no
61 yes
62 no
63 yes
64 no
65 yes
66 no
67 yes
68 no
69 yes
70 no
71 yes
72 no
73 yes
74 no
75 yes
76 no
77 yes
78 no
79 yes
80 no
81 yes
82 no
83 yes
84 no
85 yes
86 no
87 yes
88 no
89 yes
90 no
91 yes
92 no
93 yes
94 no
95 yes
96 no
97 yes
98 no
99 yes
老大辛苦了,我的意思是还要同时判断输入的数字大于0,小于100(1-99之间),虽然我知道可以用if99来判断,但我想用一个正则来直接判断。
/^\d?[13579]$/
就已经满足了
var_dump(preg_match('/^\d?[13579]$/', 0));//int(0)
var_dump(preg_match('/^\d?[13579]$/', -1));//int(0)
var_dump(preg_match('/^\d?[13579]$/', 100));//int(0)
多谢老大