[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: помогите с регулярными выражениями
NasGull
в общем надо, что бы строка состояла только из 13 символов, и только из цифр... как реализовать такую проверку?

заранее спасибо



Спустя 8 минут, 24 секунды (19.07.2011 - 20:26) bulgakov написал(а):
Например как-то так:

$str = 'some string';
$str *= 1;
if(strlen($str)<=13){
echo 'yes';
}

Спустя 3 минуты, 14 секунд (19.07.2011 - 20:29) waldicom написал(а):
Цитата (bulgakov @ 19.07.2011 - 18:26)
Например как-то так:

$str = 'some string';
$str *= 1;
if(strlen($str)<=13){
echo 'yes';
}

Что это?

Спустя 3 минуты, 49 секунд (19.07.2011 - 20:33) bulgakov написал(а):
Поправлю:

$str = '1234567890123';
$str *= 1;
if(strlen($str)==13){
echo 'yes';
}

Спустя 3 минуты, 54 секунды (19.07.2011 - 20:37) waldicom написал(а):
Цитата (bulgakov @ 19.07.2011 - 18:33)
Поправлю:

$str = '1234567890123';
$str *= 1;
if(strlen($str)==13){
echo 'yes';
}

Что это 2

Спустя 1 минута, 53 секунды (19.07.2011 - 20:39) bulgakov написал(а):
берем строку, делаем число, и проверяем в нем количество символов, что ТС написал то и есть, или что-то не так? поправьте тогда пожалуйста.

Спустя 7 минут, 18 секунд (19.07.2011 - 20:46) NasGull написал(а):
хотелось бы проверку именно регулярными выражениями )

Спустя 2 минуты, 4 секунды (19.07.2011 - 20:48) waldicom написал(а):
Цитата (bulgakov @ 19.07.2011 - 18:39)
берем строку, делаем число, и проверяем в нем количество символов, что ТС написал то и есть, или что-то не так?

Меня удивило вот это:
$str = 'some string';
$str *= 1;

Сопровождать вот такой вот код - это капец. Тонее даже удивило вот это:
Цитата
берем строку, делаем число

У меня возникает, надеюсь, законный вопрос - а нафига из строки делать число?

Спустя 1 минута, 2 секунды (19.07.2011 - 20:49) bulgakov написал(а):
Цитата
в общем надо, что бы строка состояла только из 13 символов

Цитата
У меня возникает, надеюсь, законный вопрос - а нафига из строки делать число?

Я же говорю что написал ТС то и сделал)



Спустя 1 минута, 41 секунда bulgakov написал(а):
Если бы он написал например - нужна проверка числа которое должно состоять только из 13 знаков, тогда другое дело, но он написал:
Цитата
в общем надо, что бы строка состояла только из 13 символов, и только из цифр

вот поэтому я так и сделал. Мысли я читать не умею.



Спустя 2 минуты, 22 секунды bulgakov написал(а):
Тем более если например он будет принимать это постом то там полюбому надо будет привести к числу.

Спустя 3 минуты, 5 секунд (19.07.2011 - 20:53) waldicom написал(а):
Цитата (bulgakov @ 19.07.2011 - 18:51)
только из 13 символов, и только из цифр

Я понимаю это так, что строка должна состоять из 13 цифр. Не более и не менее. Но надо автора дождаться.

Спустя 3 минуты, 58 секунд (19.07.2011 - 20:57) Winston написал(а):
Так с помощью регэкспа:
$str = '1234567891234';
if(!preg_match("#^[0-9]{13}$#", $str))
echo 'no';
else
echo 'yes';

Спустя 13 секунд (19.07.2011 - 20:57) NasGull написал(а):
дада, эта строка должна состоять из 13 цифр, и если она состоит из 13 символов, и эти символы только цифры - она записывается в базу, иначе выводит сообщение об ошибке

Спустя 5 секунд (19.07.2011 - 20:57) bulgakov написал(а):
Цитата
Я понимаю это так, что строка должна состоять из 13 цифр

Ну это может мы понимаем, но написано то было про Строку И Цифры) Поэтому если ТС уточнит то можно переделать, и да что за страсть к регуляркам? Хотя может и с ней красивее будет не знаю... я в них не силен и пока находил способы обходится без них.

Спустя 31 секунда (19.07.2011 - 20:57) NasGull написал(а):
PHPprogrammer
спасибо)

Спустя 25 секунд (19.07.2011 - 20:58) bulgakov написал(а):
NasGull
Тогда еще проще:

$str = 1234567890123;
if(strlen($str)==13){
echo 'yes';

Спустя 1 минута, 21 секунда (19.07.2011 - 20:59) bulgakov написал(а):
И по моему в такой элементарной задаче регексп смотрится более громоздко... или мне так кажется...

Спустя 42 секунды (19.07.2011 - 21:00) waldicom написал(а):
Цитата (bulgakov @ 19.07.2011 - 18:58)
NasGull
Тогда еще проще:

$str = 1234567890123;
if(strlen($str)==13){
echo 'yes';

bulgakov, это такой тонкий стёб, я понял. Чего я не понял, где в твоем пример проверяется, что строка состоит из цифр

Спустя 19 секунд (19.07.2011 - 21:00) NasGull написал(а):
bulgakov
если в строке будет содержаться буковка?

Спустя 2 минуты, 6 секунд (19.07.2011 - 21:02) Winston написал(а):
Или же
$str = '1234567891234';
if(is_numeric($str) && strlen($str) == 13)
echo 'yes';
else
echo 'no';

Спустя 1 минута, 5 секунд (19.07.2011 - 21:03) bulgakov написал(а):
Тьфу ты:

$str = '1234567890123';
if(strlen($str)==13 and is_numeric($str)){
echo 'yes';
}

например так



Спустя 33 секунды bulgakov написал(а):
PHPprogrammer
Опередил, засыпаю уже smile.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.