10

请我想在 PHP 中使用正则表达式验证 Skype 名称。

注意:它必须介于 6-32 个字符之间,以字母开头并且仅包含字母和数字(没有空格或特殊字符)。

4

2 回答 2

18

这种模式应该适合你:

[a-zA-Z][a-zA-Z0-9\.,\-_]{5,31}

这将匹配一个前导字母,后跟任何字母数字组合,最多 6 - 32 个字符(对于整个字符串)。

你可以在 PHP 中使用它:

if (preg_match('/^[a-z][a-z0-9\.,\-_]{5,31}$/i', $name)) {
    // you have a valid name!
}

注意,在 中preg_match(),我添加了iregex 选项来忽略大小写。此外,我以开头^的模式表示模式必须从字符串的开头开始,并以 a 结尾以表示模式必须在字符串的末尾结束$

于 2012-10-05T13:12:17.277 回答
1

这将完成这项工作:

preg_match( '~^[a-z][a-z0-9]{5,31}$~i', $text)
于 2012-10-05T13:12:31.270 回答