preg_match允许反斜杠的问题

Rev*_*oah 3 php regex

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

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

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

Ry-*_*Ry- 8

范围A-z包含\角色.我想你正在寻找a-zA-Z.

(A是65,z是122,\是92.)