swift로 전자 메일의 유효성 검사를 받았지만 앞뒤로 일본어와 공백을 허용하고 오류 문장이 표시되지 않습니다.

참고 참고.

목표



email에 밸리데이션을 걸 것.
일본어나 공백은 허용되지 않는다.

무엇인가



이런 글은 많이 보았지만
var isValidEmail: Bool {
    return (self =~ "[A-Z0-9a-z._+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,}")
    }

전후에 일본어가 되어 스페이스를 넣었을 때에 에러가 밸리데이션을 빠져나갔다.


(오류가 나오지 않는다..)

백엔드에서는 제대로 검증이 걸릴 수 있도록 구현되었으므로 서버 오류로
돌려주어져 기분 나쁘다.

해결하다



「전후에 일본어가 되어 스페이스~」를 고려한 쓰는 방법으로 한다.
    var isValidEmail: Bool {
        return (self =~ "^([A-Z0-9a-z._+-])+@([A-Za-z0-9.-])+\\.([A-Za-z]{2,})$")
    }

내가 한 일은
· 각 파트 [@와.의 전후]를 ()로 각 요소를 구분
・시작[ˆ]과 끝[$]을 명기



(오류였어요 😌)

전혀 발견되지 않았기 때문에 메모 메모.
이것뿐인데 조금 시간 먹혔다. .

더 잘 쓰는 방법이 있으면 환영입니다 🍺

좋은 웹페이지 즐겨찾기