Привет.
В общем надо регулярным вражением тестировать строку на:
1. Длина 6-16
2. Минимум 1 символ в верхнем регистре
2. Минимум 1 символ в нижнем
3. Минимум 1 цифра
4. Опционально спецсимволы.
вот к чему я пришел:
/(?=^.{8,16}$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$/
Но эта регулярка пропускат пробелы...