비밀번호 강도를 구현하는 두 가지 JS 정규식 방법
이 문서에서는 비밀번호 강도를 위한 두 가지 정규식 구성표, 즉 간단한 방법과 더 복잡하고 안전한 방법을 제공합니다. 그리고 두 솔루션의 분석 및 테스트 절차가 각각 제공됩니다. 일반적으로 프로젝트의 실제 요구 사항에 따라 자신만의 비밀번호 규칙을 정의할 수 있습니다.
머리말
사용자가 등록할 때 비밀번호 규칙성 확인이 사용됩니다. 올바른 정규 표현식을 작성하려면 먼저 표현식 규칙을 정의해야 합니다.
옵션 1(단순)
비밀번호 확인이 다음과 같이 정의되어 있다고 가정합니다.
최소 6자리, 최대 16자리 {6,16}
에는 소문자 [a-z] 및 대문자 [A-Z]
는 숫자 [0-9]를 포함할 수 있습니다. 리터럴 정의 다음과 같습니다.
-
var pattern = /^[\w_-]{6,16}$/;
로그인 후 복사
Literal / /
정규 표현식의 리터럴은 슬래시(/) 쌍 사이에 포함된 문자로 정의됩니다. 예:
var pattern = /s$/;
문자 클래스 [ ]
문자를 대괄호 안에 넣어 문자 클래스를 구성하세요. 문자 클래스는 포함된 모든 문자와 일치할 수 있습니다. 따라서 정규식 /[abc]/는 "a", "b" 또는 "c" 문자와 일치합니다.
문자 클래스는 하이픈을 사용하여 문자 범위를 나타낼 수 있습니다. 라틴 소문자를 일치시키려면 /[a-z]/ 를 사용하세요.
Character 클래스 w
Character 클래스 w는 [a-zA-Z0-9]에 해당하는 ASCII 문자로 구성된 모든 단어와 일치합니다.
[w_-]는 라틴어 대문자 및 소문자, 숫자, 밑줄 및 빼기 기호를 일치시키는 것을 의미합니다.
Repeat {}
정규 표현식에서 { }를 사용하여 요소가 반복되는 횟수를 나타냅니다.
{n,m}은 이전 항목과 최소 n번 일치하지만 m번 이하입니다.
{n,}는 이전 항목과 n번 이상 일치합니다.
{n}은 이전 항목과 일치합니다. item 항목 n번
- [w_-]{6,16}은 라틴 대문자와 소문자, 숫자, 밑줄, 빼기 기호가 최소 6회에서 최대 16회 나타나는 것을 의미합니다.
위치 일치
^ 문자열의 시작과 일치, 여러 줄 검색에서 줄의 시작과 일치
/^w/는 대문자나 소문자 또는 숫자로 시작하는 문자열과 일치합니다.
플랜 1 테스트
테스트 결과는 다음과 같습니다.
var pattern = /^[\w_-]{6,16}$/;
pattern.test('123456') = true;
pattern.test('-ifat33') = true;
pattern.test('42du') = false;
pattern.test('du42du42du42du421') = false;
pattern.test('42du42@') = false;
옵션 2(보안)
비밀번호 확인이 다음과 같이 정의되어 있다고 가정합니다.
최소 6자리, 최대 16자리 {6,16}
1을 포함해야 합니다. number
-
소문자 2개 포함
대문자 2개 포함
특수문자 1개 포함
- 위의 규칙에 따르면 다음과 같이 일반 리터럴 정의를 쉽게 제공할 수 있습니다. :
var pattern = /^.*(?=.{6,16})(?=.*\d)(?=.*[A-Z]{2,})(?=.*[a-z]{2,})(?=.*[!@#$%^&*?\(\)]).*$/;
로그인 후 복사
Character 클래스. 줄바꿈 및 기타 유니코드 줄 종결자를 제외한 모든 문자를 나타냅니다.
정방향 예측 어설션(?= )"(?=" 및 ")" 기호 사이에 표현식을 추가합니다. 이는 괄호 안의 식이 올바르게 일치해야 함을 나타내는 예측 어설션입니다. 예를 들어, /Java(?=:)/는 Java와만 일치할 수 있으며 뒤에는 콜론이 옵니다.
이 미리보기 어설션은 특수 문자가 포함되어야 함을 나타냅니다. 위 수식의 특수문자 10개는 키보드 1, 2...0의 상단 쉬프트키 문자이며, 다른 특수문자도 추가 가능합니다. 참고: 추가된 문자가 정규식에서 특별한 의미를 갖는 경우 기호 앞에 백슬래시()를 사용하여 이스케이프해야 합니다.
옵션 2 테스트(?=.*[!@#$%^&*?()])
테스트 결과는 다음과 같습니다.
var pattern = /^.*(?=.{6,16})(?=.*\d)(?=.*[A-Z]{2,})(?=.*[a-z]{2,})(?=.*[!@#$%^&*?\(\)]).*$/;
pattern.test('du42DU!') = true;
pattern.test('duDUd!') = false;
pattern.test('42dud!') = false;
pattern.test('42DUD!') = false;
pattern.test('42duDU') = false;
pattern.test('42duU(') = false;
pattern.test('42dUU!') = false;
JavaScript 정규식 팁
위 내용은 비밀번호 강도를 구현하는 두 가지 JS 정규식 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











WebSocket 및 JavaScript를 사용하여 온라인 음성 인식 시스템을 구현하는 방법 소개: 지속적인 기술 개발로 음성 인식 기술은 인공 지능 분야의 중요한 부분이 되었습니다. WebSocket과 JavaScript를 기반으로 한 온라인 음성 인식 시스템은 낮은 대기 시간, 실시간, 크로스 플랫폼이라는 특징을 갖고 있으며 널리 사용되는 솔루션이 되었습니다. 이 기사에서는 WebSocket과 JavaScript를 사용하여 온라인 음성 인식 시스템을 구현하는 방법을 소개합니다.

WebSocket과 JavaScript: 실시간 모니터링 시스템 구현을 위한 핵심 기술 서론: 인터넷 기술의 급속한 발전과 함께 실시간 모니터링 시스템이 다양한 분야에서 널리 활용되고 있다. 실시간 모니터링을 구현하는 핵심 기술 중 하나는 WebSocket과 JavaScript의 조합입니다. 이 기사에서는 실시간 모니터링 시스템에서 WebSocket 및 JavaScript의 적용을 소개하고 코드 예제를 제공하며 구현 원칙을 자세히 설명합니다. 1. 웹소켓 기술

JavaScript 및 WebSocket을 사용하여 실시간 온라인 주문 시스템을 구현하는 방법 소개: 인터넷의 대중화와 기술의 발전으로 점점 더 많은 레스토랑에서 온라인 주문 서비스를 제공하기 시작했습니다. 실시간 온라인 주문 시스템을 구현하기 위해 JavaScript 및 WebSocket 기술을 사용할 수 있습니다. WebSocket은 TCP 프로토콜을 기반으로 하는 전이중 통신 프로토콜로 클라이언트와 서버 간의 실시간 양방향 통신을 실현할 수 있습니다. 실시간 온라인 주문 시스템에서는 사용자가 요리를 선택하고 주문을 하면

WebSocket과 JavaScript를 사용하여 온라인 예약 시스템을 구현하는 방법 오늘날의 디지털 시대에는 점점 더 많은 기업과 서비스에서 온라인 예약 기능을 제공해야 합니다. 효율적인 실시간 온라인 예약 시스템을 구현하는 것이 중요합니다. 이 기사에서는 WebSocket과 JavaScript를 사용하여 온라인 예약 시스템을 구현하는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 1. WebSocket이란 무엇입니까? WebSocket은 단일 TCP 연결의 전이중 방식입니다.

Golang 정규 표현식은 파이프 문자 |를 사용하여 여러 단어 또는 문자열을 일치시키고 각 옵션을 논리적 OR 표현식으로 구분합니다. 예: "fox" 또는 "dog"와 일치: fox|dog은 "quick", "brown" 또는 "lazy"와 일치: (quick|brown|lazy)는 "Go", "Python" 또는 "Java"와 일치: Go| Python |Java는 단어 또는 4자리 우편번호와 일치합니다: ([a-zA

JavaScript 및 WebSocket: 효율적인 실시간 일기 예보 시스템 구축 소개: 오늘날 일기 예보의 정확성은 일상 생활과 의사 결정에 매우 중요합니다. 기술이 발전함에 따라 우리는 날씨 데이터를 실시간으로 획득함으로써 보다 정확하고 신뢰할 수 있는 일기예보를 제공할 수 있습니다. 이 기사에서는 JavaScript 및 WebSocket 기술을 사용하여 효율적인 실시간 일기 예보 시스템을 구축하는 방법을 알아봅니다. 이 문서에서는 특정 코드 예제를 통해 구현 프로세스를 보여줍니다. 우리

JavaScript 튜토리얼: HTTP 상태 코드를 얻는 방법, 특정 코드 예제가 필요합니다. 서문: 웹 개발에서는 서버와의 데이터 상호 작용이 종종 포함됩니다. 서버와 통신할 때 반환된 HTTP 상태 코드를 가져와서 작업의 성공 여부를 확인하고 다양한 상태 코드에 따라 해당 처리를 수행해야 하는 경우가 많습니다. 이 기사에서는 JavaScript를 사용하여 HTTP 상태 코드를 얻는 방법과 몇 가지 실용적인 코드 예제를 제공합니다. XMLHttpRequest 사용

사용법: JavaScript에서 insertBefore() 메서드는 DOM 트리에 새 노드를 삽입하는 데 사용됩니다. 이 방법에는 삽입할 새 노드와 참조 노드(즉, 새 노드가 삽입될 노드)라는 두 가지 매개 변수가 필요합니다.
