Bảng cheat đại số 2

Tìm hiểu từ hơn 300 ví dụ. Với trình chỉnh sửa của chúng tôi, bạn có thể chỉnh sửa CSS và nhấp vào nút để xem kết quả

Chuyển đến ví dụ về CSS


Sử dụng thực đơn

Chúng tôi khuyên bạn nên đọc hướng dẫn này, theo trình tự được liệt kê trong menu

Nếu bạn có màn hình lớn, menu sẽ luôn ở bên trái

Nếu bạn có màn hình nhỏ, hãy mở menu bằng cách nhấp vào ký hiệu menu trên cùng ☰


Mẫu CSS

Chúng tôi đã tạo một số W3 đáp ứng. Các mẫu CSS để bạn sử dụng

Bạn có thể tự do sửa đổi, lưu, chia sẻ và sử dụng chúng trong tất cả các dự án của mình

Mẫu CSS miễn phí



bài tập css

Kiểm tra bản thân với các bài tập


Câu đố về CSS

Kiểm tra kỹ năng CSS của bạn bằng một bài kiểm tra

Bắt đầu bài kiểm tra CSS


Việc học của tôi

Theo dõi tiến trình của bạn với chương trình "Học tập của tôi" miễn phí tại W3Schools

Đăng nhập vào tài khoản của bạn và bắt đầu kiếm điểm

Đây là một tính năng tùy chọn. Bạn có thể học W3Schools mà không cần sử dụng My Learning

Bảng cheat đại số 2


Tài liệu tham khảo CSS

Tại W3Schools, bạn sẽ tìm thấy các tham chiếu CSS hoàn chỉnh của tất cả các thuộc tính và bộ chọn với cú pháp, ví dụ, hỗ trợ trình duyệt, v.v.

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. Các mẫu này được sử dụng với các phương pháp

const re = new RegExp("ab+c");
8 và
const re = new RegExp("ab+c");
9 của
function escapeRegExp(string) {
  return string.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string
}
0, và với các phương pháp
function escapeRegExp(string) {
  return string.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string
}
1,
function escapeRegExp(string) {
  return string.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string
}
2,
function escapeRegExp(string) {
  return string.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string
}
3,
function escapeRegExp(string) {
  return string.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string
}
4, ________2__5 và
function escapeRegExp(string) {
  return string.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string
}
6 của
function escapeRegExp(string) {
  return string.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string
}
7. Chương này mô tả các biểu thức chính quy JavaScript

Bạn xây dựng một biểu thức chính quy theo một trong hai cách

  • Sử dụng một biểu thức chính quy, bao gồm một mẫu được đặt giữa các dấu gạch chéo, như sau

    const re = /ab+c/;
    

    Các ký tự biểu thức chính quy cung cấp khả năng biên dịch biểu thức chính quy khi tập lệnh được tải. Nếu biểu thức chính quy không đổi, việc sử dụng biểu thức này có thể cải thiện hiệu suất
  • Hoặc gọi hàm khởi tạo của đối tượng
    function escapeRegExp(string) {
      return string.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string
    }
    
    0 như sau

    const re = new RegExp("ab+c");
    

    Việc sử dụng hàm tạo cung cấp khả năng biên dịch thời gian chạy của biểu thức chính quy. Sử dụng hàm tạo khi bạn biết mẫu biểu thức chính quy sẽ thay đổi hoặc bạn không biết mẫu và đang lấy nó từ một nguồn khác, chẳng hạn như đầu vào của người dùng

Mẫu biểu thức chính quy bao gồm các ký tự đơn giản, chẳng hạn như

function escapeRegExp(string) {
  return string.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string
}
9 hoặc kết hợp các ký tự đơn giản và đặc biệt, chẳng hạn như
const myRe = /d(b+)d/g;
const myArray = myRe.exec("cdbbdbsbz");
0 hoặc
const myRe = /d(b+)d/g;
const myArray = myRe.exec("cdbbdbsbz");
1. Ví dụ cuối cùng bao gồm dấu ngoặc đơn, được sử dụng làm thiết bị bộ nhớ. Khớp được thực hiện với phần này của mẫu được ghi nhớ để sử dụng sau này, như được mô tả trong

Ghi chú. Nếu bạn đã quen thuộc với các dạng của biểu thức chính quy, bạn cũng có thể đọc cheat sheet để tra cứu nhanh một mẫu/cấu trúc cụ thể

Các mẫu đơn giản được tạo từ các ký tự mà bạn muốn tìm đối sánh trực tiếp. Ví dụ: mẫu

function escapeRegExp(string) {
  return string.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string
}
9 khớp với các tổ hợp ký tự trong chuỗi chỉ khi chuỗi chính xác
const myRe = /d(b+)d/g;
const myArray = myRe.exec("cdbbdbsbz");
3 xảy ra (tất cả các ký tự cùng nhau và theo thứ tự đó). Một trận đấu như vậy sẽ thành công trong chuỗi
const myRe = /d(b+)d/g;
const myArray = myRe.exec("cdbbdbsbz");
4 và
const myRe = /d(b+)d/g;
const myArray = myRe.exec("cdbbdbsbz");
5. Trong cả hai trường hợp, kết quả khớp với chuỗi con
const myRe = /d(b+)d/g;
const myArray = myRe.exec("cdbbdbsbz");
3. Không có sự trùng khớp nào trong chuỗi
const myRe = /d(b+)d/g;
const myArray = myRe.exec("cdbbdbsbz");
7 bởi vì trong khi nó chứa chuỗi con
const myRe = /d(b+)d/g;
const myArray = myRe.exec("cdbbdbsbz");
8, thì nó không chứa chính xác chuỗi con
const myRe = /d(b+)d/g;
const myArray = myRe.exec("cdbbdbsbz");
3

Khi tìm kiếm khớp yêu cầu nhiều thứ hơn là khớp trực tiếp, chẳng hạn như tìm một hoặc nhiều chữ b hoặc tìm khoảng trắng, bạn có thể bao gồm các ký tự đặc biệt trong mẫu. Ví dụ: để khớp một

const myArray = /d(b+)d/g.exec("cdbbdbsbz");
// similar to 'cdbbdbsbz'.match(/d(b+)d/g); however,
// 'cdbbdbsbz'.match(/d(b+)d/g) outputs [ "dbbd" ]
// while /d(b+)d/g.exec('cdbbdbsbz') outputs [ 'dbbd', 'bb', index: 1, input: 'cdbbdbsbz' ]
0 theo sau là số 0 hoặc nhiều hơn nữa
const myArray = /d(b+)d/g.exec("cdbbdbsbz");
// similar to 'cdbbdbsbz'.match(/d(b+)d/g); however,
// 'cdbbdbsbz'.match(/d(b+)d/g) outputs [ "dbbd" ]
// while /d(b+)d/g.exec('cdbbdbsbz') outputs [ 'dbbd', 'bb', index: 1, input: 'cdbbdbsbz' ]
1 theo sau là
const myArray = /d(b+)d/g.exec("cdbbdbsbz");
// similar to 'cdbbdbsbz'.match(/d(b+)d/g); however,
// 'cdbbdbsbz'.match(/d(b+)d/g) outputs [ "dbbd" ]
// while /d(b+)d/g.exec('cdbbdbsbz') outputs [ 'dbbd', 'bb', index: 1, input: 'cdbbdbsbz' ]
2, bạn sẽ sử dụng mẫu
const myRe = /d(b+)d/g;
const myArray = myRe.exec("cdbbdbsbz");
0.
const myArray = /d(b+)d/g.exec("cdbbdbsbz");
// similar to 'cdbbdbsbz'.match(/d(b+)d/g); however,
// 'cdbbdbsbz'.match(/d(b+)d/g) outputs [ "dbbd" ]
// while /d(b+)d/g.exec('cdbbdbsbz') outputs [ 'dbbd', 'bb', index: 1, input: 'cdbbdbsbz' ]
4 sau
const myArray = /d(b+)d/g.exec("cdbbdbsbz");
// similar to 'cdbbdbsbz'.match(/d(b+)d/g); however,
// 'cdbbdbsbz'.match(/d(b+)d/g) outputs [ "dbbd" ]
// while /d(b+)d/g.exec('cdbbdbsbz') outputs [ 'dbbd', 'bb', index: 1, input: 'cdbbdbsbz' ]
1 có nghĩa là "0 hoặc nhiều lần xuất hiện của mục trước đó. " Trong chuỗi
const myArray = /d(b+)d/g.exec("cdbbdbsbz");
// similar to 'cdbbdbsbz'.match(/d(b+)d/g); however,
// 'cdbbdbsbz'.match(/d(b+)d/g) outputs [ "dbbd" ]
// while /d(b+)d/g.exec('cdbbdbsbz') outputs [ 'dbbd', 'bb', index: 1, input: 'cdbbdbsbz' ]
6, mẫu này sẽ khớp với chuỗi con
const myArray = /d(b+)d/g.exec("cdbbdbsbz");
// similar to 'cdbbdbsbz'.match(/d(b+)d/g); however,
// 'cdbbdbsbz'.match(/d(b+)d/g) outputs [ "dbbd" ]
// while /d(b+)d/g.exec('cdbbdbsbz') outputs [ 'dbbd', 'bb', index: 1, input: 'cdbbdbsbz' ]
7

Các trang sau đây cung cấp danh sách các ký tự đặc biệt khác nhau phù hợp với từng danh mục, cùng với các mô tả và ví dụ

khẳng định

Các xác nhận bao gồm các ranh giới, cho biết phần đầu và phần cuối của dòng và từ cũng như các mẫu khác cho biết theo một cách nào đó rằng có thể khớp (bao gồm biểu thức nhìn về phía trước, nhìn về phía sau và biểu thức điều kiện)

lớp nhân vật

Phân biệt các loại ký tự. Ví dụ, phân biệt giữa các chữ cái và chữ số

Nhóm và phản hồi

Các nhóm nhóm nhiều mẫu thành một tổng thể và việc chụp các nhóm cung cấp thêm thông tin khớp phụ khi sử dụng mẫu biểu thức chính quy để khớp với một chuỗi. Backreferences đề cập đến một nhóm được chụp trước đó trong cùng một biểu thức chính quy

định lượng

Cho biết số lượng ký tự hoặc biểu thức để khớp

Thuộc tính Unicode thoát

Phân biệt dựa trên các thuộc tính ký tự unicode, ví dụ: chữ hoa và chữ thường, ký hiệu toán học và dấu chấm câu

Nếu bạn muốn xem tất cả các ký tự đặc biệt có thể được sử dụng trong biểu thức chính quy trong một bảng, hãy xem phần sau

Ký tự đặc biệt trong biểu thức chính quy. Characters / constructsCorresponding article
const myArray = /d(b+)d/g.exec("cdbbdbsbz");
// similar to 'cdbbdbsbz'.match(/d(b+)d/g); however,
// 'cdbbdbsbz'.match(/d(b+)d/g) outputs [ "dbbd" ]
// while /d(b+)d/g.exec('cdbbdbsbz') outputs [ 'dbbd', 'bb', index: 1, input: 'cdbbdbsbz' ]
8,
const myArray = /d(b+)d/g.exec("cdbbdbsbz");
// similar to 'cdbbdbsbz'.match(/d(b+)d/g); however,
// 'cdbbdbsbz'.match(/d(b+)d/g) outputs [ "dbbd" ]
// while /d(b+)d/g.exec('cdbbdbsbz') outputs [ 'dbbd', 'bb', index: 1, input: 'cdbbdbsbz' ]
9,
const myRe = new RegExp("d(b+)d", "g");
const myArray = myRe.exec("cdbbdbsbz");
0,
const myRe = new RegExp("d(b+)d", "g");
const myArray = myRe.exec("cdbbdbsbz");
1,
const myRe = new RegExp("d(b+)d", "g");
const myArray = myRe.exec("cdbbdbsbz");
2,
const myRe = new RegExp("d(b+)d", "g");
const myArray = myRe.exec("cdbbdbsbz");
3,
const myRe = new RegExp("d(b+)d", "g");
const myArray = myRe.exec("cdbbdbsbz");
4,
const myRe = new RegExp("d(b+)d", "g");
const myArray = myRe.exec("cdbbdbsbz");
5,
const myRe = new RegExp("d(b+)d", "g");
const myArray = myRe.exec("cdbbdbsbz");
6,
const myRe = new RegExp("d(b+)d", "g");
const myArray = myRe.exec("cdbbdbsbz");
7,
const myRe = new RegExp("d(b+)d", "g");
const myArray = myRe.exec("cdbbdbsbz");
8,
const myRe = new RegExp("d(b+)d", "g");
const myArray = myRe.exec("cdbbdbsbz");
9,
const myRe = /d(b+)d/g;
const myArray = myRe.exec("cdbbdbsbz");
console.log(`The value of lastIndex is ${myRe.lastIndex}`);

// "The value of lastIndex is 5"
0,
const myRe = /d(b+)d/g;
const myArray = myRe.exec("cdbbdbsbz");
console.log(`The value of lastIndex is ${myRe.lastIndex}`);

// "The value of lastIndex is 5"
1,
const myRe = /d(b+)d/g;
const myArray = myRe.exec("cdbbdbsbz");
console.log(`The value of lastIndex is ${myRe.lastIndex}`);

// "The value of lastIndex is 5"
2,
const myRe = /d(b+)d/g;
const myArray = myRe.exec("cdbbdbsbz");
console.log(`The value of lastIndex is ${myRe.lastIndex}`);

// "The value of lastIndex is 5"
3,
const myRe = /d(b+)d/g;
const myArray = myRe.exec("cdbbdbsbz");
console.log(`The value of lastIndex is ${myRe.lastIndex}`);

// "The value of lastIndex is 5"
4,
const myRe = /d(b+)d/g;
const myArray = myRe.exec("cdbbdbsbz");
console.log(`The value of lastIndex is ${myRe.lastIndex}`);

// "The value of lastIndex is 5"
5,
const myRe = /d(b+)d/g;
const myArray = myRe.exec("cdbbdbsbz");
console.log(`The value of lastIndex is ${myRe.lastIndex}`);

// "The value of lastIndex is 5"
6,
const myRe = /d(b+)d/g;
const myArray = myRe.exec("cdbbdbsbz");
console.log(`The value of lastIndex is ${myRe.lastIndex}`);

// "The value of lastIndex is 5"
7,
const myRe = /d(b+)d/g;
const myArray = myRe.exec("cdbbdbsbz");
console.log(`The value of lastIndex is ${myRe.lastIndex}`);

// "The value of lastIndex is 5"
8

lớp nhân vật

const myRe = /d(b+)d/g;
const myArray = myRe.exec("cdbbdbsbz");
console.log(`The value of lastIndex is ${myRe.lastIndex}`);

// "The value of lastIndex is 5"
9,
const myArray = /d(b+)d/g.exec("cdbbdbsbz");
console.log(`The value of lastIndex is ${/d(b+)d/g.lastIndex}`);

// "The value of lastIndex is 0"
0,
const myArray = /d(b+)d/g.exec("cdbbdbsbz");
console.log(`The value of lastIndex is ${/d(b+)d/g.lastIndex}`);

// "The value of lastIndex is 0"
1,
const myArray = /d(b+)d/g.exec("cdbbdbsbz");
console.log(`The value of lastIndex is ${/d(b+)d/g.lastIndex}`);

// "The value of lastIndex is 0"
2,
const myArray = /d(b+)d/g.exec("cdbbdbsbz");
console.log(`The value of lastIndex is ${/d(b+)d/g.lastIndex}`);

// "The value of lastIndex is 0"
3,
const myArray = /d(b+)d/g.exec("cdbbdbsbz");
console.log(`The value of lastIndex is ${/d(b+)d/g.lastIndex}`);

// "The value of lastIndex is 0"
4,
const myArray = /d(b+)d/g.exec("cdbbdbsbz");
console.log(`The value of lastIndex is ${/d(b+)d/g.lastIndex}`);

// "The value of lastIndex is 0"
5,
const myArray = /d(b+)d/g.exec("cdbbdbsbz");
console.log(`The value of lastIndex is ${/d(b+)d/g.lastIndex}`);

// "The value of lastIndex is 0"
6

khẳng định

const myArray = /d(b+)d/g.exec("cdbbdbsbz");
console.log(`The value of lastIndex is ${/d(b+)d/g.lastIndex}`);

// "The value of lastIndex is 0"
7,
const myArray = /d(b+)d/g.exec("cdbbdbsbz");
console.log(`The value of lastIndex is ${/d(b+)d/g.lastIndex}`);

// "The value of lastIndex is 0"
8,
const myArray = /d(b+)d/g.exec("cdbbdbsbz");
console.log(`The value of lastIndex is ${/d(b+)d/g.lastIndex}`);

// "The value of lastIndex is 0"
9,
const re = /pattern/flags;
0,
const re = /pattern/flags;
1

Nhóm và phản hồi

const re = /pattern/flags;
2,
const re = /pattern/flags;
3,
const re = /pattern/flags;
4,
const re = /pattern/flags;
5,
const re = /pattern/flags;
6,
const re = /pattern/flags;
7

định lượng

const re = /pattern/flags;
8,
const re = /pattern/flags;
9 Thoát tài sản Unicode

Ghi chú. Một bảng cheat lớn hơn cũng có sẵn (chỉ tổng hợp các phần của các bài viết riêng lẻ đó)

Nếu bạn cần sử dụng bất kỳ ký tự đặc biệt nào theo nghĩa đen (ví dụ: thực sự đang tìm kiếm

const re = new RegExp("pattern", "flags");
0), bạn phải thoát ký tự đó bằng cách đặt dấu gạch chéo ngược trước ký tự đó. Ví dụ: để tìm kiếm
const myArray = /d(b+)d/g.exec("cdbbdbsbz");
// similar to 'cdbbdbsbz'.match(/d(b+)d/g); however,
// 'cdbbdbsbz'.match(/d(b+)d/g) outputs [ "dbbd" ]
// while /d(b+)d/g.exec('cdbbdbsbz') outputs [ 'dbbd', 'bb', index: 1, input: 'cdbbdbsbz' ]
0 theo sau là
const re = new RegExp("pattern", "flags");
0 theo sau là
const myArray = /d(b+)d/g.exec("cdbbdbsbz");
// similar to 'cdbbdbsbz'.match(/d(b+)d/g); however,
// 'cdbbdbsbz'.match(/d(b+)d/g) outputs [ "dbbd" ]
// while /d(b+)d/g.exec('cdbbdbsbz') outputs [ 'dbbd', 'bb', index: 1, input: 'cdbbdbsbz' ]
1, bạn sẽ sử dụng
const re = new RegExp("pattern", "flags");
4 — dấu gạch chéo ngược "thoát"
const re = new RegExp("pattern", "flags");
0, biến nó thành nghĩa đen thay vì đặc biệt

Tương tự, nếu bạn đang viết một biểu thức chính quy bằng chữ và cần khớp với dấu gạch chéo ("/"), bạn cần thoát dấu đó (nếu không, nó sẽ kết thúc mẫu). Ví dụ: để tìm kiếm chuỗi "/example/" theo sau là một hoặc nhiều ký tự chữ cái, bạn sẽ sử dụng

const re = new RegExp("pattern", "flags");
6—dấu gạch chéo ngược trước mỗi dấu gạch chéo biến chúng thành chữ

Để khớp với dấu gạch chéo ngược theo nghĩa đen, bạn cần thoát khỏi dấu gạch chéo ngược. Chẳng hạn, để khớp với chuỗi "C. \" trong đó "C" có thể là bất kỳ chữ cái nào, bạn sẽ sử dụng

const re = new RegExp("pattern", "flags");
7 — dấu gạch chéo ngược đầu tiên thoát khỏi dấu gạch chéo ngược sau nó, do đó, biểu thức sẽ tìm kiếm một dấu gạch chéo ngược theo nghĩa đen

Nếu sử dụng hàm tạo

function escapeRegExp(string) {
  return string.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string
}
0 với một chuỗi ký tự, hãy nhớ rằng dấu gạch chéo ngược là một dấu gạch chéo ngược trong chuỗi ký tự, vì vậy, để sử dụng nó trong biểu thức chính quy, bạn cần thoát nó ở mức ký tự chuỗi.
const re = new RegExp("pattern", "flags");
4 và
const re = new RegExp("ab+c");
00 tạo cùng một biểu thức, tìm kiếm "a" theo sau là chữ "*" theo sau là "b"

Nếu chuỗi thoát không phải là một phần của mẫu của bạn, bạn có thể thêm chúng bằng cách sử dụng

const re = new RegExp("ab+c");
01

function escapeRegExp(string) {
  return string.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string
}

Chữ "g" sau biểu thức chính quy là một tùy chọn hoặc cờ thực hiện tìm kiếm toàn cầu, tìm kiếm trong toàn bộ chuỗi và trả về tất cả các kết quả phù hợp. Nó được giải thích chi tiết dưới đây trong

Tại sao điều này không được tích hợp vào JavaScript?

Dấu ngoặc đơn xung quanh bất kỳ phần nào của mẫu biểu thức chính quy làm cho phần đó của chuỗi con phù hợp được ghi nhớ. Sau khi được ghi nhớ, chuỗi con có thể được gọi lại cho mục đích sử dụng khác. Xem để biết thêm chi tiết

Biểu thức chính quy được sử dụng với các phương thức

function escapeRegExp(string) {
  return string.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string
}
0
const re = new RegExp("ab+c");
9 và
const re = new RegExp("ab+c");
8 và với các phương thức
function escapeRegExp(string) {
  return string.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string
}
7
function escapeRegExp(string) {
  return string.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string
}
1,
function escapeRegExp(string) {
  return string.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string
}
3,
function escapeRegExp(string) {
  return string.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string
}
5 và
function escapeRegExp(string) {
  return string.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string
}
6

Phương thứcMô tả
const re = new RegExp("ab+c");
8Thực hiện tìm kiếm đối sánh trong một chuỗi. Nó trả về một mảng thông tin hoặc
const re = new RegExp("ab+c");
11 khi không khớp.
const re = new RegExp("ab+c");
9Kiểm tra sự trùng khớp trong một chuỗi. Nó trả về
const re = new RegExp("ab+c");
13 hoặc
const re = new RegExp("ab+c");
14.
function escapeRegExp(string) {
  return string.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string
}
1Trả về một mảng chứa tất cả các kết quả phù hợp, bao gồm cả các nhóm bắt giữ hoặc
const re = new RegExp("ab+c");
11 nếu không tìm thấy kết quả phù hợp.
function escapeRegExp(string) {
  return string.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string
}
2Trả về một iterator chứa tất cả các kết quả phù hợp, bao gồm cả các nhóm bắt giữ.
function escapeRegExp(string) {
  return string.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string
}
5Kiểm tra sự trùng khớp trong một chuỗi. Nó trả về chỉ số của trận đấu, hoặc
const re = new RegExp("ab+c");
19 nếu tìm kiếm không thành công.
function escapeRegExp(string) {
  return string.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string
}
3 Thực hiện tìm kiếm khớp trong một chuỗi và thay thế chuỗi con khớp bằng một chuỗi con thay thế.
function escapeRegExp(string) {
  return string.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string
}
4Thực hiện tìm kiếm tất cả các kết quả phù hợp trong một chuỗi và thay thế các chuỗi con phù hợp bằng một chuỗi con thay thế.
function escapeRegExp(string) {
  return string.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string
}
6Sử dụng một biểu thức chính quy hoặc một chuỗi cố định để ngắt một chuỗi thành một mảng các chuỗi con

Khi bạn muốn biết liệu một mẫu có được tìm thấy trong một chuỗi hay không, hãy sử dụng các phương thức

const re = new RegExp("ab+c");
9 hoặc
function escapeRegExp(string) {
  return string.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string
}
5; . Nếu bạn sử dụng
const re = new RegExp("ab+c");
8 hoặc
function escapeRegExp(string) {
  return string.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string
}
1 và nếu khớp thành công, các phương thức này trả về một mảng và cập nhật các thuộc tính của đối tượng biểu thức chính quy được liên kết và cả đối tượng biểu thức chính quy được xác định trước,
function escapeRegExp(string) {
  return string.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string
}
0. Nếu khớp không thành công, phương thức
const re = new RegExp("ab+c");
8 trả về
const re = new RegExp("ab+c");
11 (bắt buộc phải trả về
const re = new RegExp("ab+c");
14)

Trong ví dụ sau, người dùng phải nhập số điện thoại. Khi người dùng nhấn nút "Kiểm tra", tập lệnh sẽ kiểm tra tính hợp lệ của số. Nếu số hợp lệ (khớp với chuỗi ký tự được chỉ định bởi biểu thức chính quy), tập lệnh sẽ hiển thị thông báo cảm ơn người dùng và xác nhận số. Nếu số không hợp lệ, tập lệnh sẽ thông báo cho người dùng rằng số điện thoại không hợp lệ