Мои условия ...
- Alpha-Numeri c значение
- Допускается только один пробел или дефис
- Должно быть хотя бы одно число
- Не может начинаться или заканчиваться пробелом или дефисом
- Минимум 2 символа, максимум 16 символов без пробела / дефиса
На данный момент я подготовил регулярное выражение
^(?=.{2,16}$)([a-zA-Z\d]+)([\s^\-]|[\-^\s]|[a-zA-Z\d]*)([a-z[A-Z\d]+)
Отсутствует только третья точка.
Тестовые строки Действительны
"test one"
"test 2two"
"test3 three222"
"3test-4four"
Недействительны
"-test"
"test-d f"