0

我有一个格式的用户名,比如:“mySite”,并带有一个数字后缀。

我需要检查输入的用户名是否与该格式匹配。

我使用 preg_match 匹配字符串,如下所示:

if(!(preg_match("/^[mySite]([0-9])+$/", $loginName)))

    echo "Error";

但是,我没有得到想要的结果。

上面的表述正确吗?

4

3 回答 3

2

不。尝试

preg_match('/^mySite\d+$/', $loginName)

[mySite]将匹配任何字母 m,y,S,i,t,e。而且只有其中之一。

于 2012-08-05T06:59:22.173 回答
1

这应该有效:

if(!(preg_match("/^mySite([0-9])+$/", $loginName)))

    echo "Error";
于 2012-08-05T06:59:18.913 回答
1

去掉周围的括号mySite。否则,您只是匹配单个字符,即m, y, S, i,te.

于 2012-08-05T06:59:20.617 回答