Скликивают рекламу, переходя по ней, и заполняя в форме обратной связи "Заказать звонок" несуществующие номера.
В начале я сделал ограничения в форме: чтобы отправка разрешалась только если в поле "Номер" будет 17 символов (сам российский номер и разные пробелы и скобки).
Спама стало меньше. Но он не перестал приходить. Спамер теперь вводит все 11 цифр российского номера, но ставит после +7 цифры, которые в России не используются.
В РФ после цифры +7 могут идти цифры: 9, 4, 8, 3. Спамер же вводит цифры: 1, 2, 5, 6, 7, 0. Т.е. телефон получается такого вида:
+7 (333) 873 45 45 (недействительный)
Видимо, не хочет спамить существующими номерами, чтобы избежать лишних проблем.
Я пытался исправить ситуацию с помощью регулярок.
Вот моя форма:
[[!AjaxForm?
&form=`tpl.AjaxForm-modphone`
&snippet=`FormIt`
&hooks=`validate,modB24CRM,rcv3,email,`
&modB24CRMHook=`form-modphone2`
&emailSubject=`Заказ звонка с сайта`
&emailTo=`[[++all_email]]`
&emailFrom=`info@pochta.ru`
&emailTpl=`contaktTpl-modphone`
&validate=`tel:required:minLength=^17^`
&validationErrorMessage=`В форме содержатся ошибки!`
&successMessage=`Спасибо, ваша заявка принята.`
]]
Я пытался к элементу
&validate=`tel:required:minLength=^17^` добавить следующие регулярные выражения:
&validate=`tel:required:minLength=^17^:regexp=^\+7\s*\(?[3489]`
&validate=`tel:required:minLength=^17^:regexp=^\+7\s\(([3489])\d{2}\)`
&validate=`tel:required:minLength=^17^:regexp=^\+7\s\(([3489])\d{2}\)\s\d{3}\s\d{4}$`
Форма вообще не отправляется.
Как решить проблему?