This is what I did, there's probably more efficient ways:
Public Function CheckPasswordCriteria(ph) as string
'is password at least 8 characters
'does password have at least one number
'does password have at least one lower case character
'does password have at least one upper case character
Dim sMessage as String
sMessage = ""
Dim oneNumber as Boolean = False
Dim lowerCase as Boolean = False
Dim upperCase as Boolean = False
Dim characterLength as Boolean = False
If len(ph) > 7 then characterLength = true
Dim tempOneChar as String
Dim tempPH as String = ph
Try
While oneNumber=False
tempOneChar = Left(tempPH, 1)
If isnumeric(tempOneChar) then oneNumber = true
tempPH=Right(tempPH, len(tempPH)-1)
End While
Catch
End try
Try
tempPH = ph
While lowercase=False
tempOneChar = Left(tempPH, 1)
If not isnumeric(tempOneChar) and tempOneChar <> ""
If tempOneChar = lcase(tempOneChar) then lowerCase =
true
end if
tempPH=Right(tempPH, len(tempPH)-1)
End While
Catch
End try
Try
tempPH = ph
While upperCase=False
tempOneChar = Left(tempPH, 1)
If not isnumeric(tempOneChar) and tempOneChar <> ""
If tempOneChar = ucase(tempOneChar) then upperCase =
true
end if
tempPH=Right(tempPH, len(tempPH)-1)
End While
Catch
End try
If oneNumber = True and lowerCase = True and upperCase = True
and characterLength = True then
mStatus.GetStatus("Password Criteria")
Return False
End If
sMessage = "Password error: "
If onenumber = False then sMessage = sMessage & "At least one
character must be numeric.<br>"
If lowercase = False then sMessage = sMessage & "At least one
character must be lower case.<br>"
If uppercase = False then sMessage = sMessage & "At least one
character must be upper case.<br>"
If characterlength = False then sMessage = sMessage & "Length
must be at least 8 characters.<br>"
mStatus.GetStatus(,,13,sMessage)
Return True
End Function