我需要检查字符串是否还有下面指定的内容
其他一切不应该在这个字符串中有
我坚持这个:
preg_match('/^[\w]{4,35}$/i', $username)
答案 0 :(得分:7)
if( !preg_match('/^[a-zA-Z][a-zA-Z0-9_,.-]*$/', $username ))
echo "failed\n";
答案 1 :(得分:2)
preg_match('/^[\w]{4,35}$/i', $username)
确定让我们看看这不起作用:
匹配字符串的开头,然后匹配[a-zA-Z0-9_]至少4次,最多35次。这与您的要求完全不同。
相反,你应该使用:
/^[a-zA-Z][-,.\w]{3,34}$/
不需要区分大小写i修饰符。我也不认为这正是你想要的。通常你需要指定一个你不需要的最小长度。例如,这可以匹配“a”(不是一个好的用户名)