2011-03-07 2 views
4

비밀번호를 확인하고 싶습니다. 다음은 나의 요구 사항입니다.비밀번호 확인을위한 Regex

최소 암호 길이 : 대문자 1 개
최소 숫자 : 숫자 1
최소 수 : 1

어떻게 이것에 대한 정규식을 작성하는 소문자의 8
최소 수?

+2

내 제안을 대신하는 기능 ValidatePassword를 사용하는 것입니다. 이것을 (예를 들어) 암호에 사용자 이름이 포함될 수 없도록 포함하도록 업데이트해야 할 수 있습니다. 그냥 생각. :) – Russell

+1

Regex는이 작업을위한 최상의 도구가 아닙니다. – Jacob

+0

@ Jacob : 일반적으로 사람들은 유효성 검사를 위해 정규식 만 허용하는 일부 프레임 워크를 사용할 때 이런 요청을합니다. – Gabe

답변

4

는 다음과 같은 정규 표현식을 사용할 수 있습니다

^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9]).{8,}$ 
+1

'? ='(0-width positive look-ahead)는 일반적인 클라이언트 측 언어에서 지원되지 않는다고 생각했지만, 약간의 연구 끝에 나는 틀렸다고 생각합니다. 이것은 정규 표현식입니다. – neontapir

2

나는 @Russell에 동의하며, 암호 유효성 검사에 더 적합한 선택입니다. 그리고이 모든 경우를 처리하는 단일 Regex를 상상하기는 어렵습니다. 나는 당신이 차례로 각각을 점검해야 할 것 같아요.

는 개별적으로, 정규식 표현은 다음과 같습니다

  • .{8} 경기 8 자 이상
  • [a-z]
  • [A-Z]
  • [0-9]가 숫자와 일치하는 하나의 대문자를 일치하는 하나의 소문자와 일치

이러한 사실은 서버가 심층적 인 검증을 수행하기 전에 클라이언트 측 검사에만 유용 할 것입니다.

0

요구 사항에 대한 정규식을 검색 할 수 있습니다 :

(?=^.{8}$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$