2011-02-03 5 views
1

이메일 주소를 확인하기 위해, 나는 다음과 같은 정규식 www.regular-expressions.info에서 사용하고 있습니다 : 위의 정규식을 사용하여문제 '@'

[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])? 

문제는 내가 succefully 수있다 이중와 이메일 주소도 확인 '@'을 다음과 같이 : 나는을 원하지 않는

[email protected]@gmail.com # Note the double '@' 
[email protected]@com.com 

... 합니다. 그래서, 어떻게 조정할 수 있습니까?


UPDATE

난 그 정규식이 같은 이메일 주소를 거부하지 않습니다 또한 발견 : 당신을 가정

[email protected] 
[email protected]@gmail 
+0

당신은 무엇을 의미합니까? – user502052

답변

0

는 .NET을 사용 될 "수", 여기에 정규식 I입니다 이메일 주소를 확인하는 데 사용합니다.

^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})$ 
+0

그 정규 표현식을 유지하고 싶습니다. – user502052

3

현재 정규식에 유효한 이메일이있는 문자열과 일치합니다. 입력 된 문자열 [email protected]@gmail.com에 유효한 전자 메일 [email protected]이 있습니다. 정규식은 완전한 문자열이 아닌 적절한 문자열 그것의 일치하도록

당신은 정규식에 시작 앵커 (^)과 끝 앵커 ($)를 추가해야합니다.

시도 :

^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$ 
+0

그건 나를 양식하지 않습니다. – user502052

+0

이유에 대해 설명해 주시겠습니까? 그것은 나를 위해 잘 작동합니다. – Ashe

+0

아마도 Ruby on Rails 프레임 워크를 사용하여 데이터베이스 레코드에서 해당 정규 표현식 문자열을 얻었 기 때문입니다 ...이 구문을 사용하여 값을 검색합니다. Regexp.new (Parameter.find_by_param_name ('email_regex'). param_value) – user502052