ProgramingTip

이메일을 맹목적으로 받아들이지 않도록 확인하는 가장 간단한 임시 임시는 무엇입니까?

bestdevel 2020. 10. 22. 22:15
반응형

이메일을 맹목적으로 받아들이지 않도록 확인하는 가장 간단한 임시 임시는 무엇입니까?


사용자가 내 사이트에서 계정을 만들 때 모든 입력을 수락하지 않도록 이메일에 대한 서버 유효성 검사를 만들고 싶습니다 .

핸드 셰이크 유효성 검사 를 수행하는 방법으로 확인을 보냅니다 .

나는 최고가 아니라 단순하지만 아무것도 검증하지 않는 너무 단순하지 않은 것을찾고 있습니다. 정규식으로 수행 할 수 없기 때문에 정규식이 올바른 유효성 검사를 수행하지 않기 때문에 제한이 있어야합니다.

정규식에 내재 된 신택스와 견제를 제한해야합니다.

어떤 정규 사용을 위해 사용할 수 있습니까?


^\S+@\S+$

표준을 따르는 이메일 주소 만 허용됩니다. 그러나 표준을 엄격하게 준수하지 않지만 여전히 작동하는 일부 이메일 주소가 있습니다.

다음은 기본 유효성 검사를위한 몇 가지 간단한 정규식입니다.

@ 문자 포함 :

@

@와 그 공동 마침표를 포함합니다.

@.*?\.

@ 앞, 마침표 앞과 하나 이상의 문자가 있습니다.

.+@.+\..+

@ 앞, 마침표 앞과 하나 이상의 @ 문자 만 있습니다.

^[^@]+@[^@]+\.[^@]+$

사용자 AmoebaMan17은 공백을 제거하기 위해 다음 수정을 제안합니다.

^[^@\s]+@[^@\s]+\.[^@\s]+$

AmoebaMan17의 표현을 약간 변경하면 주소가 점으로 시작 / 종료되는 것을 막고 서로 옆에있는 여러 점을 막아야 생각합니다. 일반적인 문제를 제거하면서 다시 복잡하게 만들지 고합니다.

(?!.*\.\.)(^[^\.][^@\s]+@[^@\s]+\.[^@\s\.]+$)

작동하는 것입니다 (하지만 저는 RegExpert가 아닙니다). 사용자가 마침표로 끝나는 문장 끝에서 이메일 주소를 복사하여 넣는 문제를 수정합니다.

예 : 여기 내 새 이메일 주소 tabby@coolforcats.com이 있습니다.


선택해라.

다음은 RFC 2822 섹션 3.4.1 을 준수하는 것입니다 .

(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])

호기심이 많을 경우 대비하여. :)


^ [a-zA-Z0-9 _. +-] + @ [a-zA-Z0-9-] +. [a-zA-Z0-9-.] + $

  • 단 1 @
  • 여러 도메인 및 하위 도메인

참고 URL : https://stackoverflow.com/questions/742451/what-is-the-simplest-regular-expression-to-validate-emails-to-not-accept-them-bl

반응형