var pw = "ksn73ADkdfdd"
var regex = /^.*(?=.{12,})(?=(.*[A-Z]){2})(?=(.*[a-z]){2})(?=(.*\d){2})(?=(.*\W){2})(?!.*\s).*$/;
// ^.* = start
// (?=.{12,}) = min. 12 length
// (?=(.*[A-Z]){2}) = min. 2 uppercases
// (?=(.*[a-z]){2}) = min. 2 Lowercases
// (?=(.*\d){2}) = min. 2 Numbers
// (?=(.*\W){2}) = min. 2 Special Chars
// (?!.*\s) = no blank space
// .*$ = end
console.log(regex.test(pw));
// source https://stackoverflow.com/a/33051728/4324393