Hướng dẫn strong password regex javascript - mật khẩu mạnh regex javascript

Tôi đang thực hiện một số nghiên cứu về việc tìm một ví dụ điển hình về công cụ kiểm tra Độ bền 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 thực hiện một bà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.JavaScriptBiể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 thực hiện một bà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.

Regex là gì?

Biểu thức chính quy là một chuỗi các ký tự xác định một 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 cho tìm or tìm và thay thế hoạt động trên chuỗi hoặc để xác nhận đầu vào. tìm or tìm và thay thế hoạt động trên chuỗi hoặc để xác nhận đầu vào. 

Bài viết này chắc chắn không dạy bạn 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ẽ hoàn toàn đơn giản hóa việc phát triển của bạn khi bạn tìm kiếm các mẫu trong văn bản. Điều quan trọng cần lưu ý là hầu hết các ngôn ngữ phát triển đã tối ưu hóa 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 kiếm các chuỗi theo từng bước, Regex thường nhanh hơn nhiều ở cả phía máy chủ và phía máy khách.

Tôi đã tìm kiếm trên web khá nhiều trước khi tìm thấy một ví dụ một số Biểu thức chính quy tuyệt vời tìm kiếm sự kết hợp của độ dài, ký tự và ký hiệu. Tuy nhiên, mã hơi thừa đối với sở thích của tôi và phù hợp với .NET. Vì vậy, tôi đã đơn giản hóa mã và đặt nó trong 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 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 hành trình của 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 thời gian bên dưới nó.


Nhập mật khẩu

Đây là mã

Mô hình Biểu thức chính quy thực hiện một công việc tuyệt vời là giảm thiểu độ dài của mã:Biểu thức chính quy thực hiện một công việc tuyệt vời là giảm thiểu độ dài của mã:

  • Các ký tự khác - Nếu độ dài dưới 8 ký tự. - Nếu độ dài dưới 8 ký tự.
  • Yếu - Nếu độ dài dưới 10 ký tự và không chứa tổ hợp ký hiệu, chữ hoa, văn bản. - Nếu độ dài dưới 10 ký tự và không chứa tổ hợp ký hiệu, chữ hoa, văn bản.
  • Trung bình - Nếu độ dài từ 10 ký tự trở lên và có sự kết hợp của các ký hiệu, chữ hoa, chữ. - Nếu độ dài từ 10 ký tự trở lên và có sự kết hợp của các ký hiệu, chữ hoa, chữ.
  • Mạnh – Nếu độ dài từ 14 ký tự trở lên và có sự kết hợp của các ký hiệu, chữ viết hoa, văn bản.Nếu độ dài từ 14 ký tự trở lên và có sự kết hợp của các ký hiệu, chữ viết hoa, văn bản.
<script language="javascript">
    function passwordChanged() {
        var strength = document.getElementById('strength');
        var strongRegex = new RegExp("^(?=.{14,})(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*\\W).*$", "g");
        var mediumRegex = new RegExp("^(?=.{10,})(((?=.*[A-Z])(?=.*[a-z]))|((?=.*[A-Z])(?=.*[0-9]))|((?=.*[a-z])(?=.*[0-9]))).*$", "g");
        var enoughRegex = new RegExp("(?=.{8,}).*", "g");
        var pwd = document.getElementById("password");
        if (pwd.value.length == 0) {
            strength.innerHTML = 'Type Password';
        } else if (false == enoughRegex.test(pwd.value)) {
            strength.innerHTML = 'More Characters';
        } else if (strongRegex.test(pwd.value)) {
            strength.innerHTML = '<span style="color:green">Strong!</span>';
        } else if (mediumRegex.test(pwd.value)) {
            strength.innerHTML = '<span style="color:orange">Medium!</span>';
        } else {
            strength.innerHTML = '<span style="color:red">Weak!</span>';
        }
    }
</script>
<input name="password" id="password" type="text" size="15" maxlength="100" onkeyup="return passwordChanged();" />
<span id="strength">Type Password</span>

Tăng 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 nhận 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 nên sử dụng kiểm tra phía máy chủ để xác thực độ mạnh của mật khẩu trước khi lưu trữ nó trong nền tảng của bạn.

Tôi đang thực hiện một số nghiên cứu về việc tìm một ví dụ điển hình về công cụ kiểm tra Độ bền 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 thực hiện một bà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.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 thực hiện một bà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.JavaScriptBiể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 thực hiện một bà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.

Regex là gì?

Biểu thức chính quy là một chuỗi các ký tự xác định một 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 cho tìm or tìm và thay thế hoạt động trên chuỗi hoặc để xác nhận đầu vào. tìm or tìm và thay thế hoạt động trên chuỗi hoặc để xác nhận đầu vào. tìm or tìm và thay thế hoạt động trên chuỗi hoặc để xác nhận đầu vào. 

Bài viết này chắc chắn không dạy bạn 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ẽ hoàn toàn đơn giản hóa việc phát triển của bạn khi bạn tìm kiếm các mẫu trong văn bản. Điều quan trọng cần lưu ý là hầu hết các ngôn ngữ phát triển đã tối ưu hóa 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 kiếm các chuỗi theo từng bước, Regex thường nhanh hơn nhiều ở cả phía máy chủ và phía máy khách.

Tôi đã tìm kiếm trên web khá nhiều trước khi tìm thấy một ví dụ một số Biểu thức chính quy tuyệt vời tìm kiếm sự kết hợp của độ dài, ký tự và ký hiệu. Tuy nhiên, mã hơi thừa đối với sở thích của tôi và phù hợp với .NET. Vì vậy, tôi đã đơn giản hóa mã và đặt nó trong 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 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 hành trình của 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 thời gian bên dưới nó.


Nhập mật khẩu

Đây là mã

Mô hình Biểu thức chính quy thực hiện một công việc tuyệt vời là giảm thiểu độ dài của mã:Biểu thức chính quy thực hiện một công việc tuyệt vời là giảm thiểu độ dài của mã:Biểu thức chính quy thực hiện một công việc tuyệt vời là giảm thiểu độ dài của mã:

  • Các ký tự khác - Nếu độ dài dưới 8 ký tự. - Nếu độ dài dưới 8 ký tự. - Nếu độ dài dưới 8 ký tự.
  • Yếu - Nếu độ dài dưới 10 ký tự và không chứa tổ hợp ký hiệu, chữ hoa, văn bản. - Nếu độ dài dưới 10 ký tự và không chứa tổ hợp ký hiệu, chữ hoa, văn bản. - Nếu độ dài dưới 10 ký tự và không chứa tổ hợp ký hiệu, chữ hoa, văn bản.
  • Trung bình - Nếu độ dài từ 10 ký tự trở lên và có sự kết hợp của các ký hiệu, chữ hoa, chữ. - Nếu độ dài từ 10 ký tự trở lên và có sự kết hợp của các ký hiệu, chữ hoa, chữ. - Nếu độ dài từ 10 ký tự trở lên và có sự kết hợp của các ký hiệu, chữ hoa, chữ.
  • Mạnh – Nếu độ dài từ 14 ký tự trở lên và có sự kết hợp của các ký hiệu, chữ viết hoa, văn bản. – Nếu độ dài từ 14 ký tự trở lên và có sự kết hợp của các ký hiệu, chữ viết hoa, văn bản.Nếu độ dài từ 14 ký tự trở lên và có sự kết hợp của các ký hiệu, chữ viết hoa, văn bản.
<script language="javascript">
    function passwordChanged() {
        var strength = document.getElementById('strength');
        var strongRegex = new RegExp("^(?=.{14,})(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*\\W).*$", "g");
        var mediumRegex = new RegExp("^(?=.{10,})(((?=.*[A-Z])(?=.*[a-z]))|((?=.*[A-Z])(?=.*[0-9]))|((?=.*[a-z])(?=.*[0-9]))).*$", "g");
        var enoughRegex = new RegExp("(?=.{8,}).*", "g");
        var pwd = document.getElementById("password");
        if (pwd.value.length == 0) {
            strength.innerHTML = 'Type Password';
        } else if (false == enoughRegex.test(pwd.value)) {
            strength.innerHTML = 'More Characters';
        } else if (strongRegex.test(pwd.value)) {
            strength.innerHTML = '<span style="color:green">Strong!</span>';
        } else if (mediumRegex.test(pwd.value)) {
            strength.innerHTML = '<span style="color:orange">Medium!</span>';
        } else {
            strength.innerHTML = '<span style="color:red">Weak!</span>';
        }
    }
</script>
<input name="password" id="password" type="text" size="15" maxlength="100" onkeyup="return passwordChanged();" />
<span id="strength">Type Password</span>

Tăng 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 nhận 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 nên sử dụng kiểm tra phía máy chủ để xác thực độ mạnh của mật khẩu trước khi lưu trữ nó trong nền tảng của bạn.

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 tôi 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 cách sử dụng các biểu thức thông thường trong JavaScript.

Điều kiện tiên quyết

Một sự hiểu biết cơ bản về HTML, CSS và JavaScript sẽ được yêu cầu theo dõi cùng với 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 để phù hợp với kết hợp ký tự trong chuỗi. Trong JavaScript, các 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');
2.

Chúng có thể được xây dựng bằng cách sử dụng:

  • Biểu thức thông thường theo nghĩa đen trong đó mô hình được bao quanh giữa hai dấu gạch chéo.
  • Chức năng tạo hàm của lớp
        let check = new RegExp('vet');
    
    0 và bằng cách truyền một chuỗi phải được kiểm tra.
    let check = new RegExp('vet');

Chúng tôi sử dụng chức năng Constructor 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 tôi sẽ sử dụng chức năng Constructor vì chúng tôi sẽ nhận được mật khẩu từ người dùng.

Mô hình

Nhân vậtNghĩa
\ d Kiểm tra một trận đấu chữ số, ví dụ: nó trả về 2 trong U2 U2.
\ W Kiểm tra một ký tự đặc biệt, ví dụ: trả về % trong 2 %.
x {n,} Kiểm tra ít nhất N Điều khoản N từ thuật ngữ trước x, ví dụ: o {2,} không trả lại bất cứ điều gì trong Boy Boy, nhưng trả về tất cả hệ điều hành trong GOOOOOAL !.
XIY Khớp với x hoặc y trong chuỗi
[^Vet] Một bộ phủ định. Không kiểm tra bất cứ điều gì trong phạm vi IE không kiểm tra bác sĩ thú y trong trò chơi thú y
[A-ASA-Z0-9] Kiểm tra tất cả các ký tự chữ và số
[A-Z] Kiểm tra các chữ cái viết thường
[A-Z] Kiểm tra các chữ cái viết thường
Kiểm tra các chữ cái viết hoa X (? = Y)
Trả về x khi và chỉ khi nó được theo sau bởi y .
Kiểm tra bất kỳ ký tự nào ngoại trừ các đầu mối dòng x*

Kiểm tra X 0 trở lên

Regex để kiểm tra sức mạnh mật khẩu

  • Chúng tôi sẽ kiểm tra sức 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:

        let check = new RegExp('vet');
    
    1).
  • Mật khẩu dài ít nhất 8 ký tự (

        let check = new RegExp('vet');
    
    2).
  • Mật khẩu có ít nhất một chữ cái chữ hoa (

        let check = new RegExp('vet');
    
    3).
  • Mật khẩu có ít nhất một chữ cái viết thường (

        let check = new RegExp('vet');
    
    4).
  • Mật khẩu có ít nhất một chữ số (

        let check = new RegExp('vet');
    
    5).

Mật khẩu có ít nhất một ký tự đặc biệt (

Lưu ý: Hai nhóm dấu ngoặc đơn

    let check = new RegExp('vet');
6 giống như kiểm tra cả X và Y trong khi hai nhóm dấu ngoặc đơn với
    let check = new RegExp('vet');
7 giữa chúng
    let check = new RegExp('vet');
8 giống như kiểm tra x hoặc y như trong bảng trên.

Chúng tôi sẽ có ba cấp độ để biểu thị mức độ an toàn của mật khẩu.

  1. Họ đang:

Mạnh mẽ: 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 ta sẽ tạo ra một mật khẩu cấp độ mạnh có ít nhất một chữ cái viết thường (

  1.     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) ký tự dài (________ 11).
    <script language="javascript">
        function passwordChanged() {
            var strength = document.getElementById('strength');
            var strongRegex = new RegExp("^(?=.{14,})(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*\\W).*$", "g");
            var mediumRegex = new RegExp("^(?=.{10,})(((?=.*[A-Z])(?=.*[a-z]))|((?=.*[A-Z])(?=.*[0-9]))|((?=.*[a-z])(?=.*[0-9]))).*$", "g");
            var enoughRegex = new RegExp("(?=.{8,}).*", "g");
            var pwd = document.getElementById("password");
            if (pwd.value.length == 0) {
                strength.innerHTML = 'Type Password';
            } else if (false == enoughRegex.test(pwd.value)) {
                strength.innerHTML = 'More Characters';
            } else if (strongRegex.test(pwd.value)) {
                strength.innerHTML = '<span style="color:green">Strong!</span>';
            } else if (mediumRegex.test(pwd.value)) {
                strength.innerHTML = '<span style="color:orange">Medium!</span>';
            } else {
                strength.innerHTML = '<span style="color:red">Weak!</span>';
            }
        }
    </script>
    <input name="password" id="password" type="text" size="15" maxlength="100" onkeyup="return passwordChanged();" />
    <span id="strength">Type Password</span>
    5

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ư ở cấp độ mạnh chỉ là

  1. <script language="javascript">
        function passwordChanged() {
            var strength = document.getElementById('strength');
            var strongRegex = new RegExp("^(?=.{14,})(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*\\W).*$", "g");
            var mediumRegex = new RegExp("^(?=.{10,})(((?=.*[A-Z])(?=.*[a-z]))|((?=.*[A-Z])(?=.*[0-9]))|((?=.*[a-z])(?=.*[0-9]))).*$", "g");
            var enoughRegex = new RegExp("(?=.{8,}).*", "g");
            var pwd = document.getElementById("password");
            if (pwd.value.length == 0) {
                strength.innerHTML = 'Type Password';
            } else if (false == enoughRegex.test(pwd.value)) {
                strength.innerHTML = 'More Characters';
            } else if (strongRegex.test(pwd.value)) {
                strength.innerHTML = '<span style="color:green">Strong!</span>';
            } else if (mediumRegex.test(pwd.value)) {
                strength.innerHTML = '<span style="color:orange">Medium!</span>';
            } else {
                strength.innerHTML = '<span style="color:red">Weak!</span>';
            }
        }
    </script>
    <input name="password" id="password" type="text" size="15" maxlength="100" onkeyup="return passwordChanged();" />
    <span id="strength">Type Password</span>
    54 cho thấy 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
    <script language="javascript">
        function passwordChanged() {
            var strength = document.getElementById('strength');
            var strongRegex = new RegExp("^(?=.{14,})(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*\\W).*$", "g");
            var mediumRegex = new RegExp("^(?=.{10,})(((?=.*[A-Z])(?=.*[a-z]))|((?=.*[A-Z])(?=.*[0-9]))|((?=.*[a-z])(?=.*[0-9]))).*$", "g");
            var enoughRegex = new RegExp("(?=.{8,}).*", "g");
            var pwd = document.getElementById("password");
            if (pwd.value.length == 0) {
                strength.innerHTML = 'Type Password';
            } else if (false == enoughRegex.test(pwd.value)) {
                strength.innerHTML = 'More Characters';
            } else if (strongRegex.test(pwd.value)) {
                strength.innerHTML = '<span style="color:green">Strong!</span>';
            } else if (mediumRegex.test(pwd.value)) {
                strength.innerHTML = '<span style="color:orange">Medium!</span>';
            } else {
                strength.innerHTML = '<span style="color:red">Weak!</span>';
            }
        }
    </script>
    <input name="password" id="password" type="text" size="15" maxlength="100" onkeyup="return passwordChanged();" />
    <span id="strength">Type Password</span>
    56 hoặc
    <script language="javascript">
        function passwordChanged() {
            var strength = document.getElementById('strength');
            var strongRegex = new RegExp("^(?=.{14,})(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*\\W).*$", "g");
            var mediumRegex = new RegExp("^(?=.{10,})(((?=.*[A-Z])(?=.*[a-z]))|((?=.*[A-Z])(?=.*[0-9]))|((?=.*[a-z])(?=.*[0-9]))).*$", "g");
            var enoughRegex = new RegExp("(?=.{8,}).*", "g");
            var pwd = document.getElementById("password");
            if (pwd.value.length == 0) {
                strength.innerHTML = 'Type Password';
            } else if (false == enoughRegex.test(pwd.value)) {
                strength.innerHTML = 'More Characters';
            } else if (strongRegex.test(pwd.value)) {
                strength.innerHTML = '<span style="color:green">Strong!</span>';
            } else if (mediumRegex.test(pwd.value)) {
                strength.innerHTML = '<span style="color:orange">Medium!</span>';
            } else {
                strength.innerHTML = '<span style="color:red">Weak!</span>';
            }
        }
    </script>
    <input name="password" id="password" type="text" size="15" maxlength="100" onkeyup="return passwordChanged();" />
    <span id="strength">Type Password</span>
    57.
        let check = new RegExp('vet');
    
    0

Yếu: Nếu mật khẩu nhập không đáp ứng các yêu cầu cấp độ mạnh hoặc trung bình, thì nó được coi là yếu.

    let check = new RegExp('vet');
1
  • Mã HTML

    <script language="javascript">
        function passwordChanged() {
            var strength = document.getElementById('strength');
            var strongRegex = new RegExp("^(?=.{14,})(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*\\W).*$", "g");
            var mediumRegex = new RegExp("^(?=.{10,})(((?=.*[A-Z])(?=.*[a-z]))|((?=.*[A-Z])(?=.*[0-9]))|((?=.*[a-z])(?=.*[0-9]))).*$", "g");
            var enoughRegex = new RegExp("(?=.{8,}).*", "g");
            var pwd = document.getElementById("password");
            if (pwd.value.length == 0) {
                strength.innerHTML = 'Type Password';
            } else if (false == enoughRegex.test(pwd.value)) {
                strength.innerHTML = 'More Characters';
            } else if (strongRegex.test(pwd.value)) {
                strength.innerHTML = '<span style="color:green">Strong!</span>';
            } else if (mediumRegex.test(pwd.value)) {
                strength.innerHTML = '<span style="color:orange">Medium!</span>';
            } else {
                strength.innerHTML = '<span style="color:red">Weak!</span>';
            }
        }
    </script>
    <input name="password" id="password" type="text" size="15" maxlength="100" onkeyup="return passwordChanged();" />
    <span id="strength">Type Password</span>
    58.
  • Chú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 bảng kiểu bootstrap và liên kết nó với tệp HTML bằng thẻ

    Chúng tôi sẽ viết các kiểu tùy chỉnh của chúng tôi bằng thẻ
  • <script language="javascript">
        function passwordChanged() {
            var strength = document.getElementById('strength');
            var strongRegex = new RegExp("^(?=.{14,})(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*\\W).*$", "g");
            var mediumRegex = new RegExp("^(?=.{10,})(((?=.*[A-Z])(?=.*[a-z]))|((?=.*[A-Z])(?=.*[0-9]))|((?=.*[a-z])(?=.*[0-9]))).*$", "g");
            var enoughRegex = new RegExp("(?=.{8,}).*", "g");
            var pwd = document.getElementById("password");
            if (pwd.value.length == 0) {
                strength.innerHTML = 'Type Password';
            } else if (false == enoughRegex.test(pwd.value)) {
                strength.innerHTML = 'More Characters';
            } else if (strongRegex.test(pwd.value)) {
                strength.innerHTML = '<span style="color:green">Strong!</span>';
            } else if (mediumRegex.test(pwd.value)) {
                strength.innerHTML = '<span style="color:orange">Medium!</span>';
            } else {
                strength.innerHTML = '<span style="color:red">Weak!</span>';
            }
        }
    </script>
    <input name="password" id="password" type="text" size="15" maxlength="100" onkeyup="return passwordChanged();" />
    <span id="strength">Type Password</span>
    59. Chúng tôi có hai lớp,
        let check = new RegExp('vet');
    
    00 và
        let check = new RegExp('vet');
    
    01.
        let check = new RegExp('vet');
    
    00 kiểu đầu vào mật khẩu bằng cách cho phép tỷ suất lợi nhuận 5% từ đầu và cũng sắp xếp văn bản được gõ vào nó ở trung tâm.
        let check = new RegExp('vet');
    
    01 làm tương tự cho nhịp 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ẩu.

    Trong thẻ
  • Yếu tố đầu tiên là một tiêu đề đơn giản (

        let check = new RegExp('vet');
    
    06) với một số kiểu nội tuyến.
  • Phần tử thứ hai là một đầu vào mà người dùng sẽ nhập mật khẩu. Chúng tôi đã sử dụng lớp

        let check = new RegExp('vet');
    
    07 từ Bootstrap và lớp tùy chỉnh
        let check = new RegExp('vet');
    
    00 của chúng tôi để tạo kiểu cho phần tử.
  • Yếu tố thứ ba là

        let check = new RegExp('vet');
    
    09, nơi cường độ mật khẩu sẽ được dán nhãn là huy hiệu có màu: Màu xanh lá cây cho mạnh mẽ, xanh dương cho trung bình và màu đỏ cho yếu.

Mã JavaScript

Hãy để tạo ra năm biến:

  1.     let check = new RegExp('vet');
    
    10: Để tham khảo thời gian chờ trước khi gọi lại.
  2.     let check = new RegExp('vet');
    
    11: Đối với đầu vào nơi mật khẩu sẽ được nhập.
  3.     let check = new RegExp('vet');
    
    12: Để lưu trữ nhịp được sử dụng để hiển thị cường độ của mật khẩu (chúng ta có thể truy cập bằng ID phần tử DOM).
  4.     let check = new RegExp('vet');
    
    13: Để lưu trữ các điều kiện Regex.
  5.     let check = new RegExp('vet');
    
    14: Cũng được sử dụng để lưu trữ các điều kiện Regex.
    let check = new RegExp('vet');
9

Hãy để tạo ra một hàm gọi là

    let check = new RegExp('vet');
15 trong đó chúng tôi kiểm tra độ bền của mật khẩu bằng cách sử dụng các biểu thức thông thường mà chúng tôi đã viết với phương thức
    let check = new RegExp('vet');
16. Nó trả về
    let check = new RegExp('vet');
17 nếu có một trận đấu hoặc
    let check = new RegExp('vet');
18 nếu không có khớp.

Sau đó, hãy để Lừa đặt màu nền (

    let check = new RegExp('vet');
19) và văn bản của huy hiệu (
    let check = new RegExp('vet');
90) theo kết quả.
    let check = new RegExp('vet');
6

Hãy để thêm một trình nghe sự kiện đầu vào vào đầu vào

    let check = new RegExp('vet');
11 và kiểm tra cường độ với chức năng
    let check = new RegExp('vet');
15 khi người dùng đã nhập một cái gì đó. Chúng tôi đã thắng cuộc gọi chức năng ngay sau mỗi lần nhấn phím. Khi người dùng gõ nhanh chóng, chúng ta nên đợi cho đến khi xảy ra tạm dừng. Vì vậy, thay vì kiểm tra sức mạnh 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');
9

Mã JavaScript đầy đủ

Thay vì viết nội tuyến JavaScript với tệp HTML, chúng tôi sẽ tạo một tệp JavaScript mới, viết mã sau và sau đó liên kết nó với HTML bằng thẻ tập lệnh như

    let check = new RegExp('vet');
93.
    let check = new RegExp('vet');
1

Sự 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 trên ví dụ bằng cách thực hiện nhiều cấp độ hơn như quá mạnh và quá yếu.

Để tìm hiểu thêm về JavaScript Regex, hãy đọc các tài liệu MDN.

Cảm ơn vì đã đọc!


Đóng góp đánh giá ngang hàng của: Mohan Raj