|
|
|
| Есть некая переменная $_POST[name].
Нужно сделать проверку, чтобы в этой переменной не было знаков, кроме:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
0
1
2
3
4
5
6
7
8
9
~
!
@
"
#
№
$
%
^
:
&
?
*
(
)
-
_
=
+
[
{
]
}
;
<
,
>
.
/
\
|
|
Иными словами, нужно этот вариант передать, но как...
if(!preg_match("/^[A-Za-z0-9]+$/iu", $_POST[name])) {}
|
| |
|
|
|
|
|
|
|
для: Maxam
(04.05.2009 в 19:38)
| | не было знаков, кроме:
И в чем проблема, добавьте все знаки, которые вам нужны в паттерн. | |
|
|
|
|
|
|
|
для: Maxam
(04.05.2009 в 19:38)
| | Обычно, чтобы не вспоминать что экранировать, а что нет используют функцию preg_quote()
if(!preg_match("/^[A-Za-z0-9".preg_quote('-~!@"#№$%^:&?*()_=+[{]};<,>./\|')."]+$/iu", $_POST[name])) {}
|
| |
|
|
|
|
|
|
|
для: cheops
(05.05.2009 в 00:22)
| | только тут тонкость.
Функция preg_quote() сама по себе входящий ограничитель / не заэкранирует, т.к. не знает о его специальном применении.
его придется выносить из-под preg_quote и экранировать руками. | |
|
|
|
|
|
|
|
для: Maxam
(04.05.2009 в 19:38)
| | Чтож, спасибо всем за помощь! | |
|
|
|