JavaScript: Lớp ký tự


Khóa học qua video:
Lập trình Python All Lập trình C# All SQL Server All Lập trình C All Java PHP HTML5-CSS3-JavaScript
Đăng ký Hội viên
Tất cả các video dành cho hội viên

Một lớp ký tự đại diện cho một ký tự từ một tập hợp các ký tự. Ví dụ: [abc] khớp với a, b hoặc c; và [a-z] khớp với một ký tự từ một nhóm ký tự trong phạm vi từ a đến z; và [0-9] khớp với một ký tự trong phạm vi các chữ số từ 0 đến 9. Nếu lớp ký tự chứa dấu mũ, ^, thì lớp đại diện cho bất kỳ một ký tự nào không có trong tập hợp; do đó, [^a-zA-Z] khớp với một ký tự không nằm trong phạm vi từ a đến z hoặc A đến Z và [^0-9] khớp với một chữ số không nằm trong phạm vi từ 0 đến 9.

JavaScript cung cấp các ký hiệu bổ sung, được gọi là siêu dữ liệu (metasymbol), để thể hiện một lớp ký tự. Các ký hiệu \d và \D tương ứng là một chữ số và một chữ không phải số, tương ứng với [0-9] và [^0-9]; trong khi \w và \W tương ứng là một ký tự một từ và một ký tự không phải từ, tương ứng với [A-Za-z_0-9] và [^A-Za-z_0-9].

Ví dụ 1

    <html><head><title>The Character Class</title>
    </head>
    <body>
    <script language="JavaScript">
1       var reg_expression = /[A-Z][a-z]eve/;
2       var textString=prompt("Type a string of text","");
3       var result=reg_expression.test(textString);  // Returns true
                                                     // or false
        document.write("<font size='+1'><b>"+result+"<br>");
        if ( result){
            document.write("<b>The reg_ex /[A-Z][a-z]eve/ matched the
            string\""+ textString +"\".<br>");
        }
        else{
            alert("No Match!");
        }
    </script>
    </body>
    </html>

GIẢI THÍCH

  1. Biến được gán một biểu thức chính quy có dấu ngoặc chứa các ký tự chữ và số. Biểu thức chính quy này khớp với một chuỗi chứa ít nhất một ký tự chữ hoa nằm giữa A và Z, theo sau là một ký tự chữ thường nằm giữa a và z, theo sau là eve.

  2. Biến textString được gán giá trị input từ người dùng, trong ví dụ này, "Steven lives in Cleveland" đã được nhập.

  3. Phương thức biểu thức chính quy test() sẽ trả về true vì Steven chứa ký tự viết hoa, theo sau là ký tự chữ thường và eve. Cleveland cũng phù hợp với mẫu.

Ví dụ 2

    <html><head><title>The Character Class</title>
    </head>
    <body>
    <script language="JavaScript">
    // Character class
1       var reg_expression = /[A-Za-z0-9_]/;   // A single alphanumeric word character
2       var textString=prompt("Type a string of text","");
3       var result=reg_expression.test(textString);  // Returns true or false
        document.write("<font size='+1'><b>"+result+"<br>");
        if (result){
            document.write("<b>The reg_ex /[A-Za-z0-9_]/ matched the
            string\""+ textString +"\".<br>");
        }
        else{
            alert("No Match!");
        }
    </script>
    </body>
    </html>

GIẢI THÍCH

  1. reg_expression chứa mẫu, mẫu này khớp với một chuỗi chứa ít nhất một ký tự trong lớp ký tự nằm giữa A và Z, a và z, 0 và 9 và ký tự gạch dưới, _.

  2. Dữ liệu người dùng nhập vào hộp thoại và được gán cho biến textString. Trong ví dụ này, người dùng đã nhập Take 5.

  3. Phương thức kiểm tra biểu thức chính quy sẽ trả về true vì chuỗi Take 5 này chứa ít nhất một ký tự chữ và số.

Ví dụ 3

    <html><head><title>The Character Class and Negation</title>
    </head>
    <body>
    <script language="JavaScript">
    //  Negation within a Character Class
1       var reg_expression = /[^0-9]/;
2       var textString=prompt("Type a string of text","");
3       var result=reg_expression.test(textString);  // Returns true or false
        document.write("<font size='+1'><b>"+result+"<br>");
        if (result){
            document.write("<b>The reg_ex /[^0-9]/ matched the
            string\""+ textString +"\".<br>");
        }
        else{
            alert("No Match!");
        }
    </script>
    </body>
    </html>

GIẢI TRÌNH

  1. Dấu mũ bên trong một lớp ký tự, khi nó là ký tự đầu tiên sau dấu ngoặc mở, tức nó tương ứng với một phủ định, có nghĩa là ứng với bất kỳ ký tự nào không nằm trong phạm vi này. Biểu thức chính quy này khớp với một chuỗi không chứa số từ 0 đến 9.

  2. Đầu vào của người dùng được gán cho biến textString. Trong ví dụ này, abc đã được nhập.

  3. Phương thức test() sẽ trả về true vì chuỗi abc không chứa ký tự nằm trong khoảng từ 0 đến 9.

» Tiếp: Metasymbol
« Trước: Siêu ký tự chấm
Khóa học qua video:
Lập trình Python All Lập trình C# All SQL Server All Lập trình C All Java PHP HTML5-CSS3-JavaScript
Đăng ký Hội viên
Tất cả các video dành cho hội viên
Copied !!!