Я работаю над проектом CodeIgniter, выполняю пользовательскую проверку и не являюсь экспертом по регулярным выражениям.
До сих пор я провел простой тест, но, похоже, не могу сделать это правильно.
Эта проверка может содержать только A-Z a-z 0-9 и специальные символы, такие как:
@ ! # / $ % & ' * + - = ? ^ _ ` { | } ~ .
Я не могу ( ) [ ] : ; " < > , \
в моем контроллере:
public function test()
{
$this->form_validation->set_rules('communication_number', 'Communication Number', 'required|trim|xss_clean|callback_validate_communication_number');
$this->form_validation->set_message("validate_communication_number", "The %s field must only contain blah blah");
if ($this->form_validation->run() == false) {
echo validation_errors();
} else {
echo "Passed";
}
}
public function validate_communication_number($communication_number)
{
if (preg_match("/^[a-z0-9@\!\#\/$\%\&\'\*\+\-\/\=\?/^/_/`/{/|/}/~/.]+$/i", $communication_number)) {
return true;
} else {
return false;
}
}
Подробнее здесь: https://stackoverflow.com/questions/305 ... ern-of-php