Kiểm tra toàn bộ chuỗi với regex trong PHP
Thường thì preg_match được sử dụng để
kiểm tra xem toàn bộ chuỗi có khớp với biểu thức chính quy
hay không. Trong trường hợp như vậy, ở đầu regex
nên đặt ký tự mũ ^, và ở cuối
- ký tự đô la $. Điều này cho biết rằng
toàn bộ chuỗi phải khớp với mẫu.
Hãy lấy ví dụ để xác định xem một chuỗi
có hoàn toàn được tạo thành từ chữ cái
'a' hay không:
<?php
echo preg_match('#^a+$#', 'aaaa'); // sẽ hiển thị 1
echo preg_match('#^a+$#', 'aaab'); // sẽ hiển thị 0
?>
Xác định xem chuỗi được truyền vào có phải là một tên miền hay không. Sử dụng các chuỗi sau để kiểm tra:
<?php
$arr[] = 'site.ru'; // +
$arr[] = 'site.com'; // +
$arr[] = 'my-site.com'; // +
$arr[] = 'my-cool-site.com'; // +
$arr[] = 'my_site.com'; // +
$arr[] = 'site123.com'; // +
$arr[] = 'site.travel'; // +
$arr[] = 'si$te.com'; // -
$arr[] = 'site.r'; // -
?>
Xác định xem chuỗi được truyền vào có phải là một email hay không. Sử dụng các chuỗi sau để kiểm tra:
<?php
$arr[] = 'addr@mail.ru'; // +
$arr[] = 'addr123@mail.ru'; // +
$arr[] = 'my-addr@mail.ru'; // +
$arr[] = 'my_addr@mail.ru'; // +
$arr[] = 'addr@site.ru'; // +
$arr[] = 'addr.ru'; // -
$arr[] = 'addr@.ru'; // -
$arr[] = 'my@addr@mail.ru'; // -
?>