【发布时间】:2015-05-31 21:30:42
【问题描述】:
我正在开发一个 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;
}
}
【问题讨论】:
-
什么是不能正常工作的示例字符串?
-
以后可能会对你有所帮助:regexr.com
-
@DavidYue 谢谢!我会保留那个书签
标签: php regex codeigniter preg-match