2009년 5월 28일 목요일

asp 에서 regExp 정규식 사용법

폼에서 ID 와 PASSWD 입력받은 문자열 중

ID 는 영어 숫자만 입력 된것은 true 이고 다른건 false되도록

 

PASSWD도 역시 똑같이 이렇게 가능하도록 어떻게 해야하는지

정규식을 사용해서 자바스크립 말고 asp 코드 자체내에서 처리해 보자.

 

 

Function Word_check(str,patrn)
    Dim regEx, match, matches

    SET regEx = New RegExp

    regEx.Pattern = patrn            ' 패턴을 설정합니다.
    regEx.IgnoreCase = True      ' 대/소문자를 구분하지 않도록 합니다.
    regEx.Global = True             ' 전체 문자열을 검색하도록 설정합니다.

    SET Matches = regEx.Execute(str)

 

    if 0 < Matches.count then
        Word_check = false
    Else
        Word_check = true
    end if
End Function

 

 

 

위의 코드는 정규식을 이용해서 문자열이 패턴만으로 이뤄졌는지 확인하는 함수 입니다.

 

사용 방법은 response.write Word_check("문자열","패턴") 몇가지 패턴을 적어보자면

pattern0 = "[^가-힣]"  '한글만
pattern1 = "[^-0-9 ]"  '숫자만
pattern2 = "[^-a-zA-Z]"  '영어만
pattern3 = "[^-가-힣a-zA-Z0-9/ ]" '숫자와 영어 한글만
pattern4 = "<[^>]*>"   '태그만

pattern5 = "[^-a-zA-Z0-9/ ]"    '영어 숫자만

 

 

위에서 하려는 기능은

Word_check(id,pattern5) 이겁니다.

이렇게 하면 true나false가 반환 됩니다.

댓글 없음:

댓글 쓰기