PDA

Просмотр полной версии : проверка на валидность кошелька


felix_
16.11.2009, 00:03
нужно при регистарции проверить валидность wmz кошелька, вот такой код выводит "ok", если даже
$wm='f46';


if ((ereg("(z+[0-9]{12})", $wm )) or (ereg("(Z+[0-9]{12})", $wm )) )
{
echo "ok";
}
else
{
echo "fuck";
}

Deathdreams
16.11.2009, 00:49
$koshel = $_GET['wmz']; //тут способ получения кошеля
if(!preg_match('#Z[0-9]{12}#', trim($koshel))) die('Говно твой кошель');

echo 'Норма';

felix_
16.11.2009, 00:59
а если маленькая "z" в кошельке ?

diGriz
16.11.2009, 01:04
if(!preg_match('#Z[0-9]{12}#i', trim($wm))) die('Говно твой кошель');
echo 'Норма';

Deathdreams
16.11.2009, 01:15
а если маленькая "z" в кошельке ?

Можно, как показано в верхнем посту, поставить регистронезависимый знак.

Или просто сделать strtoupper();

b3
16.11.2009, 14:33
Есть одна большая ошибка в вашей регулярке:


<?php
$koshel = '121212121212 z123456789012';
if(!preg_match('#Z[0-9]{12}#i', trim($koshel)))
{
echo 'Неверный формат Z кошелька';
exit;
}
echo $koshel;
?>

Вывод:
121212121212 z123456789012


<?php
$koshel = '121212121212 z123456789012';
if(!preg_match('#^Z[0-9]{12}$#i', trim($koshel)))
{
echo 'Неверный формат Z кошелька';
exit;
}
echo $koshel;
?>

вывод:
Неверный формат Z кошелька.

Вы забыли указать начало и конеч строки в регекспе.

felix_
17.11.2009, 01:04
всем спасибо.

Deathdreams
17.11.2009, 22:38
b3
Так понял, что ТСу нужно парсить именно тогда, когда в сообщений только кошель.