Сделать авторизацию в Битриксе через маску по номеру телефона, для логина номера телефона состоящего из десяти цифр.
Например, +7 (***)***-**-**.
В файле init.php создаем событие которое ловит вводимые пользователем символы в поле авторизации.
Если поле логина не пустое, то берем значение и проверяем регулярным выражением, очищаем все ненужные символы, оставляем только цифры, т.к из -за маски в поле присутствуют символы тире и скобки. Затем проверяем длину строки с цифрами, если строка равна 10 символам то в поле логина присваевается значение введенное пользователем,учитывается для авторизации администраторов, где нет маски, если не равно 10 до убирается первое число, которое указано в маске по умолчанию.
$eventManager->addEventHandler("main", "OnBeforeUserLogin", Array("UserLoginModification", "OnBeforeUserLoginHandler")); class UserLoginModification { // создаем обработчик события "OnBeforeUserLogin" function OnBeforeUserLoginHandler(&$arFields) { if($arFields["LOGIN"] != '') { $rez = preg_replace('/[^0-9]/', '', $arFields["LOGIN"]); if(strlen($rez) == 10) { $arFields["LOGIN"] = $rez; }else $arFields["LOGIN"] = substr($rez, 1); } } }