Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 正则表达式;停止包含sysmbols的用户名?_Php_Regex - Fatal编程技术网

Php 正则表达式;停止包含sysmbols的用户名?

Php 正则表达式;停止包含sysmbols的用户名?,php,regex,Php,Regex,我正在寻找PHP中的一个符号正则表达式,它将检查提交的用户名,如果它们包含除下划线以外的符号,则拒绝它们?我希望它也支持数字 我不知道从哪里开始。。。我试过上网,但没有成功。提前谢谢。如果你能给我一个正确的方向,我将不胜感激 /^\w+$/ 在PHP中: echo preg_match('/^\w+$/',$username); 我鼓励你学习 注意:如果您没有包含下划线,我建议您避免使用正则表达式。这是您要查找的正则表达式: /[^A-Za-z0-9_]+$/ 如果您希望只接受字母数字,可

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

我不知道从哪里开始。。。我试过上网,但没有成功。提前谢谢。如果你能给我一个正确的方向,我将不胜感激

/^\w+$/
在PHP中:

echo preg_match('/^\w+$/',$username);
我鼓励你学习


注意:如果您没有包含下划线,我建议您避免使用正则表达式。

这是您要查找的正则表达式:

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

如果您希望只接受字母数字,可以使用此/^[A-z0-9\]+$/

使用:

希望能有所帮助

 ^[a-z0-9_]{3,20}$ 
这是我用java做的,希望你不介意数字 我也定义了长度,

我会说:

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

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

它将接受至少包含一个数字或字字符的任何字符串,因为数字是字字符,\d是冗余的。
preg_match('/^[\pL\pN_]+$/u', $string);
\pL  stands for any letter
\pN  stands for any digit