Я использую библиотеку проверки формы в CodeIgniter. Ниже конфиг попробуйте включить все числа, английские слова, китайские слова и пробел. Но это не работа.
$config = array(
array(
'field' => 'keywords',
'label' => 'keywords',
'rules' => 'regex_match[/[a-zA-Z0-9 \u4e00-\u9fa5]+$/]'
)
);
Однако, если я выведу ‘u4e00- \ u9fa5’, это работа.
$config = array(
array(
'field' => 'keywords',
'label' => 'keywords',
'rules' => 'regex_match[/[a-zA-Z0-9 ]+$/]'
)
);
В этом регулярном выражении есть три вопроса:
^
или же \A
, Также целесообразно заменить $
с самого конца якоря строки \z
(как $
также соответствует перед последним символом новой строки в строке).\uXXXX
нотация не поддерживается движком PHP regex. Однако вам не нужно указывать диапазон кодовых точек Unicode здесь. Китайские иероглифы в PHP PCRE регулярное выражение может быть определено с помощью свойства Unicode \p{Han}
./u
модификатор.Итак, используйте
/\A[a-zA-Z0-9\s\p{Han}]+\z/u
Или (чуть менее безопасно),
/^[a-zA-Z0-9\s\p{Han}]+$/u
PCRE не поддерживает \uFFFF
синтаксис. использование \x{FFFF}
вместо.
/[a-zA-Z0-9 \x{4e00}-\x{9fa5}]+$/