我已经在函数中使用了模式/[a-z0-9_]+/i
:
function validate_twitter($username) {
if (eregi('/[a-z0-9_]+/i', $username)) {
return true;
}
}
我用这个来测试输入是否是一个有效的Twitter用户名,但是我遇到了一些困难,因为它没有给我一个有效的结果。
有人能帮助我找到解决方案吗?
我已经在函数中使用了模式/[a-z0-9_]+/i
:
function validate_twitter($username) {
if (eregi('/[a-z0-9_]+/i', $username)) {
return true;
}
}
我用这个来测试输入是否是一个有效的Twitter用户名,但是我遇到了一些困难,因为它没有给我一个有效的结果。
有人能帮助我找到解决方案吗?
function validate_username($username)
{
return preg_match('/^[A-Za-z0-9_]{1,15}$/', $username);
}
@username
。RT @username: lorem ipsum @cjoudrey etc...
请使用以下内容:$string = 'RT @username: lorem ipsum @cjoudrey etc...';
preg_match_all('/@([A-Za-z0-9_]{1,15})/', $string, $usernames);
print_r($usernames);
ereg*
中使用/
。
实际上,如果可以避免,根本不要使用ereg*
。http://php.net/preg_match
编辑:还请注意,/[a-z0-9_]+/i
将匹配到spaces are invalid
和not-a-real-name
。 您几乎肯定需要使用/^[a-z0-9_]+$/i
。
Seregi()
不需要任何 /
或其他开关,只需使用 eregi('[a-z0-9_]+')
。
eregi
。建议您改用preg_match
,语法相同。尝试一下,看看是否有帮助。
preg_match的PHP文档:http://www.php.net/manual/en/function.preg-match.php
eregi的PHP文档:http://php.net/manual/en/function.eregi.php
Twitter用户名称由1到15个字符组成...因此使用/^[a-z0-9_]{1,15}$/i
会更好。