我有一个格式的用户名,比如:“mySite”,后面加了一个数字。
我需要检查输入的用户名是否与该格式匹配。
我使用preg_match匹配字符串如下:
if(!(preg_match("/^[mySite]([0-9])+$/", $loginName)))
echo "Error";
但是,我没有得到预期的结果。
上面的表达是否正确?
答案 0 :(得分:2)
没有。尝试
preg_match('/^mySite\d+$/', $loginName)
[mySite]
将匹配任何字母m,y,S,i,t,e。而且只有其中一个。
答案 1 :(得分:1)
这应该有效:
if(!(preg_match("/^mySite([0-9])+$/", $loginName)))
echo "Error";
答案 2 :(得分:1)
删除mySite
周围的括号。否则,您只需将单个字符与m
,y
,S
,i
,t
或{{1}匹配即可}。