-3

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

我不知道从哪里开始......我试过在网上寻找,但没有成功。提前致谢。如果您能推动我朝着正确的方向前进,我将不胜感激。

4

6 回答 6

1
/^\w+$/

在 PHP 中:

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

我鼓励你学习正则表达式

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

于 2012-06-15T16:46:33.793 回答
0

我会说:

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

在哪里:

\pL  stands for any letter
\pN  stands for any digit
于 2012-06-15T16:56:07.587 回答
0

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

/[^A-Za-z0-9_]+$/
于 2012-06-15T16:48:59.663 回答
0
function validate($str){
   return preg_replace("/[^a-zA-Z0-9\_]/", "", $str);
}
于 2012-06-15T16:49:06.367 回答
0

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

利用:

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

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

希望有帮助

于 2012-06-15T16:49:11.257 回答
0
 ^[a-z0-9_]{3,20}$ 

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

于 2012-06-15T16:51:12.003 回答