"Hello" returns true
"12345" returns true
"Hello1" returns false
"123H" returns false
regex может проверить только буквы и цифры, кроме обоих?
или
Проверить функцию PHP?
^(?=(?:\d+|[a-zA-Z]+)$)[a-zA-Z0-9]+$
Еще одна вариация. Смотрите демоверсию.
https://regex101.com/r/sH8aR8/11
$re = "/^(?=(?:\\d+|[a-zA-Z]+)$)[a-zA-Z0-9]+$/m";
$str = "Hello\n12345\nHello1\n123H";
preg_match_all($re, $str, $matches);
Вы можете использовать что-то вроде этого: ^([A-Za-z]+)|([0-9]+)$
. Это позволит убедиться, что строка либо заполнена буквами исключительно, либо номерами, а не обоими.
Вы можете проверить регулярное выражение здесь.
Regex:
/^[A-za-z]*|[0-9]*$/
Проверьте начало строки, затем количество букв ИЛИ любое количество цифр, затем конец строки.
Пустая строка вернет true. Если эта проблема изменит *
на a +
.