2015-01-28 3 views
0

정규식을 처음 사용합니다. 나는 텍스트 상자 필드뿐만 아니라 텍스트 영역 필드가 나는 전자 우편 다음과 같이 그렇지 않은 포함해야한다는 제한이 있습니다필드에 전자 메일이 있는지 여부를 확인하는 정규식

내가 만든 다음 이에 대한 정규 표현식 :

^[a-z0-9._-]+(at|AT|@)[a-z0-9._-]{2,}(.|DOT|dot|dOt)[a-z]{2,4}$ 

이제 위의이 표현 검사 possibilites을 언급하지만 문제는 사용자가 이런 일을 입력하면 무엇을 알고

blablabla [email protected] 

가 어떻게 위의 시나리오를 확인할 수 있습니까? 친절하게도 내가이 일에 매달렸거나 다른 해결책이 있으면 친절하게 알려주세요 !!!

+0

@DavidThomas 좋은 지적입니다. 내 생각에 이메일 확인 질문이었습니다. 분명히 더 많은 커피가 필요합니다 :) –

+0

클라이언트 측 유효성 검사는 여기에서 사용하는 것이 좋지 않습니까? 이것은 서버 측에서 처리되어야합니다. 하지만 둘 다 사용한다면 괜찮을 것입니다. Javascript는 속일 수 있습니다. –

답변

1

처음의^및 마지막의 $는 패턴이 텍스트의 처음과 끝에 일치한다는 것을 의미합니다. 패턴이 어느 위치에서나 매치 될 수 있도록 ^와 $ 둘 다를 제거하면됩니다.

당신이에서, 점, 점, 점, 점, 점, AT AT에서의 모든 조합을 확인할 필요가 없도록 또한 문자를 구분 일치하는 경우를하고 ​​고려할 수

...

0

예이 근무하고있다 :

[a-z0-9. -] + (aT | At | at | AT | @) [a-z0-9. -] {2} (.DOT | DOt | DoT | Dot | dOt | doT | dot) [a-z] {2,}

+0

'\ .' ('| DOT' 이전) – Croises

+0

@Croises 어떻게할까요? –

+1

당신은 질문을 대답으로 표시 할 수 있으며, 답변이있는 문장을 사용하여 문제가 해결되었다는보고를 할 수도 있습니다.) 여전히 문자열을 소문자로 변환하고 (at | @) 및 (dot | \)와 일치하는 것을 고려해야합니다.). '점'에는 8 가지 다른 조합이 있습니다. 또한 탈출해야한다는 점에 유의하십시오. 그렇지 않으면 모든 문자와 일치합니다 –

관련 문제