2013-06-27 2 views
0

아래 코드는 특수 문자 &을 검색하려고 시도하는 코드입니다. 조건이 실패하면 호스트에 오류 노트를 작성해야합니다. Powershell 2.0을 사용하고 있습니다. 코드는 문자열 길이를 검사하지만 특수 문자를 확인할 수는 없습니다. 도와주세요. 나는 또한 시도powershell에서 문자열의 특수 문자를 검색하십시오.

$chk=$user_logon.Output_Value 
if($chk.length -gt 64 -or $chk -notmatch '[^a-zA-Z0-9]') 
{ 
    write-host "Error - The Value ""$chk"" is greater than 64 bits or it contains a special character" -BackgroundColor "White" -ForegroundColor "Red";  
} 

- 일했다

if($chk.length -gt 64 -or $chk -notmatch "^[a-zA-Z0-9\s]+$") 

. 하지만 $ chk의 일부가 될 수있는 밑줄 "_"을 제외한 모든 특수 문자를 검사하는 조건을 갖고 싶습니다.

감사합니다.

답변

1

당신은 $chk -match '[^a-zA-Z0-9]'

+0

감사와 $chk -notmatch '[^a-zA-Z0-9]'를 교체해야합니다. 그것은 영문자 또는 숫자가없는 문자열과 일치하는 경우를 해결합니다. 나는 밑줄이없는 특수 문자가없는 문자열을 찾을 수있는 경우를 고대하고있었습니다. – 0nir

+0

사례 - if ($ chk.length - gt 64 - 또는 $ chk - 일치 "[^ a-zA-Z0-9_]")가 효과가 있습니다. 최선의 접근 방식인지는 확실하지 않습니다. 감사. – 0nir

관련 문제