@patsanchique

Как проверить переменную двумерным массивом регулярных выражений?

подскажите пожалуйста, как проверять в таком случае
$schemes = [
        'MASTERCARD' => [
            '/^5[1-5][0-9]{14}$/',
            '/^2(22[1-9][0-9]{12}|2[3-9][0-9]{13}|[3-6][0-9]{14}|7[0-1][0-9]{13}|720[0-9]{12})$/',
        ]
    ];
  • Вопрос задан
  • 58 просмотров
Решения вопроса 1
KorniloFF
@KorniloFF
Работаю по font-end / JS
Как вариант:
$schemes = [
	'MASTERCARD' => [
		'/^5[1-5][0-9]{14}$/',
		'/^2(22[1-9][0-9]{12}|2[3-9][0-9]{13}|[3-6][0-9]{14}|7[0-1][0-9]{13}|720[0-9]{12})$/',
	]
];
$flag= null;
$data= '123456';

array_walk($schemes['MASTERCARD'], function(&$v, $k) use($flag, $data){
	if(!empty($flag)) return;
	$flag= preg_match($v, $data);
});

if(!empty($flag))
	echo "OK!";
else
	echo "FAIL!";


Либо можете попробовать такой вариант:
$data= '123456';
preg_replace($schemes['MASTERCARD'], 'OK', $data, 1, $success);
if($success)
	echo "OK!";
else
	echo "FAIL!";
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@FanatPHP
Чебуратор тега PHP
В цикле.
Все операции над массивами производятся в цикле.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы