여러분,
정규식을 이용한 게시글 차단 기능이 더 이상 작동하지 않습니다. RegEx 테스트 도구에서는 이메일 주소를 감지하지만, 사용자는 여전히 이메일 주소를 게시할 수 있습니다:
RegEx: (^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$)
이것이 버그인가요?
도와주셔서 감사합니다!
해당 정규식에 문제가 있는 것 같습니다. 이메일 주소가 작성기에 단독 줄로 게시되지 않으면 실패할 것으로 보입니다. Discourse에서 정규식을 테스트할 때 이메일 주소 외에 다른 텍스트를 추가하여 이를 확인할 수 있습니다. 이메일 주소 앞에 공백만 추가해도 실패하게 됩니다.
이메일 주소에 사용해야 하는 정규식은 다음과 같습니다:
\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}\b
참고로, 해당 정규식은 여기서 찾았습니다: How to Find or Validate an Email Address.
감사합니다! 이제 작동합니다. 그런데 또 다른 문제가 있습니다: 이 정규식(RegEx)을 공개 게시물에만 적용할 수 있을까요? 현재는 개인 메시지로도 이메일 주소를 보내지 못하고 있습니다. 이는 바람직하지 않은 동작입니다.
아니요, 감시 단어를 공개 게시물에만 적용하는 것은 불가능합니다. 해당 정규 표현식을 사용하는 경우, 사용자가 정규 표현식에 매칭되지 않는 방식으로 이메일 주소를 입력하도록 해야 합니다. 예를 들어 @ 문자 앞에 공백을 추가하는 방법이 작동할 수 있습니다.