Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/248.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 preg_match和regex:仅使用连字符、数字或字母以及至少6个字符的小写字母?_Php_Regex_Preg Match_Lowercase - Fatal编程技术网

PHP preg_match和regex:仅使用连字符、数字或字母以及至少6个字符的小写字母?

PHP preg_match和regex:仅使用连字符、数字或字母以及至少6个字符的小写字母?,php,regex,preg-match,lowercase,Php,Regex,Preg Match,Lowercase,我只想接受带有连字符、数字或字母以及至少6个字符的小写字母的输入。但只要输入长度超过6个字符,下面的正则表达式就接受大写 $user_name = 'BloggerCathrin'; if(!preg_match('/([a-z0-9]{6}|[a-z0-9\-]{6})/', $user_name)) { echo 'please use lowercaps only, either with hyphens, numbers, or alphabets, and at least

我只想接受带有连字符、数字或字母以及至少6个字符的小写字母的输入。但只要输入长度超过6个字符,下面的正则表达式就接受大写

$user_name = 'BloggerCathrin';

if(!preg_match('/([a-z0-9]{6}|[a-z0-9\-]{6})/', $user_name))
{
    echo 'please use lowercaps only, either with hyphens, numbers, or alphabets, and at least 6 characters.';
}

如何修复此问题?

在开始处使用
^
锚定字符串,在结束处使用
$
锚定字符串

"/^[a-z0-9-]{6,}$/"

^
开头和
$
结尾锚定字符串

"/^[a-z0-9-]{6,}$/"

如果模式需要从头到尾匹配整个字符串,则需要将其包装在
^
$
中:

      /^([a-z0-9]{6}|[a-z0-9\-]{6})$/
start -´                           `- end
发件人:

^
-断言主题的开头(或多行模式下的行)
$
-断言主题结尾或在终止换行符之前(或多行模式下的行结尾)


如果您至少有六个字符(也可以压缩),则您的模式可能如下所示:

 /^[a-z0-9-]{6,}$/
             ```- minimum: 6, maximum: unspecified (empty)

如果模式需要从头到尾匹配整个字符串,则需要将其包装在
^
$
中:

      /^([a-z0-9]{6}|[a-z0-9\-]{6})$/
start -´                           `- end
发件人:

^
-断言主题的开头(或多行模式下的行)
$
-断言主题结尾或在终止换行符之前(或多行模式下的行结尾)


如果您至少有六个字符(也可以压缩),则您的模式可能如下所示:

 /^[a-z0-9-]{6,}$/
             ```- minimum: 6, maximum: unspecified (empty)

你可以参加部分比赛。如果需要从头到尾匹配整个字符串,请使用
/^…$/
。可以进行部分匹配。如果您需要从开始到结束匹配整个字符串,请使用
/^…$/
。如果我正确回答您的问题,您还需要更改模式。
/^([a-z0-9]{6}|[a-z0-9\-]{6})$/
只需要6个字符,我需要6个以上的字符。@lauthiamkok:Refresh,您应该会看到一个编辑,这正是我的意思。如果我没弄错你的问题,你也需要改变你的模式。
/^([a-z0-9]{6}|[a-z0-9\-]{6})$/
只需要6个字符,我需要6个以上…@lauthiamkok:刷新,你应该看到一个编辑,这正是我的意思。