2010-01-21 3 views

답변

0

쉼표는 어떤 경우에도 이메일 주소로 허용되지 않습니다. 쉼표없이 사용자 이름을 입력하면 어떻게됩니까?

+0

이름 나를 위해 잘 작동합니다 . 전자 메일의 유효성을 검사 할 때 허용되지 않아야하는 모든 문자를 알고 싶습니다. – user255818

0

읽기 RFC 2822 예를 들면 다음과 같습니다이다. BNF를 통해 작업하는 경우 비정상적인 경우 "@,@"@foo.bar이 완벽하게 괜찮음을 알 수 있습니다. 당신이 local-partdomaindot-atom하지만 모든 것을 무시하면

addr-spec  =  local-part "@" domain 

local-part  =  dot-atom/quoted-string/obs-local-part 

domain   =  dot-atom/domain-literal/obs-domain 

:

atext   =  ALPHA/DIGIT/; Any character except controls, 
         "!"/"#"/ ; SP, and specials. 
         "$"/"%"/ ; Used for atoms 
         "&"/"'"/
         "*"/"+"/
         "-"/"/"/
         "="/"?"/
         "^"/"_"/
         "`"/"{"/
         "|"/"}"/
         "~" 

atom   =  [CFWS] 1*atext [CFWS] 

dot-atom  =  [CFWS] dot-atom-text [CFWS] 

dot-atom-text =  1*atext *("." 1*atext) 

및 3.4.1 : 당신이 요구하는지 규칙은, 그러나, 섹션 3.2.4에서 찾아 볼 수있다 규칙에 따라 일반 또는 정원 주소와 일치하게됩니다. 당신의 asp.net 컨트롤이 모든 유효한 RFC2822 주소를 받아들이지 않을 가능성이 있으므로, 실제로 그 문서를 확인해야합니다.

"% < 16 진 코드 >"과 같은 방법으로 유효한 (또는없는) 전자 메일 주소를 컨트롤에서 받아 들일 수있는 사용자 이름 인수로 변환 할 수 있습니다.

(오라일리에서 정규 표현식을 마스터 메일 주소에 대한 거대한 한 페이지 정규식 (대부분 올바른)를 가지고하는 데 사용하지만, 3 편에서 사라 졌어요.) 쉼표없이

관련 문제