Not sure I would use a Regex for that : regex are not always the right tool for any possible kind of job...
Here, you specified a list of 6 requirements ; so, why not just use 6 different tests, one per requirement ?
Those 6 different tests, should I add, would be really simple -- while a Regex would be much harder to write (you asked for help -- you would probably not have for the 6 tests).
This would make your code a lot more easier to understand, I'd bet ;-)
And also : easier to maintain ; and easier to add/remove/change one of the condition corresponding to one of the requirements.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…