기능구현/아웃게임
[UI] - 닉네임 생성(특수문자,이모티콘 제한)
MuscleDeveloper5683
2025. 2. 13. 20:05
728x90
SMALL
지난 시간에 닉네임 생성을 했었는데 닉네임을 생성할 때 특수문자나, 이모티콘과 같은 특수한 문자를 넣어도
닉네임이 생성이 되었다.
닉네임 생성시에 8글자 제한 및 특수문자와 이모티콘을 제한시켜보자.
1. 공지 추가
2. 스크립트 수정 (LobbyManager.cs)
네임 스페이스 추가
using System.Text.RegularExpressions; 네임스페이스는 Regex 클래스를 사용하기 위한 것이다.
코드 작성
if(!char.IsLetterOrDigit(tmp) && char.IsWhiteSpace(tmp))
char.IsLetterOrDigit(tmp)
- 목적: 주어진 문자가 알파벳(대소문자 구분)이나 숫자(0-9)인지를 확인한다.
- 동작:
- IsLetterOrDigit 함수는 해당 문자가 알파벳(A-Z, a-z) 또는 숫자(0-9)일 경우 true를 반환한다.
- 그 외의 문자는 false를 반환한다.
char.IsWhiteSpace(tmp)
- 목적: 주어진 문자가 공백 문자인지를 확인한다. 공백 문자에는 일반적인 공백(space)뿐만 아니라, 탭(tab), 줄 바꿈(newline) 등의 다른 공백 문자도 포함된다.
- 동작:
- IsWhiteSpace 함수는 해당 문자가 공백 문자인 경우 true를 반환한다.
- 공백 문자가 아닌 경우 false를 반환한다.
string outputString = Regex.Replace(inputString, @"[^\w\s]", "");
Regex.Replace 함수
Regex.Replace(inputString, @"[^\w\s]", "")
- 목적: 정규 표현식을 사용하여 문자열에서 특정 패턴을 찾아 다른 문자열로 대체하는 함수이다. 여기서의 사용 목적은 문자열에서 이모지와 특수문자를 제거하는 것
@"[^\w\s]" 패턴은 알파벳, 숫자, 공백 외의 모든 문자를 찾아서 제거한다.
정규 표현식: @"[^\w\s]
- [ ] : 대괄호는 문자 클래스, 즉 특정 문자들을 묶어서 정의할 때 사용한다.
- ^ : 대괄호 안에서 ^는 부정(not)을 의미한다. 즉, 뒤에 나오는 문자들 외의 문자를 찾는다.
- \w : 알파벳(A-Z, a-z), 숫자(0-9), 그리고 밑줄(_) 문자를 모두 포함한다.
- \s : 공백 문자(스페이스, 탭, 줄 바꿈 등)를 의미한다.
- "[^\w\s]" : 알파벳, 숫자, 공백 외의 모든 문자(즉, 특수문자와 이모지)를 찾는 패턴이다.
결과
728x90