전자 메일 확인을 위해이 정규식을 사용합니다. /^\w+([-+.'']\w+)*@\w*([-.çöişğü]\w*)*\.\w+([-.]\w+)*$/
그러나이 정규식은 [email protected]
과 같은 전자 메일을 허용하지 않습니다. 이 이메일을 수락하기 위해 정규식을 변경하는 방법을 알려 주실 수 있습니까?- 문자가 포함 된 전자 메일
답변
변경 둘째 \w+
\w*
에 :
^\w+([-+.'']\w*)*@\w*([-.çöişğü]\w*)*\.\w+([-.]\w+)*$
감사합니다. \ w + ([- +. ''] \ w *) * @ w * ([-. çöişğü] \ w *) * \. \ w + ([-.] \ w +) * $ 그것은 나를 도왔다. –
나는 diff bolding을 바꿉니다. 해결 된 질문? – Ria
내가 HTML5 패턴 이메일 패턴이를 사용
^(?:[-+~=!#$%&'*/?\^`{|}\w]+)(?:\.[-+~=!#$%&'*/?\^`{|}\w]+)*@(?:[a-zA-Z0-9][-a-zA-Z0-9]*[a-zA-Z0-9]\.)+[a-zA-Z]{2,6}$
/^\w+([-+.'']*\w*)*@\w*([-.çöişğü]\w*)*\.\w+([-.]\w+)*$/
당신이 c#
태그로 질문을 태그하면 왜 안 이메일 유효성 검사를 위해 빌드 System.Net.Mail.MailAddress
클래스 생성자를 사용 하시겠습니까? 그것은 많은 메일 주소 형식을 지원하며 정규 표현식보다 더 많은 시나리오를 포함합니다. 참고 :
var isEmailValid = false;
try
{
var email = new MailAddress("[email protected]");
isValidEmail = true;
{
catch (FormatException x)
{
// invalid email address
}
정규 표현식보다 쉽지 않습니까?
이것은 전자 메일 유효성 검사에 특별히 사용하는 정규 표현식입니다. 그러나이 방법을 추천하지는 않습니다. 특히 비즈니스 컨텍스트에서 사용할 때는 특히 그렇습니다. 이메일 검증에 대해 생각할 때 정규 표현식이 너무 엄격하다는 사실 때문에. 그것들은 도메인이 완성 될 수있는 여지를 허용하지 않으며,이 모든 가능성을 감안하면 정규 표현식을 멀리 오용하여 불안정하게 만듭니다.
string strRegex = @"^(?("")("".+?(?<!\\)""@)|(([0-9a-z]((\.(?!\.))|[-!#\$%&'\*\+/=\?\^`\{\}\|~\w])*)(?<=[0-9a-z])@))" +
@"(?(\[)(\[(\d{1,3}\.){3}\d{1,3}\])|(([0-9a-z][-\w]*[0-9a-z]*\.)+[a-z0-9][\-a-z0-9]{0,22}[a-z0-9]))$";
Regex re = new Regex(strRegex);
if (re.IsMatch(txtEmail.Text) || txtEmail.Text == "" || txtEmail.Text.Length > 100 && txtEmail.Text.Length < 10)
{
MessageBox.Show("Thanks");
}
else
{
MessageBox.Show("Please enter a valid email address");
}
}
이 좀 더 안정되는 제안 solotuion 및 efficent이며 클래스에 내장 mroe 방을 허용하고 정규 표현식만큼 엄격하지 않다으로 utiliseszsthe EmailAddressAttribute. 이것이 도움이되기를 바랍니다.
TextBox tb = new TextBox();
tb.KeyDown += new KeyEventHandler(txtEmail_KeyDown);
// Run Checks after the enter is pressed.
if (e.KeyCode == (Keys.Enter) || e.KeyCode == (Keys.Tab))
{
if (!new EmailAddressAttribute().IsValid(txtEmail.Text))
{
MessageBox.Show(txtEmail.ToString() + " is not a valid Email address");
txtEmail.Clear();
}
else
{
MessageBox.Show("The address: " + txtEmail + " is valid");
txtEmail.Clear();
}
}
- 1. uid가 포함 된 전자 메일 URL
- 2. 탭 문자가 전자 메일 서명에서 올바르게 렌더링됩니까
- 3. 삽입 된 이미지가 포함 된 html 전자 메일
- 4. domain-name에 특수 문자가 포함 된 사이트로 전자 메일을 보내시겠습니까?
- 5. 비정상적인 문자가 포함 된 정규식
- 6. 미리 정의 된 전자 메일 주소로 iPhone에서 전자 메일 보내기
- 7. 영역 모양이 포함 된 전자 메일 링크를 만듭니다
- 8. 여러 임베디드 이미지가 포함 된 VB.NET 전자 메일
- 9. 매크로가 포함 된 Excel 파일로 전자 메일 보내기
- 10. 클래식 ASP - 첨부 파일이 포함 된 전자 메일 양식 - 도와주세요
- 11. TO 필드를 수집하는 PHP 스크립트가 포함 된 전자 메일 배관?
- 12. HTML/텍스트 PHP를 사용하는 첨부 파일이 포함 된 전자 메일
- 13. 이미지가 포함 된 전자 메일 보내기 - 이미지가 표시되지 않습니다.
- 14. Python - 첨부 파일이 포함 된 IMAP 전자 메일 (imaplib, smtplib)
- 15. 앰퍼샌드가 포함 된 전자 메일 주소의 mailto 링크 문제가 있습니까?
- 16. 레코드 세트 데이터가 포함 된 전자 메일 보내기
- 17. 첨부 파일이 포함 된 새 전자 메일 창 열기
- 18. SMTP를 사용하는 여러 첨부 파일이 포함 된 일괄 전자 메일
- 19. 점이 포함 된 localparts에 대한 전자 메일 확인
- 20. 차트가 포함 된 전자 메일 및 .net C#
- 21. 1 페이지보다 긴 테이블이 포함 된 HTML 전자 메일 인쇄
- 22. 표준화 된 전자 메일 정규식
- 23. 전달 된 전자 메일 검색
- 24. 암호화 된 전자 메일 읽기
- 25. PHP 전자 메일 양식 (옵션 포함)
- 26. ExactTarget 한국어 또는 중국어 문자가 일관성 없게 렌더링되는 전자 메일
- 27. PHP - 아랍어 문자가 포함 된 이메일
- 28. cfmail을 사용하여 라틴어 유니 코드 문자가 포함 된 주소로 전자 메일을 보낼 수 있습니까?
- 29. Azure에서 PHP의 전자 메일
- 30. 전자 메일 일반 표현
왜 터키어 문자'çöişğü'가 특별한가요? 전체 IDNA를 지원하거나 엄격하게 ASCII/punycode를 고수해야합니다. – tripleee