2010-08-06 6 views
3

C# winforms의 텍스트 상자에 대한 입력이 유효한 패턴을 따르고 있는지 확인하려고합니다. "-" C# Winforms의 텍스트 상자에 대한 입력 유효성 검사

  • "/"
  • 패턴은 Z

  • 에 다음과 같은 문자

    • 0 9
    • A와 구성 문자열을해야합니다 유효성 검사를 수행하기 위해 텍스트 상자에서 "Validating"이벤트를 사용하고 있지만 올바른 정규 표현식을 사용하기 위해 고민 중입니다. 정규 표현식을 사용하는 것보다 더 좋은 방법입니다.

  • 답변

    3

    "[A-Z0-9_ /]"정규식은 그렇게해야합니다. Regex는 당신이 그들을 사용하는 것이 행복하다면 여기에서 가장 명백한 선택처럼 보입니다.

    선택한 언어에 따라 일부 특수 문자를 '\'로 인용해야 할 수 있습니다. 소문자를 허용하려면 '[a-zA-Z0-9_ /]'를 사용하십시오.

    또는 "(\ w? \ d? _? /?) +"와 같이 작동 할 수 있습니다. \ w는 모든 문자와 일치하고 \ d는 임의의 숫자와 일치합니다. '?' 이전 숯불 0 또는 1 시간을 일치시키는 반면, +는이 짝짓기의 여러 번을 허용합니다.

    1

    TextBox에서 KeyDown 이벤트를 사용하고 허용 할 문자 중 하나가 아닌 경우 KeyEventArgs의 SuppressKeyPress 필드를 true로 설정할 수 있습니다. KeyEventArgs의 KeyCode 필드를 검사하여 입력 된 문자를 확인할 수 있습니다. 이렇게하면 사용자가 원하는 문자를 입력하지 않으면 아무 것도 나타나지 않습니다.

    +0

    저는 이전에이 방법을 사용해 왔습니다. 비교적 간단합니다. 특별한 경우를 처리해야합니다 (예 : 여기서 사용자는 문자에 대한 숫자 코드를 입력합니다. – cristobalito

    +0

    또한 잘라 내기, 복사 및 붙여 넣기와 같은 키보드 단축키를 실수로 삭제하지 않도록하십시오. –

    관련 문제