반응형
최소 8자, 숫자 1개, 대문자 1개, 소문자 1개를 포함하는 비밀번호용 javascript regex
다음 조건을 충족해야 하는 암호를 검증하기 위해 정규식을 작성하려고 합니다.
- 8자 이상 포함
- 최소 1개의 숫자를 포함합니다.
- 소문자(a-z)를 하나 이상 포함합니다.
- 하나 이상의 대문자(A-Z) 포함
- 0-9a-zA-Z만 포함합니다.
다음을 시도해 보았지만 작동이 되지 않는 것 같습니다.
http://jsfiddle.net/many_tentacles/Hzuc9/
<input type='button' value='click' class='buttonClick' />
<input type='text' />
<div></div>
그리고...
$(".buttonClick").click(function () {
if ($("input[type=text]").filter(function () {
return this.value.match(/^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])([a-zA-Z0-9]{8})$/);
})) {
$("div").text("pass");
} else {
$("div").text("fail");
}
});
무슨 생각 있어요?
정규 표현식은 다음과 같이 표시됩니다.
/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])[0-9a-zA-Z]{8,}$/
여기 설명이 있습니다.
/^
(?=.*\d) // should contain at least one digit
(?=.*[a-z]) // should contain at least one lower case
(?=.*[A-Z]) // should contain at least one upper case
[a-zA-Z0-9]{8,} // should contain at least 8 from the mentioned characters
$/
개별 정규식을 사용하여 서로 다른 부분을 검정하는 것은 하나의 정규식으로 모든 부분을 처리하는 것보다 훨씬 쉽습니다.또한 유효성 검사 기준을 더 쉽게 추가하거나 제거할 수 있습니다.
또한, 당신이 사용하는 것은.filter()
틀렸습니다. 항상 jQuery 개체(JavaScript에서 진실로 간주됨)를 반환합니다.저는 개인적으로..each()
루프를 사용하여 모든 입력을 반복하고 개별 합격/불합격 상태를 보고합니다.아래와 같은 것:
$(".buttonClick").click(function () {
$("input[type=text]").each(function () {
var validated = true;
if(this.value.length < 8)
validated = false;
if(!/\d/.test(this.value))
validated = false;
if(!/[a-z]/.test(this.value))
validated = false;
if(!/[A-Z]/.test(this.value))
validated = false;
if(/[^0-9a-zA-Z]/.test(this.value))
validated = false;
$('div').text(validated ? "pass" : "fail");
// use DOM traversal to select the correct div for this input above
});
});
최소 8개 ={8,}
:
str.match(/^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])([a-zA-Z0-9]{8,})$/)
정규 표현식은 8자만 사용할 수 있습니다.{8,}
대신에 8개 또는 그 이상을 지정합니다.{8}
.
그런데 비밀번호에 허용되는 문자 범위를 제한하는 이유가 무엇입니까?8자 영숫자 비밀번호는 몇 분 안에 휴대전화로 강제 사용할 수 있습니다.
언급URL : https://stackoverflow.com/questions/14850553/javascript-regex-for-password-containing-at-least-8-characters-1-number-1-uppe
반응형
'programing' 카테고리의 다른 글
쿼리 진행 상황 확인(Oracle PL/SQL) (0) | 2023.10.04 |
---|---|
행 대 장조 대 열 대 장조 혼동 (0) | 2023.10.04 |
여러 표에 걸친 합성 지수와 동등합니까? (0) | 2023.10.04 |
execute 문을 사용하여 변수에 값을 할당하는 방법 (0) | 2023.10.04 |
boole 값을 초기 값과 반대로 변경 (0) | 2023.10.04 |