无连续空格 RegEx 组 PHP
No Consecutive Spaces RegEx Group PHP
^([A-Za-z0-9 ]){8,12}
如何将其变成可以在任何位置但不是连续的空格的东西?
我估计:
A L L 0 W E D
N O T A L L 0 W E D # Note two spaces between `not` and `allowed`
您可以使用 lookahead/behind 技术,如下所示: '/^([A-Za-z0-9]| (?! )){8,12}/'
。这意味着我们期望 A-Z、a-z 和 0-9 或 space,但后面没有 space。看看结果:
$strs = array(
'12345678',
'A L L 0 W E D',
'N O T A L L 0 W E D' # Note two spaces between `not` and `allowed`
);
$preg = '/^([A-Za-z0-9]| (?! )){8,12}/';
foreach ($strs as $str) {
var_dump(preg_match($preg, $str));
}
return;
会return:
int(1)
int(1)
int(0)
^([A-Za-z0-9 ]){8,12}
如何将其变成可以在任何位置但不是连续的空格的东西?
我估计:
A L L 0 W E D
N O T A L L 0 W E D # Note two spaces between `not` and `allowed`
您可以使用 lookahead/behind 技术,如下所示: '/^([A-Za-z0-9]| (?! )){8,12}/'
。这意味着我们期望 A-Z、a-z 和 0-9 或 space,但后面没有 space。看看结果:
$strs = array(
'12345678',
'A L L 0 W E D',
'N O T A L L 0 W E D' # Note two spaces between `not` and `allowed`
);
$preg = '/^([A-Za-z0-9]| (?! )){8,12}/';
foreach ($strs as $str) {
var_dump(preg_match($preg, $str));
}
return;
会return:
int(1)
int(1)
int(0)