비밀번호패턴검사
→회원가입/비밀번호변경
닉네임패턴검사
→닉네임설정/닉네임변경
이메일양식안맞는걸한번거를까고민
→로그인/비밀번호찾기
fun MutableStateFlow<String>.nicknameValidCheck(): Flow<InputChecker> {
val regex = "^[0-9가-힣ㄱ-ㅎㅏ-ㅣa-zA-Z\u318D\u119E\u11A2\u2022\u2025a\u00B7\uFE55]+$"
return transformWithRegex(regex)
}
fun MutableStateFlow<String>.passwordValidCheck(): Flow<InputChecker> {
val regex = "^(?=.*[a-zA-Z])(?=.*[0-9]).{8,}+$"
return transformWithRegex(regex)
}
private fun MutableStateFlow<String>.transformWithRegex(regex: String): Flow<InputChecker> {
return transform { nickname ->
when {
nickname.isEmpty() -> emit(InputChecker.EMPTY)
Pattern.matches(regex, nickname) -> emit(InputChecker.VALID)
else -> emit(InputChecker.NOTVALID)
}
}
}
Kotlin
복사