Record/TIL

[Unity] InputField 최대글자 설정하고 사용할 수 있는 문자 제한하기

석영 2024. 8. 17. 01:18
반응형

매번 예외처리로 참거짓을 반환하게했는데 다른 방법이 있을까?

라는 고민때문에 찾아봤는데 있었다.

더 쉬웠다.

유니티에 내장된 characterLimit를 쓰면 된다.

	.
	.

	[SerializeField] private TMP_InputField playerNickName;
    
    private void Start()
    {
        playerNickName.characterLimit = 8;
        playerNickName.onValueChanged.AddListener(OnInputValueChanged);
    }
    
    .
    .
        private void OnInputValueChanged(string word)
    {
        string NameWord = Regex.Replace(word, @"[^0-9a-zA-Z가-힣]", "");

        if (playerNickName.text != word)
        {
            playerNickName.text = NameWord;
            playerNickName.caretPosition = playerNickName.text.Length;
        }
    }

 

characterLimit를 쓰면 글자수가 제한되고,

Regex.Replace(word, @"[^0-9a-zA-Z가-힣]", "") 이걸쓰면 특수문자를 제외한 글자를 사용할 수 있게한다.

물론 다른 방법도 많으니깐 찾아보거나 내가 참고한 밑에 블로그를 보면 될 것 같다.

 

InputField 특정 문자만 작성 가능하게 하기

>> InputField 특정 문자만 작성 가능하게 하기

 

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

이번에는 특정 문자만 작성 가능한 InputField를 만들어 보자. 일단 네임스페이스에 using UnityEngine.UI; using System.Text.RegularExpressions; 를 추가해주자. 그리고 다음 코드를 Start() 혹은 Awake() 안에 넣어주

robbercat.tistory.com

 

 

 

반응형