文件扩展名列表的PRIG_MATCH

2022-03-29 00:00:00 php preg-match

我构建了一个简单的正则表达式来验证逗号分隔的文件扩展名列表(逗号字符前后也可以有一个或多个空格),我想听听您的意见。

此正则表达式应返回下列值:

$list = 'jpg,png,gif'; // valid
$list = 'jpg   , png, gif'; // valid
$list = 'jpg'; // valid
$list = 'jpg, png, gif'; // valid
$list = 'jpg png, gif'; // INVALID
$list = 'jpg png'; // INVALID

我使用的是下面的正则表达式,您觉得如何?它可以优化或缩短吗?

if(!preg_match( '#^[0-9a-zA-Z]+([ ]*,[ ]*[0-9a-zA-Z]+)*$#' , $list))
{
    echo 'invalid extension list';
} else{
    echo 'valid extension list';
}

感谢您的好建议


解决方案

您也可以稍微缩短一点:

preg_match('#^w+(s*,s*w+)*$#' , $list)

相关文章