수색…


최소 1 개의 대문자, 1 개의 소문자, 1 개의 숫자, 1 개의 특수 문자를 포함하고 길이가 적어도 10 인 비밀번호

문자 / 숫자는 문자열 내의 아무 곳에 나있을 수 있으므로 미리보기가 필요합니다. Lookahead는 zero width 가 없으므로 문자열을 사용하지 않습니다. 간단히 말하자면, 미리보기의 각 조건이 충족되면 점검 위치가 원래 위치로 재설정됩니다.

가정 : - 단어가 아닌 문자를 특별 하다고 생각할

^(?=.{10,}$)(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*\W).*$

설명으로 진행하기 전에 문자열 1$d%aA 에서 regex ^(?=.*[az]) 가 어떻게 작동하는지 ( 길이는 여기고려되지 않음 )

여기에 이미지 설명을 입력하십시오.

이미지 크레디트 : - https://regex101.com/

주의 사항

  • 앵커 태그 ^ 로 인해 문자열의 처음부터 확인이 시작됩니다.
  • 미리보기의 조건이 충족되면 확인 위치가 시작으로 재설정됩니다.

정규식 분석

^ #Starting of string
 (?=.{10,}$) #Check there is at least 10 characters in the string. 
             #As this is lookahead the position of checking will reset to starting again
 (?=.*[a-z]) #Check if there is at least one lowercase in string.
             #As this is lookahead the position of checking will reset to starting again
 (?=.*[A-Z]) #Check if there is at least one uppercase in string.
             #As this is lookahead the position of checking will reset to starting again
 (?=.*[0-9]) #Check if there is at least one digit in string.
             #As this is lookahead the position of checking will reset to starting again
 (?=.*\W) #Check if there is at least one special character in string.
          #As this is lookahead the position of checking will reset to starting again
.*$ #Capture the entire string if all the condition of lookahead is met. This is not required if only validation is needed

위의 정규식의 비 욕심 많은 버전을 사용할 수도 있습니다.

^(?=.{10,}$)(?=.*?[a-z])(?=.*?[A-Z])(?=.*?[0-9])(?=.*?\W).*$

최소 2 개의 대문자, 1 개의 소문자, 2 자리 및 10 이상의 길이를 갖는 암호

위의 정규 표현식에서 조금 수정하면됩니다.

 ^(?=.{10,}$)(?=(?:.*?[A-Z]){2})(?=.*?[a-z])(?=(?:.*?[0-9]){2}).*$

또는

 ^(?=.{10,}$)(?=(?:.*[A-Z]){2})(?=.*[a-z])(?=(?:.*[0-9]){2}).*

간단한 정규식 ^(?=(?:.*?[AZ]){2}) 가 문자열 abcAdefD 작동하는지 abcAdefD

여기에 이미지 설명을 입력하십시오.

이미지 크레디트 : - https://regex101.com/



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow