Проверка корректности (валидности) кошелька PAYEER


В онлайн играх с выводом денег нередко этот самый ввод денег реализован на систему PAYEER. Также нередко при этом у пользователей нет возможности изменить кошелек в платежных данных – это сделано для их же безопасности. Но, опять же нередко, эти самые пользователи ошибаются при наборе или копировании номера кошелька PAYEER и вводят вообще что-то непонятное. Именно для предотвращения подобных случаев и реализована функция проверки валидности кошелька PAYEER.

Не буду томить, вот код данной функции, который используется во многих онлайн игрушках, фермах и буксах:

function ViewPurse($purse){		
		if( substr($purse,0,1) != "P" ) return false;
		if( !ereg("^[0-9]{7}$", substr($purse,1)) ){
		  if( !ereg("^[0-9]{8}$", substr($purse,1)) ) return false;
        }	
return $purse;
	}
Функция получает на вход номер счета в системе PAYEER, а на выходе, в зависимости от результата, выдает либо false, либо обратно номер. Сначала проверяется наличие буквы “P”, затем семи цифр, потом восьми – для старых и новых кошельков.

Все бы хорошо, но на хостингах с PHP 5.3 и выше вы получите ошибку:

Ошибка Deprecated: Function ereg() is deprecated in...

Это значит, что функция ereg() - увы, устаревшая. Надо заменить на preg_match(). То есть нам надо переписать ViewPurse таким образом:

function ViewPurse($purse){		
		if( substr($purse,0,1) != "P" ) return false;
		if( !preg_match("/^[0-9]{7}$/", substr($purse,1)) ) {
		if( !preg_match("/^[0-9]{8}$/", substr($purse,1)) ) return false;
        }	
return $purse;
	}
Результат работы данной функции будет таким же, как и первой.

Итак, если вам требуется помощь по вашему проекту онлайн игры, скрипта фермы или букса – что-то не перестало работать, расширить функционал – пишите мне. За небольшую плату вам помогу.
Автор этого материала - я - Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.

тегизаметки, PAYEER, php




Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.




Откуда реклама на сайте?
Интеграция безопасности в DevOps: советы по включению
Урок 10. Инлайн стили, классы и условия в Vue.js