【发布时间】:2012-10-05 13:03:38
【问题描述】:
我想在 PHP 中使用正则表达式验证 Skype 名称。
注意:它必须介于 6-32 个字符之间,以字母开头,并且只能包含字母和数字(没有空格或特殊字符)。
【问题讨论】:
我想在 PHP 中使用正则表达式验证 Skype 名称。
注意:它必须介于 6-32 个字符之间,以字母开头,并且只能包含字母和数字(没有空格或特殊字符)。
【问题讨论】:
这个模式应该适合你:
[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() 中,我添加了i 正则表达式选项来忽略大小写。另外,我用^ 引导模式,表示模式必须从字符串的开始 开始,我以$ 结束,表示模式必须在结束字符串。
【讨论】:
这样就可以了:
preg_match( '~^[a-z][a-z0-9]{5,31}$~i', $text)
【讨论】: