2016-12-06 1 views
-3

제목으로 문자열에 적어도 6 자, 대문자 및 하나의 숫자가 포함되어 있는지 확인하고 싶습니다. regex을 사용하거나이 방법을 사용하는 것이 더 간단합니까? 문자열의문자열에 6 자 이상의 대문자와 하나의 숫자가 있는지 확인하는 방법은 무엇입니까? - 자바

예 : Hello7 내가이 작업을 수행 할 수있는 정규식을 만드는 데 도움이 필요

, 당신은 나에게 도움을 줄 수 있습니까? 최소한 특정 수의 문자를 필요로한다고 말하면 적어도 감사합니다.

+2

직접 해보고 해결하기 위해 무엇을 했습니까? 정규식에 얼마나 익숙합니까? 정규 표현식을 작성하는 방법을 연구 했습니까? –

+0

이것은 정규 표현식을 사용하지 않습니다. 특히 필요한 문자가 테스트 문자열 내의 임의의 위치에 나타날 수있는 경우 특히 그렇습니다. –

+0

정규 표현식 테스터에서 조금 놀아 라. 이것은 하나의 예이지만 많은 다른 것들이 있으며 당신에게 가장 잘 맞는 것을 찾을 수 있습니다. https://regex101.com/ – maniak1982

답변

1
(?=.*[A-Z])(?=.*\d)(?=.{6}).* 

online demo

**이 연속 단 세 (?=.*pattern) "lookaheads"입니다. 패턴이 전체 문자열을 스캔 할 수있게하려면 각 미리보기 내부에 .*을 적어 두십시오. 마지막 .*은 세 개의 미리보기가 성공할 경우를 대비하여 나머지 문자열을 소비하기위한 것입니다. 두 경우 모두 "isMatch"또는 동등한 문자가 true이어야합니다.

+2

그리고 지금은 설명해 주시면 미래에 다른 사람들에게 유용 할뿐 아니라 그것이 효과가있을 것이라는 희망의 문제에 블랙 박스가 던져지지는 않을까요? 물론 –

+0

물론입니다;) – sweaver2112

1

하나의 정규식을 쓸 수는 있지만 복잡한 코드입니다. 대신 당신은 할 수 :

var title = 'Hello7'; 
title.match(/\d/) && title.match(/[A-Z]/) && title.length >= 6 // => true 
+0

내 암호는 다음과 같아야합니다 :'H7' (4 칸 이상,'H7') –

+0

@SeanBright 글자의 길이가 아니라 문자의 길이에 대한 요구 사항 만 볼 수 있습니다 (최소한 하나의 수도 제외). 또한 암호가 아니라 제목입니다. – ndn

+1

나도 알아, 나는 그냥 트롤링했다. 이것이 내가 구현할 수있는 방법이다. –

관련 문제