Just use a pair of look-ahead assertions:
(?=.*[A-Z])(?=.*\d).+

Debuggex Demo
Edited to capture the string, not merely match it.
Note: you only need the final .+ if you want to capture the result. If you simply want to do a test for whether the string contains at least one number and one capital letter, you don't need that final .+. For example, this
'aB9'.match(/(?=.*[A-Z])(?=.*\d)/)
returns [""], which evaluates as true if you put it in an if or while. On the other hand, this
'aB9'.match(/(?=.*[A-Z])(?=.*\d).+/)
returns ["aB9"]. Use whichever flavor best suits your needs.