2011-02-10 4 views
6

현재는 내가 이해 만이 A-Z, A-Z, 0-9 및 _ 문자를 허용 w \, 이제 암호RegEx에서 어떤 문자를 허용 하시겠습니까?

^\w{8,16}$ 

를 입력하는 사용자를 위해 다음과 같은 정규식을 사용합니다. 내가 원하는 것은 길이는 8에서 16 사이의 문자를 허용하는 것입니다. 어떻게해야합니까? Thanx 많이 미리 :

+4

왜 정규식을 사용해야합니까? 나는 당신이 사용하는 언어에 상관없이 문자열의 길이를 세는 char count 함수가 있다고 확신한다. – Joe

+1

당신은 절대적으로 조입니다! 그래서 실제로 특정 문자가 암호 등이 맞지 않아야하는 경우에만 RegEx가 필요합니다. –

+0

'\ w'는'_'와 일치하지 않습니다. AFAIK – leppie

답변

9

먼저, 정규식이 아닌 필요한 단어 수를 사용하십시오.

정말로해야한다면 .{8,16}이 작동해야합니다. .은 그것이 무엇이든 관계없이 하나의 문자와 일치합니다.

편집 :

http://nilangshah.wordpress.com/2007/06/26/password-validation-via-regular-expression/

http://www.zorched.net/2009/05/08/password-strength-validation-with-regular-expressions/

: , 당신은이 블로그의 일부를 체크 아웃 할 수 있습니다 좋은 암호 유효성 검사 정규 표현식이 무엇인지 확실하게 될 다음 질문을 선점하려면

또는 Google에서 'password validation stackoverflow'을 조회하십시오.

6

시험해보십시오.

^.{8,16}$ 

도트는 해당 문자가 무엇인지 신경 쓰지 않고 단일 문자와 일치합니다. 유일한 예외는 개행 문자입니다. 기본적으로 점은 개행 문자와 일치하지 않습니다.

자세한 내용은 http://www.regular-expressions.info/dot.html을 참조하십시오.

관련 문제