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 특정 문자만 작성 가능하게 하기
반응형