У меня есть вход, я хочу его проверить.
Он должен принимать только цифры и должен быть 16, не больше и не меньше.
Как я могу это сделать, используя php и regex?
регулярное выражение будет ^\d{16}$
^\d{16}$
preg_match("/^\\d{16}$/", $str);
Экспликация:
^
\d
{16}
$
Не лучше ли убедиться, что его 16 символов и цифр только с is_numeric() и strlen().
is_numeric()
strlen()
Я думаю, что вам нужно для проверки кредитной карты
^ (\ d {4} [-]) {3} \ d {4} | \ d {16} $
это будет соответствовать:
1234-1234-1234-1234 | 1234 1234 1234 1234 | 1234123412341234
Обратите внимание, что это скопировано из regexlib