В Битриксе есть возможность задать условия проверки вводимых пользователем данных в поля заказа. Для этих целей есть несколько встроенных опций. Наиболее простые опции помогают проверить введенные данные на минимальное и максимальное количество символов. А для более сложных проверок есть специальное поле для использования регулярных выражений для того, чтобы можно было проверять введенные пользователем данные на корректность заполненности поля. Работает данный функционал по следующему принципу: 1) если настроен AJAX режим – при потере фокуса на поле производится проверка валидности ввода, 2) без AJAX режима – проверка производится перед сохранением формы, и елси поле не прошло валидацию, то возвращается ошибка.
Настроить регулярные выражения можно в админской панели на странице списка свойств Магазин -> Настройки -> Свойства заказа -> Список свойств. Далее выбираем для редактирования нужное поле и в нижней части формы редактирования находим поле “Регулярное выражение для проверки”. В это поле нужно поместить строку регулярного выражения по аналогии как в PHP функции preg_match.
Ниже приведу регулярные выражения для проверки популярных полей заказа.
Поле ФИО
Ниболее популярны варианты чтобы в поле ФИО обязательно присутстствовали три слова, или как минимум два.
Выражение для проврки на обязательное наличие трех слов в поле
^\D{3,}\s\D{3,}\s\D{3,}$
Выражение для проврки на обязательное наличие двух слов в поле
^\D{3,}\s\D{3,}(\s\D{3,})?$
Поле Телефон
Тут мы будем проверять поле телефон по схеме: начинается с +7, 7 или 8, и далее содержит 10 числовых символов не считая пробелов, скобок, тире и прочих символов (прочие символы мы просто пропускаем и не учитываем в регулярном выражении, нам важно, чтобы было наличие нужно количества числовых символов).
^(\+7|7|8)+((\D{0,2})(\d)){10,10}$
Поле Email
^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9-]+.+.[a-zA-Z]{2,4}$
Пишите в комментариях какие еще регулярные выражения по вашему мнению трубеются в работе, я добавлю их в пост.