preg_match允许反斜杠的问题

时间:2013-01-17 03:16:20

标签: php regex

我遇到了preg_match()和反斜杠的奇怪问题。我正在尝试检查非法字符的用户名。它适用于几乎所有的东西,但显然像'BobDobbs'这样的用户名正在通过。

我已经设法使用strpos()轻松解决问题,但我仍然不确定我的语法有什么问题。运行PHP 5.3.10。

$displayname = 'BobDobbs\\\\';
if(preg_match("/[^A-z0-9_.-]/", $displayname)) {
    $errors[] = 'Name contains illegal characters';
}

1 个答案:

答案 0 :(得分:8)

范围A-z包含\字符。我认为你正在寻找a-zA-Z

A为65,z为122,\为92。)