본문 바로가기

유니티

Unity(유니티)_InputField 특정 문자만 작성 가능하게 하기

 

 

이번에는 특정 문자만 작성 가능한  InputField를 만들어 보자.

 

일단 네임스페이스에 

 

using UnityEngine.UI;
using System.Text.RegularExpressions;

 

를 추가해주자.

 

그리고 다음 코드를 Start() 혹은 Awake()

안에 넣어주면 된다.

 

1. 숫자만 입력 가능하게 하기.


     testInputField.onValueChanged.AddListener(
         (word) => testInputField.text = Regex.Replace(word, @"[^0-9]", "" )

);

 

소숫점까지 가능하게 하고 싶으면

 

  testInputField.onValueChanged.AddListener(
         (word) => testInputField.text = Regex.Replace(word, @"[^0.0-9.9]", "" )

);

 

2. 영문자만  입력 가능하게 하기.

 

 testInputField.onValueChanged.AddListener(
     (word) => testInputField.text = Regex.Replace(word,  @"[^a-zA-Z]", "")
 );

 

 

3. 한글만 입력 가능하게 하기.

 

 testInputField.onValueChanged.AddListener(
     (word) => testInputField.text = Regex.Replace(word, @"[^가-힣]", "")
 );

 

 

4.  특수문자만 제거

 

 testInputField.onValueChanged.AddListener(
     (word) => testInputField.text = Regex.Replace(word, @"[^0-9a-zA-Z가-힣]", "")
 );

 

 

이걸 진작 알았더라면... ㅠㅠ

하나씩 확인하는 코드를 안짜도 됐는데 ㅠㅠ