Нужна помощь с расшифровкой регулярок

Есть код на JS

 var strongRegex = new RegExp("^(?=.{8,})(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*\\W).*$", "g");
 var mediumRegex = new RegExp("^(?=.{8,})(((?=.*[A-Z])(?=.*[a-z]))|((?=.*[A-Z])(?=.*[0-9]))|((?=.*[a-z])(?=.*[0-9]))).*$", "g");
 var enoughRegex = new RegExp("(?=.{8,}).*", "g");

enoughRegex - смотрит чтобы было не меньше 8 символов тут ясно mediumRegex - не меньше 8 символов и большая и маленькая буква или большая и цифра или маленькая и цифра strongRegex - не меньше 8 символов и большая и маленькая и цифра. Но что значит (?=.*\\W)?

Так же не пойму что значит .*$", "g" вконце. Помогите понять, нужно переписать на РНР. Да и вообще, может кто-то знает более крутой способ проверки сложности пароля? Чтобы можно было юзануть и на js и на php ? Буду рад помощи!


Ответы (0 шт):