РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
588 of 1392 menu

Правило regex

Правило regex применяется к полю формы и проверяет, соответствует ли его значение указанному регулярному выражению. Правило принимает один параметр - шаблон регулярного выражения в виде строки. Если значение поля не соответствует шаблону, валидация проваливается. Это правило полезно для проверки форматов данных, которые невозможно проверить другими правилами.

Синтаксис

<?php use Illuminate\Validation\Rule; use Illuminate\Http\Request; $request->validate([ 'field' => 'regex:/pattern/' ]); ?>

Пример

Давайте проверим, что поле 'username' содержит только буквы латинского алфавита и цифры:

<?php namespace App\Http\Controllers; use Illuminate\Http\Request; class UserController extends Controller { public function store(Request $request) { $validated = $request->validate([ 'username' => 'required|regex:/^[a-zA-Z0-9]+$/' ]); echo "Validation passed"; } } ?>

Результат выполнения кода при отправке корректных данных:

"Validation passed"

Если отправить значение 'user@123', валидация провалится, так как символ @ не разрешён шаблоном.

Пример

Давайте проверим, что поле 'phone' соответствует формату номера телефона:

<?php namespace App\Http\Controllers; use Illuminate\Http\Request; class ContactController extends Controller { public function store(Request $request) { $validated = $request->validate([ 'phone' => 'required|regex:/^\+?[0-9]{10,15}$/' ]); echo "Phone number is valid"; } } ?>

Результат выполнения кода при отправке корректного номера:

"Phone number is valid"

Пример

Давайте проверим, что поле 'postal_code' соответствует формату почтового индекса:

<?php namespace App\Http\Controllers; use Illuminate\Http\Request; class AddressController extends Controller { public function store(Request $request) { $validated = $request->validate([ 'postal_code' => 'required|regex:/^[0-9]{5}(-[0-9]{4})?$/' ]); echo "Postal code is valid"; } } ?>

Результат выполнения кода при отправке корректного индекса:

"Postal code is valid"

Пример

Давайте проверим, что поле 'ip' соответствует формату IPv4-адреса:

<?php namespace App\Http\Controllers; use Illuminate\Http\Request; class NetworkController extends Controller { public function store(Request $request) { $validated = $request->validate([ 'ip' => 'required|regex:/^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$/' ]); echo "IP address is valid"; } } ?>

Результат выполнения кода при отправке корректного адреса:

"IP address is valid"

Смотрите также

  • правило not_regex,
    которое проверяет, что значение не соответствует регулярному выражению
  • правило alpha,
    которое проверяет, что поле содержит только буквы
  • правило alpha_num,
    которое проверяет, что поле содержит только буквы и цифры
  • правило email,
    которое проверяет корректность email-адреса
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить