Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Проверка на буквы, цифры и символы.
 
 автор: Maxam   (04.05.2009 в 19:38)   письмо автору
 
 

Есть некая переменная $_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])) {}

  Ответить  
 
 автор: AcidTrash   (04.05.2009 в 20:15)   письмо автору
 
   для: Maxam   (04.05.2009 в 19:38)
 

не было знаков, кроме:
И в чем проблема, добавьте все знаки, которые вам нужны в паттерн.

  Ответить  
 
 автор: cheops   (05.05.2009 в 00:22)   письмо автору
 
   для: Maxam   (04.05.2009 в 19:38)
 

Обычно, чтобы не вспоминать что экранировать, а что нет используют функцию preg_quote()
if(!preg_match("/^[A-Za-z0-9".preg_quote('-~!@"#№$%^:&?*()_=+[{]};<,>./\|')."]+$/iu", $_POST[name])) {}

  Ответить  
 
 автор: Trianon   (05.05.2009 в 08:38)   письмо автору
 
   для: cheops   (05.05.2009 в 00:22)
 

только тут тонкость.
Функция preg_quote() сама по себе входящий ограничитель / не заэкранирует, т.к. не знает о его специальном применении.
его придется выносить из-под preg_quote и экранировать руками.

  Ответить  
 
 автор: Maxam   (10.05.2009 в 13:16)   письмо автору
 
   для: Maxam   (04.05.2009 в 19:38)
 

Чтож, спасибо всем за помощь!

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования