Xác thực mật khẩu bằng HTML và JavaScript
Cải thiện bài viết
Lưu bài viết
Thích bài viết
- Cập nhật lần cuối. 16 tháng 4 năm 2019
Cải thiện bài viết
Lưu bài viết
Nhiệm vụ là xác thực mật khẩu bằng HTML và JavaScript
Một mật khẩu là chính xác nếu nó chứa
- Ít nhất 1 ký tự viết hoa
- Ít nhất 1 ký tự chữ thường
- Ít nhất 1 chữ số
- Ít nhất 1 ký tự đặc biệt
- Tối thiểu 8 ký tự
Ví dụ
let check = new RegExp['vet'];
3________ 54 ________ 55 ________ 56
let check = new RegExp['vet'];
7 let check = new RegExp['vet'];
4____59____56 let check = new RegExp['vet'];
1 let check = new RegExp['vet'];
4 let check = new RegExp['vet'];
40 let check = new RegExp['vet'];
41 let check = new RegExp['vet'];
40 let check = new RegExp['vet'];
6 let check = new RegExp['vet'];
1 let check = new RegExp['vet'];
4 let check = new RegExp['vet'];
46 ________ 547 let check = new RegExp['vet'];
48 let check = new RegExp['vet'];
49 _______ 56_______551____552
_______553____554
_______553____556
_______557____558
_______553____560
_______561____562
_______561____564
_______561____566
let check = new RegExp['vet'];
57 let check = new RegExp['vet'];
68_______553____570
_______557____572
_______553____574
let check = new RegExp['vet'];
7_______551____577
let check = new RegExp['vet'];
1 let check = new RegExp['vet'];
79 let check = new RegExp['vet'];
46 let check = new RegExp['vet'];
6_______579____59____56
let check = new RegExp['vet'];
7________ 54 ________ 547 ________ 56
_______61____54____591____56
_______551____594
let check = new RegExp['vet'];
51 let check = new RegExp['vet'];
4 let check = new RegExp['vet'];
97 let check = new RegExp['vet'];
47 let check = new RegExp['vet'];
48 let check = new RegExp['vet'];
60 let check = new RegExp['vet'];
61 let check = new RegExp['vet'];
62____548 let check = new RegExp['vet'];
64 let check = new RegExp['vet'];
61 let check = new RegExp['vet'];
66____548 let check = new RegExp['vet'];
68 let check = new RegExp['vet'];
69 let check = new RegExp['vet'];
51 let check = new RegExp['vet'];
4____612 let check = new RegExp['vet'];
69 let check = new RegExp['vet'];
51 let check = new RegExp['vet'];
4____612 let check = new RegExp['vet'];
69 let check = new RegExp['vet'];
51 let check = new RegExp['vet'];
4 let check = new RegExp['vet'];
97 let check = new RegExp['vet'];
47 let check = new RegExp['vet'];
48 let check = new RegExp['vet'];
43 let check = new RegExp['vet'];
61 let check = new RegExp['vet'];
45____548 let check = new RegExp['vet'];
47 let check = new RegExp['vet'];
61 let check = new RegExp['vet'];
49____548 let check = new RegExp['vet'];
401 let check = new RegExp['vet'];
69 let check = new RegExp['vet'];
51 let check = new RegExp['vet'];
4____612 let check = new RegExp['vet'];
69 let check = new RegExp['vet'];
51 let check = new RegExp['vet'];
4____612 let check = new RegExp['vet'];
410 let check = new RegExp['vet'];
51 let check = new RegExp['vet'];
4 let check = new RegExp['vet'];
97 let check = new RegExp['vet'];
47 let check = new RegExp['vet'];
48 let check = new RegExp['vet'];
60 let check = new RegExp['vet'];
61 let check = new RegExp['vet'];
66____548 let check = new RegExp['vet'];
420________ 561 ________ 5422
_______61____579____591____56
let check = new RegExp['vet'];
79 let check = new RegExp['vet'];
47 let check = new RegExp['vet'];
6 let check = new RegExp['vet'];
7 let check = new RegExp['vet'];
79 let check = new RegExp['vet'];
5 let check = new RegExp['vet'];
6đầu ra
Ghi chú cá nhân của tôi arrow_drop_up
Tiết kiệm
Vui lòng Đăng nhập để nhận xét.
Mật khẩu rất quan trọng trong bảo mật ứng dụng. Mọi người đều cần một mật khẩu mạnh để bảo mật hệ thống và tài khoản của họ. Trong hướng dẫn này, chúng ta sẽ thảo luận về cách đảm bảo rằng người dùng cuối chọn mật khẩu đủ mạnh để bảo mật tài khoản của họ bằng Biểu thức chính quy trong JavaScript
điều kiện tiên quyết
Hiểu biết cơ bản về HTML, CSS và JavaScript sẽ được yêu cầu để làm theo hướng dẫn này
Lớp biểu thức chính quy
Biểu thức chính quy là các mẫu được sử dụng để so khớp các tổ hợp ký tự trong chuỗi. Trong JavaScript, biểu thức chính quy cũng là đối tượng
Regex cũng được ký hiệu là
let check = new RegExp['vet'];
87Chúng có thể được xây dựng bằng cách sử dụng
- Chữ Biểu thức chính quy trong đó mẫu được đặt giữa hai dấu gạch chéo
let check = /vet/
- Hàm tạo của lớp
0 và bằng cách chuyển một chuỗi phải được kiểm tralet check = new RegExp['vet'];
let check = new RegExp['vet'];
Chúng tôi sử dụng hàm tạo khi mẫu tiếp tục thay đổi hoặc nếu chúng tôi lấy nó từ một nguồn khác, chẳng hạn như đầu vào của người dùng. Vì lý do này, chúng ta sẽ sử dụng hàm tạo vì chúng ta sẽ lấy mật khẩu từ người dùng
hoa văn
CharactersMeaning\dKiểm tra một chữ số khớp e. g. nó trả về 2 trong “U2”. \WKiểm tra ký tự đặc biệt e. g. trả về % trong “2%”. x{n,}Kiểm tra ít nhất n số hạng từ số hạng đứng trước x e. g. O{2,} không trả về bất cứ thứ gì trong “BOY” nhưng trả về tất cả Os trong GOOOOOAL. xIyKhớp x hoặc y trong một chuỗi[^vet]Một tập hợp phủ định. Không kiểm tra bất kỳ thứ gì có trong phạm vi tức là Không kiểm tra bác sĩ thú y trong “thú y”[A-Za-z0-9]Kiểm tra tất cả các ký tự chữ và số[a-z]Kiểm tra chữ thường[A-Z]Kiểm tra chữ hoax[?= . Kiểm tra bất kỳ ký tự đơn nào trừ ký tự kết thúc dòng x*Kiểm tra x 0 hoặc nhiều lần hơnRegEx để kiểm tra độ mạnh của mật khẩu
Chúng tôi sẽ kiểm tra độ mạnh của mật khẩu mà người dùng nhập dựa trên các quy tắc sau
Mật khẩu dài ít nhất 8 ký tự [
1]let check = new RegExp['vet'];
Mật khẩu có ít nhất một chữ cái viết hoa [
2]let check = new RegExp['vet'];
Mật khẩu có ít nhất một chữ thường [
3]let check = new RegExp['vet'];
Mật khẩu có ít nhất một chữ số [______14]
Mật khẩu có ít nhất một ký tự đặc biệt [______15]
GHI CHÚ. Hai nhóm dấu ngoặc đơn
6 giống như kiểm tra cả x và y trong khi hai nhóm dấu ngoặc đơn cólet check = new RegExp['vet'];
7 ở giữa chúnglet check = new RegExp['vet'];
8 giống như kiểm tra x hoặc y như trong bảng trênlet check = new RegExp['vet'];
Chúng tôi sẽ có ba cấp độ để biểu thị mức độ an toàn của mật khẩu
họ đang
- Mạnh. Mật khẩu phải đáp ứng tất cả các yêu cầu
Sử dụng các số liệu ở trên, chúng tôi sẽ tạo một mật khẩu cấp độ mạnh có ít nhất một chữ cái viết thường [
let check = new RegExp['vet'];
3], một chữ cái viết hoa [ let check = new RegExp['vet'];
2], một chữ số [ let check = new RegExp['vet'];
4], một ký tự đặc biệt [ let check = new RegExp['vet'];
42] và ít nhất là tám let check = new RegExp['vet'];
4- Trung bình. Nếu mật khẩu dài ít nhất sáu ký tự và đáp ứng tất cả các yêu cầu khác hoặc không có chữ số nhưng đáp ứng các yêu cầu còn lại
Mã này giống như đối với cấp độ Mạnh, chỉ có điều
let check = new RegExp['vet'];
44 cho thấy rằng chúng tôi đang kiểm tra ít nhất sáu ký tự. Nó cũng có let check = new RegExp['vet'];
7 để kiểm tra một trong hai điều kiện let check = new RegExp['vet'];
46 hoặc let check = new RegExp['vet'];
47 let check = new RegExp['vet'];
1- Yếu ớt. Nếu mật khẩu đã nhập không đáp ứng các yêu cầu ở mức độ mạnh hoặc trung bình, thì nó được coi là yếu
Mã HTML
let check = new RegExp['vet'];
2Chúng tôi sẽ sử dụng Bootstrap 5 để tạo kiểu bằng cách thêm liên kết CDN cho biểu định kiểu Bootstrap và liên kết nó với tệp HTML bằng cách sử dụng thẻ
48let check = new RegExp['vet'];
Chúng tôi sẽ viết các kiểu tùy chỉnh của mình bằng cách sử dụng thẻ
49. Chúng tôi có hai lớp,let check = new RegExp['vet'];
10 vàlet check = new RegExp['vet'];
11.let check = new RegExp['vet'];
10 tạo kiểu cho đầu vào mật khẩu bằng cách cho phép lề 5% từ trên xuống và cũng căn chỉnh văn bản đã nhập ở giữa.let check = new RegExp['vet'];
11 làm tương tự cho khoảng và ẩn nó vì chúng tôi chỉ hiển thị nó khi người dùng bắt đầu nhập mật khẩulet check = new RegExp['vet'];
Trong thẻ
14 chúng ta có phần tửlet check = new RegExp['vet'];
15 với ba phần tửlet check = new RegExp['vet'];
Phần tử đầu tiên là một tiêu đề đơn giản [
16] với một số kiểu nội tuyếnlet check = new RegExp['vet'];
Phần tử thứ hai là đầu vào nơi người dùng sẽ nhập mật khẩu. Chúng tôi đã sử dụng lớp
17 từ Bootstrap và lớp tùy chỉnh của chúng tôilet check = new RegExp['vet'];
10 để tạo kiểu cho phần tửlet check = new RegExp['vet'];
Phần tử thứ ba là
19, đây là nơi độ mạnh của mật khẩu sẽ được gắn nhãn dưới dạng huy hiệu có màu. Xanh lục cho mạnh, Xanh dương cho trung bình và Đỏ cho yếulet check = new RegExp['vet'];
mã JavaScript
Hãy tạo năm biến
20. để tham khảo thời gian chờ trước khi gọi lạilet check = new RegExp['vet'];
21. cho đầu vào nơi mật khẩu sẽ được nhậplet check = new RegExp['vet'];
22. để lưu trữ khoảng thời gian được sử dụng để hiển thị độ mạnh của mật khẩu [mà chúng ta có thể truy cập bằng ID của phần tử DOM]let check = new RegExp['vet'];
23. để lưu trữ các điều kiện Regexlet check = new RegExp['vet'];
24. cũng được sử dụng để lưu trữ các điều kiện Regexlet check = new RegExp['vet'];
let check = new RegExp['vet'];
0Hãy tạo một hàm có tên là
let check = new RegExp['vet'];
25 để kiểm tra độ mạnh của mật khẩu bằng cách sử dụng các biểu thức chính quy mà chúng ta đã viết bằng phương thức let check = new RegExp['vet'];
26. Nó trả về let check = new RegExp['vet'];
27 nếu khớp hoặc let check = new RegExp['vet'];
28 nếu không khớpSau đó, hãy đặt màu nền [
let check = new RegExp['vet'];
29] và văn bản của huy hiệu [ let check = new RegExp['vet'];
00] theo kết quả let check = new RegExp['vet'];
7Hãy thêm một trình lắng nghe sự kiện đầu vào vào đầu vào
let check = new RegExp['vet'];
21 và kiểm tra độ mạnh bằng hàm let check = new RegExp['vet'];
25 khi người dùng đã nhập nội dung nào đó. Chúng ta sẽ không gọi hàm ngay sau mỗi lần gõ phím. Khi người dùng gõ nhanh, chúng ta nên đợi cho đến khi tạm dừng xảy ra. Vì vậy, thay vì kiểm tra cường độ ngay lập tức, chúng tôi sẽ đặt thời gian chờChúng ta nên xóa thời gian chờ trước đó nếu có bất kỳ. Khi các sự kiện xảy ra gần nhau hơn thời gian chờ của chúng tôi, thời gian chờ từ sự kiện đầu vào trước đó sẽ bị hủy
let check = new RegExp['vet'];
0Mã JavaScript đầy đủ
Thay vì viết JavaScript nội tuyến với tệp HTML, chúng tôi sẽ tạo một tệp JavaScript mới, viết đoạn mã sau và sau đó liên kết nó với HTML bằng cách sử dụng thẻ script, chẳng hạn như
let check = new RegExp['vet'];
03 let check = new RegExp['vet'];
2Phần kết luận
Bạn đã học cách sử dụng JavaScript RegEx để tạo trình kiểm tra mật khẩu ba cấp. Bạn có thể xây dựng ví dụ bằng cách triển khai nhiều cấp độ hơn như Quá mạnh và Quá yếu