My suggestion for verifying the strength of a password is to break each requirement that you have into separate regular expressions, in particular:
$regexs = array(
'/[0-9]+/',
'/[a-z]+/',
'/[A-Z]+/',
'/[+-=]+/',
);
Initialize counter 0. For each regular expression, check to see if it matches. If so, increase the counter by 1. Then return true if the counter is greater than 3 (or 4, if you want them to have a really really strong password), otherwise return false.
, , .