Just match:
^(?!.* )(?=.*\d)(?=.*[A-Z]).{8,15}$
How it works:
.{8,15} means: 8 to 15 characters
.{8,15}
(?!.* ) means: does not contain " " (?=.*\d) means: contains at least one digit. (?=.*[A-Z]) means: contains at least one capital letter
(?!.* )
(?=.*\d)
(?=.*[A-Z])