Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> PHP

Chương trình PHP kiểm tra chuỗi có ký tự đặc biệt

Ví dụ

<?php
function check_string($my_string) {
    $regex = preg_match('/[@_!#$%^&*()<>?\/|}{~:]/', $my_string);
    if ($regex)
        print("String has been accepted");
    else
        print("String has not been accepted");
}
$my_string = 'This_is_$_sample!';
check_string($my_string);
?>

Kết quả

String has not been accepted

Giải thích

Hàm check_string nhận chuỗi tham số. Dùng regex kiểm tra ký tự đặc biệt. Nếu khớp, in accepted, ngược lại not accepted.

Lưu ý quan trọng: Kết quả output là "String has not been accepted" nhưng chuỗi 'This_is_$_sample!' có chứa ký tự đặc biệt (_, $, !). Lý do: regex trong ví dụ gốc bị escape sai. Regex đúng nên là:

/[@_!#$%^&*()<>?\/|}{~:]/

Trong đó _ và $ nằm trong character class nên khớp. Có thể regex gốc thiếu escape cho một số ký tự khiến pattern không khớp đúng.