REGEX preg_match用于用户名

时间:2013-05-28 20:28:06

标签: php regex

有谁知道为什么在这个常规表达中:

$ name =“abcdefABCDF12345àáâäãåèéëëíîïòóôöõøùúûüÿýñçčšžÀÁÂÄÃÅ∂ð”$ []%& /()^ *?¿¨_-{}:;,。Ç“

 if(!preg_match("[a-zA-Z0-9àáâäãåèéêëìíîïòóôöõøùúûüÿýñçčšžÀÁÂÄÃÅÈÉÊËÌÍÎÏÒÓÔÖÕØÙÚÛÜŸÝÑßÇŒÆČŠŽ∂ð &\.\'-_]+", $name))
{
//is also matching []/()^*?:;,
}

在任何情况下,我应该如何设置允许& .'- _(是的,点和&也可以,但不是上面提到的)。

感谢。

2 个答案:

答案 0 :(得分:3)

'-_表示'_之间的所有字符 你需要逃避-。 (顺便说一下,你不需要逃避任何其他事情)

答案 1 :(得分:1)

逃离“ - ”。此外,您需要在开头和结尾添加分隔符。