2015-09-07 5 views
0

Я пишу скрипт, чтобы проверить, содержит ли моя строка пароля хотя бы один специальный символ. Я узнал, что regex невозможно с InnoSetup.Inno setup, как проверить, содержит ли строка хотя бы один специальный символ.

Может ли кто-нибудь помочь мне в достижении этого?

Спасибо заранее,

DeeJay

+2

Что такое * специальный символ *? Это символ из некоторого постоянного набора, который вы хотите объявить? – TLama

+1

И вы можете использовать регулярное выражение в Inno Setup. Либо из какой-либо внешней библиотеки, либо, например, используйте объект автоматизации Windows VBScript.RegExp. Но для того, что вы описали, regex немного тяжело. – TLama

+0

@TLama, спасибо за информацию ... – DeeJay007

ответ

5
[code] 
function PasswordContainsAtLeastOneSpecialChar(Pass : String) : Boolean; 
var 
    i : integer; 
begin 
    Result := false; 

    for i:=1 to length(Pass) do 
    begin 
     case Pass[i] of 
      '!', '"', '§', '$', '%', '&', '/', '(', ')', '=', '?', '\', '*', '#': // list all special characters here 
      begin 
      Result := true; 
      Exit; 
      end; 
     end; 
    end;       
end; 
+0

Спасибо за функцию, она работает как шарм .. – DeeJay007

Смежные вопросы