2015-08-03 3 views
2

Мне нужно убедиться, что пароль пользователя соответствует определенным критериям, прежде чем они смогут продолжить создание своей учетной записи. Я хотел бы добавить проверку заявления для ', ", . и , применение в VBScript Это то, что я до сих пор я ничего не могу найти в ИнтернетеОбнаружить цитату ("), одинарную цитату (') и запятую в строке

IsComplex = True 

'Check Length 
If Len(cPassword) < 8 Then 
    IsComplex = False 
End If 

'Check for lowercase letters 
HasLowerCase = False 
For x = 97 to 122 
    If Instr(4,cPassword,chr(x)) > 0 Then 
     HasLowerCase = True 
    End If 
Next 
If HasLowerCase = False Then 
    IsComplex = False 
    cForceChange = "E" 
End If 

'Check for uppercase letters 
HasUpperCase = False 
For x = 65 to 90 
    If Instr(1,cPassword,chr(x)) > 0 Then 
     HasUpperCase = True 
    End If 
Next 
If HasUpperCase = False Then 
    IsComplex = False 
    cForceChange = "E" 
End If 

'Check for numbers 
HasNumber = False 
For x = 48 to 57 
    If Instr(1,cPassword,chr(x)) > 0 Then 
     HasNumber = True 
     cForceChange = "E" 
    End If 
Next 
If HasNumber = False Then 
    IsComplex = False 
    cForceChange = "E" 
End If 
+0

Использование Regex [(info)] (http://www.regular-expressions.info/) [(использование)] (http://stackoverflow.com/questions/6675920/using-classic-asp-for- регулярное выражение) - это гораздо более полезно в этом отношении. – Paul

+0

Спасибо, посмотрим в следующий раз, скорее всего, просто добавим к этому утверждение. – Benswana

ответ

2

Вы можете проверить их в буквальном смысле:...

If InStr(cPassword, "'") > 0 Then ' Single-quote found 
If InStr(cPassword, """") > 0 Then ' Double-quote found (need to use TWO quotes) 
If InStr(cPassword, ",") > 0 Then ' Comma found 

единственный хитрый это двойная кавычка ("). Поскольку VBScript использует это для строковых литералов, вы должны избегать его (используя два из них), когда вам нужно ссылаться на него в строковом литерале.