2011-09-23 2 views
-2

js에서 정규식을 사용하여 어떻게 유효성을 검사합니까? 어떤 정규 표현식이이 유형의 문자열을 검증 할 수 있습니까?

first.last 

first.last.wrt 

또는

이메일 주소의 일부, 위에서 언급 한 형식의 이름 부분 만이 유효합니다.

예는 : 정규식 사용하여 검증해야이 : 당신은 단지 문자/숫자를 원한다면

john.doe.wrt 
john.doe 
+6

유효성을 검사하지 않아도되는 예제를 게시 할 수 있습니까? 여기에 어떤 패턴이 있습니까? – Oded

+2

이메일 주소의 첫 번째 부분입니다. 따라서 @는 유효한 문자가 아닙니다. 전자 메일 주소의 첫 번째 부분에서 사용할 수있는 다른 잘못된 문자는 유효하지 않습니다. – user730108

+0

그러면 모든 이메일 주소의 유효성을 검사하고 싶습니까? 특정 패턴 또는 형식 요구 사항이 없습니까? –

답변

0
/^[a-z]+\.[a-z]+(\.wrt)?$/ 

예제에 따르면이 방법이 유용 할 것입니다.

+0

대문자와 일치하지 않습니다. 나는 그것이 지정되지 않았다는 것을 안다. 그러나 "joe"와 일치 할 수 있다면 "Joe"와 일치시킬만한 이유가 없다. 마지막 캡처 그룹을 저장하지 않으므로 캡쳐되지 않은 그룹으로 만들어야합니다. '(...) '대신'(? : ...)'를 사용합니다. – qJake

+0

게시 된 예제가 작동하지 않습니다. 나는 .net 정규 표현식 검사기를 사용하여 "/^[a-z]+\.[a-z]+((/.wrt)?$/"를 표현식에 넣어 속성을 검증했지만 john.doe.ctr이 유효하지 않다고 말했습니까? – user730108

+0

@ SpikeX : 의견을 보내 주셔서 감사합니다. 그러나 주어진 예제에 대해서만 최소 정규식을 제공했습니다. 더 많은 것은 우리 측에서 가정이 될 것입니다. :) – FtDRbwLXw6

0

은/검증하기 위해 밑줄 : 당신이 아무것도가에서 유효성을 검사 할 경우

(\w+?)\.(\w+?)(?:\.wrt)? 

은 " 첫 번째 및 마지막 부분 :

(.+?)\.(.+?)(?:\.wrt)? 

캡처 Gro 업 :

  1. 이름
  2. 성이
+0

'.'가'\ w'의 일부가 아니기 때문에 비 탐욕적 수정자는 첫 번째 명령에서 불필요합니다. – Ryan

0
if(/^[a-z]+\.[a-z]+(\.wrt)?$/i.test('the string')) { 
    // It validates! 
} else { 
    // It doesn't... 
} 

나는 아포스트로피 등이 허용되지 않습니다 받아,하지만 당신은 대괄호 안에 추가 할 수 있습니다.

+0

왜 '\ w'를 쓰지 않으시겠습니까? '[A-Za-z]'는'\ w'와 거의 같습니다. – qJake

+0

@ SpikeX : 내가 아는 언어로 된 이름으로 밑줄이나 밑줄을 쓸 수 없기 때문에? – Ryan

+0

'\ w'는'[A-Za-z]'이상을 포함합니다. (나는'_' 문자를 믿습니다.) – FtDRbwLXw6

관련 문제