Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > регялурное выражение проверки валидности ключа


Автор: Coder 28.7.2010, 03:31
В качестве первоначальной проверки ввода данных думаю сделать проверку валидности ключа вида:
B-0003-G528T-6XMS3-D66C7

Помогите составить регулярное выражение!

Ключ по полям:
{B,P}-{0003,0010,2000}-Z2PJD-TJBG2-3BCE9

{B,P} - один из символов
{0003,0010,2000} - один из вариантов числа
Z2PJD-TJBG2-3BCE9 - набор из любых цифр / английских символов.

каждое поле ключа разделяется "-"

Спасибо!

Автор: NLspieler 28.7.2010, 07:45
Код


$str = 'B-0003-G528T-6XMS3-D66C7' ;   //Строка для проверки

//Ругулярка
$ales_ok = preg_match ('#^(B|P)-((0003)|(0010)|(2000))-[A-Z0-9]{5}-[A-Z0-9]{5}-[A-Z0-9]{5}$#' , $str) ;

if ($ales_ok) echo 'all right' ;
else          echo 'false' ;


Цитата

набор из любых цифр / английских символов.

Буквы только большие или маленькие тоже подойдут?

Автор: Coder 28.7.2010, 07:50
Цитата(NLspieler @  28.7.2010,  15:45 Найти цитируемый пост)
Буквы только большие или маленькие тоже подойдут?


только большие могут быть в ключе.

Автор: NLspieler 28.7.2010, 07:52
Цитата(Coder @  28.7.2010,  07:50 Найти цитируемый пост)
только большие могут быть в ключе. 

Значит мой работает

Автор: Coder 28.7.2010, 08:03
Спасибо, работает! +

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)