Помогите с составлением паттерна

Статус
В этой теме нельзя размещать новые ответы.

SaBo

Новичок
Помогите с составлением паттерна

В общем-то всё легко, но у меня патологическое непонимание регэкспов.
Задача пропустить строку имеющую символы 0-9a-zA-z и символы '-' и '_'
Вроде, всё правильно делаю (здесь не учёл символ '-', но смысл вопроса от этого мало меняется):

PHP:
  if(!preg_match("/^[0-9a-z_]/i",$name) || !preg_match("/^[0-9a-z_]/i",$login))
  {
	$template->error[]='В имени базы данных или логине использованы недопустимые символы!';
	return false;
  }
Но это дело почему-то не работает... Поправьте, плиз ))
PHP:
d
 

A1x

Новичок
может надо делать привязку не только к началу строки ^ но и к концу?
 

freeek

Новичок
Re: Помогите с составлением паттерна

Автор оригинала: SaBo
В общем-то всё легко, но у меня патологическое непонимание регэкспов.
Задача пропустить строку имеющую символы 0-9a-zA-z и символы '-' и '_'
Вроде, всё правильно делаю (здесь не учёл символ '-', но смысл вопроса от этого мало меняется):

PHP:
  if(!preg_match("/^[0-9a-z_]/i",$name) || !preg_match("/^[0-9a-z_]/i",$login))
  {
	$template->error[]='В имени базы данных или логине использованы недопустимые символы!';
	return false;
  }
Но это дело почему-то не работает... Поправьте, плиз ))
PHP:
d
PHP:
if(preg_match('%[^a-z0-9_-]%i', $name . $login))
{
	$template->error[]='В имени базы данных или логине использованы недопустимые символы!';
	return false;
}
-~{}~ 04.11.09 22:32:

квалификатор, я думаю здесь не нужен, так как нас интерисует хотя бы один неразрешенный символ симфол
 

Beavis

Banned
freeek
Молодец!
Можно я к тебе в будущем тоже буду обращаться когда будет лень самому составлять регулярки?
 

Beavis

Banned
freeek
Домен regexbuddy.com мне нафиг не нужен)
А программа эта у меня есть.
Просто если ты любишь делать работу за других, я лучше к тебе обращусь) Зачем мне свои силы тратить))
 

freeek

Новичок
да я понятно о чем, ты, толкуешь))
просто, лень было расписывать,- "что, как и почему"
 

SaBo

Новичок
Re: Re: Помогите с составлением паттерна

Автор оригинала: freeek
PHP:
if(preg_match('%[^a-z0-9_-]%i', $name . $login))
{
	$template->error[]='В имени базы данных или логине использованы недопустимые символы!';
	return false;
}
-~{}~ 04.11.09 22:32:

квалификатор, я думаю здесь не нужен, так как нас интерисует хотя бы один неразрешенный символ симфол
Спасибо огромное! :)
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
Тема закрыта.

Проблемы личного характера и бессмысленные споры между участниками не являются предметом обсуждения форума.
Обсуждайте их в привате.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху