프로그램 개발/C#

[wpf] TextBox 숫자만 입력되도록 설정

(ㅇㅅㅎ) 2020. 11. 1. 21:55
728x90
반응형

xaml 디자인 부분

<!-- TextBox 사용 예시 xaml 부분 -->
<Style x:Key="TB1" TargetType="TextBox">
    <EventSetter Event="PreviewTextInput" Handler="TB_PreviewTextInput"/>
</Style>
 

 

c# 코드 부분

using System.Text.RegularExpressions;
 
// 숫자만 입력하도록 설정
private void TB_PreviewTextInput(object sender, TextCompositionEventArgs e)
{
    Regex regex = new Regex("[^0-9]+");
    e.Handled = regex.IsMatch(e.Text);
}
 

 

사용된 정규표현식 설명

[ ] 문자 선택을 표현 "["와 "]"의 사이에 있는 문자열 중 한가지를 선택하는 것을 의미
^ 문자열의 시작을 표현
0-9 0에서 9까지 문자열을 표현
+ 반복을 표현하며 "[ ]" 안의 문자가 한번 이상 반복됨을 의미
[^0-9]+ 0-9 문자 중에 한가지를 선택하여 한번 이상 반복되는 것을 의미

 

소문자만 입력받을 경우 : [^a-z]+

대문자만 입력받을 경우 : [^A-Z]+

 

더 다양한 정규표현식은 아래의 위키백과에서 확인해보세요.

ko.wikipedia.org/wiki/%EC%A0%95%EA%B7%9C_%ED%91%9C%ED%98%84%EC%8B%9D

 

정규 표현식 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 노랑색 강조 부분은 다음 정규식을 사용했을 때 매치된 것이다. 정규 표현식(正規表現式, 영어: regular expression, 간단히 regexp[1] 또는 regex, rational expression)[2][3] 또

ko.wikipedia.org

반응형