using php5 preg_match function
I am trying to limit some string data to
[uppercase,lowercase,number, underscore]only but the string should be
7-20 characters long and
Must include at least 1 uppercase 1 lowercase and 1 number.How can I tighten up this code and make it leaner? ...I'm sure I probably only need to run the regex once for the check not twice like I am doing now. Thank you
if(!preg_match('/^[a-zA-Z0-9_]{7,20}$/', $val) ){
echo 'no good';
}else{
if(!preg_match('/.*^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9]).*$/', $val)){
echo 'no good 2';
}
}