Ký tự viết hoa regex javascript

Tôi đang thực hiện một số nghiên cứu về việc tìm kiếm một ví dụ hay về chương trình kiểm tra Độ mạnh mật khẩu sử dụng JavaScript và Biểu thức chính quy (Regex). Trong ứng dụng tại nơi làm việc của tôi, chúng tôi đăng lại để xác minh độ mạnh của mật khẩu và nó khá bất tiện cho người dùng của chúng tôi

Nội dung chính Hiển thị

Một bản hack đơn giản để lấp đầy kênh của bạn w

Vui lòng bật JavaScript

Một mẹo đơn giản để lấp đầy kênh của bạn với các triển vọng đủ điều kiện trên LinkedIn

Regex là gì?

Biểu thức chính quy là một chuỗi ký tự xác định mẫu tìm kiếm. Thông thường, các mẫu như vậy được sử dụng bởi các thuật toán tìm kiếm chuỗi tìm kiếm để tìm kiếm hoặc tìm kiếm và thay thế các hoạt động trên chuỗi hoặc để xác thực đầu vào.  

Bài viết này chắc chắn không phải để hướng dẫn bạn các biểu thức chính quy. Chỉ cần biết rằng khả năng sử dụng Biểu thức chính quy sẽ đơn giản hóa toàn bộ quá trình phát triển của bạn khi bạn tìm kiếm các mẫu trong văn bản. Cũng cần lưu ý rằng hầu hết các ngôn ngữ phát triển đã tối ưu hóa công việc sử dụng biểu thức chính quy… vì vậy thay vì phân tích cú pháp và tìm chuỗi tìm kiếm từng bước, Regex thường nhanh hơn nhiều máy chủ và phía sau

Tôi đã tìm kiếm khá nhiều trên web trước khi tìm thấy ví dụ về một số Biểu thức chính quy tuyệt vời khi tìm kiếm sự kết hợp giữa độ dài, ký tự và ký hiệu. Tuy nhiên, mã hơi quá phù hợp với sở thích của tôi và phù hợp với. BOC LUI. Vì vậy, tôi đã đơn giản hóa mã hóa và đưa nó vào JavaScript. Điều này làm cho nó xác thực độ mạnh của mật khẩu trong thời gian thực hiện trên trình duyệt của khách hàng trước khi đăng lại… và cung cấp một số phản hồi cho người dùng về độ mạnh của mật khẩu

Gõ mật khẩu

Với mỗi lần nhập bàn phím, mật khẩu được kiểm tra dựa trên biểu thức chính quy và sau đó phản hồi được cung cấp cho người dùng trong một khoảng bên dưới nó

Nhập mật khẩu.

This is Code

Biểu thức chính quy thực hiện công việc tuyệt vời là giảm thiểu độ dài của mã. Chức năng Javascript này kiểm tra độ mạnh của mật khẩu và xem việc phá mật khẩu dễ, trung bình, khó hay cực kỳ khó đoán. Khi người nhập đó, nó sẽ hiển thị các mẹo để khuyến khích nó mạnh hơn. Nó xác nhận mật khẩu dựa trên

  • Độ dài – If length bottom or on 8 characters
  • Trường hợp hỗn hợp – Nếu mật khẩu có cả ký tự chữ hoa và chữ thường
  • Số – Nếu mật khẩu bao gồm số
  • Ký tự đặc biệt – If mật khẩu bao gồm các ký tự đặc biệt

Chức năng hiển thị độ khó cũng như một số mẹo tăng độ khó cho mật khẩu

function checkPasswordStrength(password) {
  // Initialize variables
  var strength = 0;
  var tips = "";

  // Check password length
  if (password.length < 8) {
    tips += "Make the password longer. ";
  } else {
    strength += 1;
  }

  // Check for mixed case
  if (password.match(/[a-z]/) && password.match(/[A-Z]/)) {
    strength += 1;
  } else {
    tips += "Use both lowercase and uppercase letters. ";
  }

  // Check for numbers
  if (password.match(/\d/)) {
    strength += 1;
  } else {
    tips += "Include at least one number. ";
  }

  // Check for special characters
  if (password.match(/[^a-zA-Z\d]/)) {
    strength += 1;
  } else {
    tips += "Include at least one special character. ";
  }

  // Return results
  if (strength < 2) {
    return "Easy to guess. " + tips;
  } else if (strength === 2) {
    return "Medium difficulty. " + tips;
  } else if (strength === 3) {
    return "Difficult. " + tips;
  } else {
    return "Extremely difficult. " + tips;
  }
}

Làm cứng yêu cầu mật khẩu của bạn

Điều cần thiết là bạn không chỉ xác thực cấu trúc mật khẩu trong Javascript của mình. Điều này sẽ cho phép bất kỳ ai có công cụ phát triển trình duyệt bỏ qua tệp lệnh và sử dụng bất kỳ mật khẩu nào họ muốn. Bạn LUÔN LUÔN sử dụng kiểm tra máy chủ để xác thực độ mạnh của mật khẩu trước khi lưu trữ mật khẩu trong nền tảng của mình

Xác thực độ mạnh của mật khẩu là một bước quan trọng để đảm bảo tính bảo mật của tài khoản người dùng. Một cách để thực hiện điều này là sử dụng biểu thức chính quy (regex) và JavaScript

Để bắt đầu, hãy xác định ý nghĩa của mật khẩu mạnh. Mật khẩu mạnh thường là mật khẩu mà người khác khó đoán hoặc bẻ khóa. Điều này có thể đạt được bằng cách sử dụng kết hợp chữ hoa và chữ thường, số và ký tự đặc biệt và có độ dài tối thiểu tối thiểu là 8 ký tự

Bây giờ hãy xem cách chúng ta có thể sử dụng regex và JavaScript để xác thực độ mạnh của mật khẩu

Trước tiên, chúng ta có thể sử dụng mẫu biểu thức quy định chính để kiểm tra xem mật khẩu có đáp ứng yêu cầu về độ dài tối thiểu và bao gồm ít nhất không

/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$/
4 chữ cái,
/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$/
5 chữ cái,
/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$/
6 và
/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$/
7 không. Đây là một ví dụ về mẫu biểu thức chính quy định thực hiện điều này
/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$/

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Tiếp theo, chúng ta có thể sử dụng JavaScript để kiểm tra xem mật khẩu mà người dùng đã nhập có khớp với mẫu biểu thức chính quy này không. Chúng ta có thể làm điều này bằng cách sử dụng phương thức

/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$/
8 của đối tượng
/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$/
9. Đây là một ví dụ về cách sử dụng phương pháp này
let regex = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$/;
let password = "[email protected]";
let result = regex.test(password);

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

1-

let regex = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$/;
let password = "[email protected]";
let result = regex.test(password);
0. Điều này đánh dấu sự bắt đầu và kết thúc của mẫu biểu thức chính quy

2-

let regex = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$/;
let password = "[email protected]";
let result = regex.test(password);
1. Điều này chỉ định rằng mẫu sẽ bắt đầu ở đầu chuỗi

3-

let regex = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$/;
let password = "[email protected]";
let result = regex.test(password);
0. Đây là một xác nhận cái nhìn trước tích cực để kiểm tra sự hiện diện của ít nhất một chữ cái viết thường.
let regex = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$/;
let password = "[email protected]";
let result = regex.test(password);
1 có nghĩa là khớp với bất kỳ ký tự nào (ngoại trừ một dòng mới) 0 hoặc nhiều lần hơn và ______82 có nghĩa là khớp với bất kỳ chữ cái viết thường nào. Xác nhận cái nhìn trước đánh giá cực kiểm tra sự hiện diện của mẫu này, nhưng không sử dụng nó như một phần của đối chiếu

4-

let regex = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$/;
let password = "[email protected]";
let result = regex.test(password);
3. Đây là một xác nhận nhìn trước tích cực để kiểm tra sự hiện diện của ít nhất một chữ cái viết hoa.
let regex = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$/;
let password = "[email protected]";
let result = regex.test(password);
1 có nghĩa là khớp với bất kỳ ký tự nào (ngoại trừ một dòng mới) 0 hoặc nhiều lần hơn và _
let regex = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$/;
let password = "[email protected]";
let result = regex.test(password);
5 có nghĩa là khớp với bất kỳ chữ cái viết hoa nào. Xác nhận cái nhìn trước đánh giá cực kiểm tra sự hiện diện của mẫu này, nhưng không sử dụng nó như một phần của đối chiếu

5-

let regex = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$/;
let password = "[email protected]";
let result = regex.test(password);
6. Đây là một sự xác nhận cái nhìn trước tích cực để kiểm tra sự hiện diện của ít nhất một chữ số.
let regex = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$/;
let password = "[email protected]";
let result = regex.test(password);
1 có nghĩa là khớp với bất kỳ ký tự nào (ngoại trừ một dòng mới) 0 hoặc nhiều lần và ______88 có nghĩa là khớp với bất kỳ chữ số nào (0-9). Xác nhận cái nhìn trước đánh giá cực kiểm tra sự hiện diện của mẫu này, nhưng không sử dụng nó như một phần của đối chiếu

6-

let regex = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$/;
let password = "[email protected]";
let result = regex.test(password);
9. Đây là một sự xác nhận trước cái nhìn tích cực để kiểm tra sự hiện diện của ít nhất một ký tự đặc biệt.
let regex = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$/;
let password = "[email protected]";
let result = regex.test(password);
1 có nghĩa là khớp với bất kỳ ký tự nào (ngoại trừ một dòng mới) 0 hoặc nhiều lần hơn và ______141 có nghĩa là khớp với bất kỳ ký tự đặc biệt nào được liệt kê. Xác nhận cái nhìn trước đánh giá cực kiểm tra sự hiện diện của mẫu này, nhưng không sử dụng nó như một phần của đối chiếu

7-

/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$/
42. Các ký tự này khớp với bất kỳ chữ hoa, chữ thường, chữ số hoặc ký tự đặc biệt nào được liệt kê. Nó được sử dụng để chỉ định các ký tự có thể khớp với nhau như một phần của mật khẩu

số 8-

/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$/
43. Điều này chỉ định rằng bộ ký tự trước đó phải được khớp 8 lần trở lên. Điều này thực hiện yêu cầu độ dài tối thiểu cho mật khẩu

9-

/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$/
44. Điều này chỉ định rằng mẫu sẽ kết thúc ở cuối chuỗi

Trong ví dụ này, phương thức

_______ 18 sẽ trả lại _______ 146 nếu mật khẩu trả lời các yêu cầu được chỉ định bởi mẫu biểu thức chính quy và _______ 147 nếu không

Sau đó, chúng tôi có thể sử dụng giá trị

/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$/
48 this to verify xem mật khẩu có đủ mạnh hay không. Ví dụ. chúng tôi có thể hiển thị thông báo cho người dùng biết rằng mật khẩu của họ mạnh nếu kết quả là ____146 hoặc nhắc họ nhập mật khẩu mạnh hơn nếu kết quả sai

Bạn cũng nên xem xét thêm các kiểm tra xác thực độ mạnh mật khẩu bổ sung bên ngoài biểu thức chính quy. Ví dụ. bạn có thể kiểm tra xem mật khẩu có phải là mật khẩu thường được sử dụng hay mật khẩu không chứa tên hoặc địa chỉ email của người dùng

Bằng cách sử dụng regex và JavaScript để xác thực độ mạnh của mật khẩu, chúng tôi có thể giúp đảm bảo tính bảo mật của tài khoản người dùng và bảo vệ chống lại các cuộc tấn công bẻ khóa mật khẩu

Ghi chú. Xem xét các quy tắc của trình quản lý mật khẩu của bạn khi triển khai xác thực độ mạnh của mật khẩu. Các giới hạn về số và ký tự đặc biệt có thể xung đột với một số trình quản lý mật khẩu nhất định và gây ra sự cố khi lưu và sử dụng mật khẩu. Căn chỉnh tiêu chí xác thực độ mạnh mật khẩu của bạn với quy tắc của trình quản lý mật khẩu để có trải nghiệm liền mạch

Tôi hy vọng hướng dẫn này hữu ích trong công việc chỉ cho bạn cách xác thực độ mạnh của mật khẩu bằng regex và JavaScript. Tôi đã cố gắng hết sức để đưa ra một mẫu biểu thức chính quy đáp ứng các yêu cầu về mật khẩu mạnh, nhưng nếu bạn nhận thấy bất kỳ lỗi nào hoặc có đề xuất về một mẫu tốt hơn, vui lòng nhận xét lại. . Phản hồi của bạn luôn được chào đón và đánh giá cao

Làm cách nào để kiểm tra mật khẩu với RegEx?

RegEx để kiểm tra độ mạnh của mật khẩu .

Mật khẩu dài ít nhất 8 ký tự ( ?=. {số 8,} )

Mật khẩu có ít nhất một chữ cái viết hoa ( ?=. *[A-Z] )

Mật khẩu có ít nhất một chữ thường ( ?=.

Mật khẩu có ít nhất một chữ số ( ?=.

Mật khẩu có ít nhất một ký tự đặc biệt ( [^A-Za-z0-9] )

Làm cách nào để xác thực mật khẩu trong JavaScript?

Xác nhận xác thực mật khẩu bằng JavaScript .

Mật khẩu phải là chữ và số

Chữ cái đầu tiên của mật khẩu phải viết hoa

Mật khẩu phải chứa các ký tự đặc biệt (@, $,. , &, Vân vân)

Độ dài mật khẩu phải lớn hơn 8 ký tự

Một trong những điều quan trọng nhất là các trường mật khẩu không được để trống

Làm cách nào để khớp mật khẩu và xác nhận nhận mật khẩu trong JavaScript?

Đây là một phương pháp đơn giản để xác minh mật khẩu phù hợp. Mật khẩu ban đầu được lưu vào biến mật khẩu1 và xác nhận mật khẩu đã nhận được lưu vào biến mật khẩu2. Sau đó kiểm tra xem cả hai giá trị biến có bằng nhau không thì mật khẩu khớp nếu không thì mật khẩu không khớp