Not sure this is ideal either, it rejected the first password my password manager generated. Password should probably just be anything other than all whitespace, no? Maybe a length requirement.
You should not regex check your passwords at all. Just check !="" and maybe check the length
There is no reason why you should limit symbols for passwords.