我遇到了一个奇怪的问题preg_match()和反斜杠。我正在检查用户名中是否有非法字符。它可以处理几乎所有的东西,但显然像“bobdobs”这样的用户名正在通过。
我已经用strps()很容易地解决了这个问题,但是我仍然不确定我的语法有什么问题。运行php 5.3.10。

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

最佳答案

范围A-z包含\字符。我想你要找的是a-zA-Z
A为65,z为122,\为92。)

09-10 11:43
查看更多