Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.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,我正在使用PHP,有一个字符串,我需要验证它必须是 只有A-Z和0-9 它本身没有一个字符 不能只是数字本身 可能只是字母本身 我认为只有A-z和0-9的正则表达式是正确的,这是 if(preg_match('/[^a-z_\-0-9]/i', $string)) { echo "not valid string"; } 但是我如何添加到这个文件中,以确保它至少有两个字符长呢 ^[a-zA-Z0-9]{2,}$ start string, any character in a-z o

我正在使用PHP,有一个字符串,我需要验证它必须是

  • 只有A-Z和0-9
  • 它本身没有一个字符
  • 不能只是数字本身
  • 可能只是字母本身
我认为只有A-z和0-9的正则表达式是正确的,这是

if(preg_match('/[^a-z_\-0-9]/i', $string))
{
  echo "not valid string";
}
但是我如何添加到这个文件中,以确保它至少有两个字符长呢

^[a-zA-Z0-9]{2,}$

start string, any character in a-z or A-Z or 0-9, matched two or more times, end string.

你可以用strlen()或whitematch来代替blackmatching
/^[a-z0-9.-]{2,}$/i
。这是什么编程语言?下面是用完美的语言更新的问题。如何添加到它,使它不能包含所有数字,但可以包含所有字母字符?