Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/275.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 用于用户登录验证的正则表达式_Php_Regex - Fatal编程技术网

Php 用于用户登录验证的正则表达式

Php 用于用户登录验证的正则表达式,php,regex,Php,Regex,我试图使用正则表达式检查用户名是否有效。要使用户名有效,其长度必须介于2到10个字符之间。它必须以小写字母开头,并且只能由小写字母、大写字母或数字组成 这是我到目前为止所拥有的 return preg_match("/^[a-z]([a-zA-Z0-9]{2,10})$/", $name); 为了保持一致性,您的捕获表达式应该包含您的整个用户名(在您的情况下,您将跳过第一个字母)。您还注意到,您只需要在下半部分使用{1,9}: ^([a-z]{1}[a-zA-Z\d]{1,9})$ 这是匹

我试图使用正则表达式检查用户名是否有效。要使用户名有效,其长度必须介于2到10个字符之间。它必须以小写字母开头,并且只能由小写字母、大写字母或数字组成

这是我到目前为止所拥有的

return preg_match("/^[a-z]([a-zA-Z0-9]{2,10})$/", $name);

为了保持一致性,您的捕获表达式应该包含您的整个用户名(在您的情况下,您将跳过第一个字母)。您还注意到,您只需要在下半部分使用
{1,9}

^([a-z]{1}[a-zA-Z\d]{1,9})$
  • 这是匹配一个小写字母开始,然后是1到9个
    a-zA-Z0-9
    s,并捕获整个用户名
修饰符(如果需要):
mg
(多行,全部匹配[当使用多行块进行测试时])


演示:

可能应该是
{1,9}
,因为您已经使用了第一个字母。很抱歉,3和8是我弄乱的旧值,我打算做2和10,我将尝试1和9,但您必须小心,因为此表达式将匹配名称“悉达多”中的“iddhartha”。你需要匹配整个单词,也许试着在名字前后留出一个空格?嘿,谢谢!!!更改边界是使其正常工作所需的全部。请查看此修改后的示例: