正则表达式;停止包含符号的用户名

时间:2012-06-15 16:44:06

标签: php regex

我正在寻找PHP中的符号正则表达式,它将检查提交的用户名并拒绝它们,如果它们包含下划线以外的符号?我也希望它也支持数字。

我不知道从哪里开始......我试过在网上寻找,但没有优势。提前致谢。如果你能给我一个正确的方向,我会非常感激。

6 个答案:

答案 0 :(得分:1)

/^\w+$/

在PHP中:

echo preg_match('/^\w+$/',$username);

我鼓励您学习Regular Expressions

注意:如果您不包括下划线,我建议ctype_alnum()并避免使用正则表达式。

答案 1 :(得分:0)

这是您正在寻找的正则表达式:

/[^A-Za-z0-9_]+$/

答案 2 :(得分:0)

function validate($str){
   return preg_replace("/[^a-zA-Z0-9\_]/", "", $str);
}

答案 3 :(得分:0)

如果你只想接受字母数字,你可以使用这个/ ^ [A-z0-9 _] + $ /

使用:

$pattern_char = /^[A-z0-9_]+$/;

if(preg_match($pattern_char ,$_POST['newname'])
{
// do stuff
}

希望有所帮助

答案 4 :(得分:0)

 ^[a-z0-9_]{3,20}$ 

这是我在java中的方式,希望你不介意数字 我也定义了一个长度,

答案 5 :(得分:0)

我会说:

preg_match('/^[\pL\pN_]+$/u', $string);

其中:

\pL  stands for any letter
\pN  stands for any digit