Các ký tự thoát JavaScript trong chuỗi

Như chúng ta đã thấy, dấu gạch chéo ngược

alert( "Chapter 5.1".match(/\d\.\d/) ); // 5.1 (match!)
alert( "Chapter 511".match(/\d\.\d/) ); // null (looking for a real dot \.)
7 được sử dụng để biểu thị các lớp ký tự, e. g.
alert( "Chapter 5.1".match(/\d\.\d/) ); // 5.1 (match!)
alert( "Chapter 511".match(/\d\.\d/) ); // null (looking for a real dot \.)
8. Vì vậy, nó là một ký tự đặc biệt trong biểu thức chính quy (giống như trong các chuỗi thông thường)

Ngoài ra còn có các ký tự đặc biệt khác, có ý nghĩa đặc biệt trong biểu thức chính quy, chẳng hạn như

alert( "function g()".match(/g\(\)/) ); // "g()"
0. Chúng được sử dụng để thực hiện các tìm kiếm mạnh mẽ hơn

Đừng cố ghi nhớ danh sách – chúng ta sẽ sớm xử lý từng danh sách và bạn sẽ tự động thuộc lòng chúng

bỏ trốn

Giả sử chúng ta muốn tìm một dấu chấm theo đúng nghĩa đen. Không phải "bất kỳ ký tự nào", mà chỉ là một dấu chấm

Để sử dụng ký tự đặc biệt làm ký tự thông thường, hãy thêm dấu gạch chéo ngược vào trước ký tự đó.

alert( "function g()".match(/g\(\)/) ); // "g()"
1

Đó cũng được gọi là "thoát khỏi một nhân vật"

Ví dụ

alert( "Chapter 5.1".match(/\d\.\d/) ); // 5.1 (match!)
alert( "Chapter 511".match(/\d\.\d/) ); // null (looking for a real dot \.)

Dấu ngoặc đơn cũng là ký tự đặc biệt nên nếu muốn chúng ta dùng

alert( "function g()".match(/g\(\)/) ); // "g()"
2. Ví dụ dưới đây tìm kiếm một chuỗi
alert( "function g()".match(/g\(\)/) ); // "g()"
3

alert( "function g()".match(/g\(\)/) ); // "g()"

Nếu chúng ta đang tìm dấu gạch chéo ngược

alert( "Chapter 5.1".match(/\d\.\d/) ); // 5.1 (match!)
alert( "Chapter 511".match(/\d\.\d/) ); // null (looking for a real dot \.)
7, thì đó là một ký tự đặc biệt trong cả chuỗi thông thường và biểu thức chính quy, vì vậy chúng ta nên nhân đôi nó

alert( "1\\2".match(/\\/) ); // '\'

một dấu gạch chéo

Ký hiệu dấu gạch chéo

alert( "function g()".match(/g\(\)/) ); // "g()"
5 không phải là một ký tự đặc biệt, nhưng trong JavaScript, nó được sử dụng để mở và đóng biểu thức chính quy.
alert( "function g()".match(/g\(\)/) ); // "g()"
6, vì vậy chúng ta cũng nên thoát khỏi nó

Đây là cách tìm kiếm dấu gạch chéo

alert( "function g()".match(/g\(\)/) ); // "g()"
5

alert( "function g()".match(/g\(\)/) ); // "g()"
0

Mặt khác, nếu chúng tôi không sử dụng

alert( "function g()".match(/g\(\)/) ); // "g()"
8, nhưng tạo biểu thức chính quy bằng cách sử dụng
alert( "function g()".match(/g\(\)/) ); // "g()"
9, thì chúng tôi không cần phải thoát khỏi nó

alert( "function g()".match(/g\(\)/) ); // "g()"
3

RegExp mới

Nếu chúng ta đang tạo một biểu thức chính quy với

alert( "function g()".match(/g\(\)/) ); // "g()"
9, thì chúng ta không cần phải thoát khỏi
alert( "1\\2".match(/\\/) ); // '\'
1 mà cần thực hiện một số thao tác thoát khác

Ví dụ, hãy xem xét điều này

alert( "function g()".match(/g\(\)/) ); // "g()"
6

Tìm kiếm tương tự trong một trong các ví dụ trước đã hoạt động với

alert( "1\\2".match(/\\/) ); // '\'
2, nhưng
alert( "1\\2".match(/\\/) ); // '\'
3 không hoạt động, tại sao?

Lý do là các dấu gạch chéo ngược được "tiêu thụ" bởi một chuỗi. Như chúng ta có thể nhớ lại, các chuỗi thông thường có các ký tự đặc biệt của riêng chúng, chẳng hạn như

alert( "1\\2".match(/\\/) ); // '\'
4 và dấu gạch chéo ngược được sử dụng để thoát

Các ký tự thoát là các ký tự có thể được diễn giải theo một số cách thay thế sau đó là những gì chúng tôi dự định. Để in các ký tự này, hãy bao gồm dấu gạch chéo ngược '\' ở phía trước chúng. Sau đây là các ký tự thoát trong JavaScript -

CodeResult\bBackspace\fForm FeedNew Line\Carriage Return\Horizontal Tabulator\vertical Tabulator\'Single quote\"Dấu ngoặc kép\Dấu gạch chéo ngược

Sau đây là đoạn mã triển khai ký tự thoát Dấu gạch chéo ngược trong javaScript −

Ví dụ

Bản thử trực tiếp

alert( "Chapter 5.1".match(/\d\.\d/) ); // 5.1 (match!)
alert( "Chapter 511".match(/\d\.\d/) ); // null (looking for a real dot \.)
0

đầu ra

Các ký tự thoát JavaScript trong chuỗi

Các ký tự thoát JavaScript trong chuỗi


Các ký tự thoát JavaScript trong chuỗi

Trong JavaScript khi làm việc với chuỗi đôi khi chúng ta muốn ngắt chuỗi theo một cách nào đó. Chúng tôi có một số nhân vật thoát hiểm mà chúng tôi có thể sử dụng để giúp chúng tôi vượt qua thử thách này

  • \’ Trích dẫn đơn
  • \” Trích dẫn kép
  • \n Dòng mới
  • \\ Dấu gạch chéo ngược

báo giá

Khi bạn đang làm việc với các chuỗi nếu bạn muốn sử dụng một dấu ngoặc kép bên trong chuỗi, bạn không thể sử dụng cùng một dấu ngoặc kép cho phần trích dẫn bên trong chuỗi như những dấu ngoặc kép bạn bọc trong chuỗi. Hãy xem xét một số ví dụ

alert( "Chapter 5.1".match(/\d\.\d/) ); // 5.1 (match!)
alert( "Chapter 511".match(/\d\.\d/) ); // null (looking for a real dot \.)
1

Trong ví dụ trên, chúng tôi bắt đầu bằng cách khai báo một biến có dấu ngoặc kép định danh và gán cho biến này một chuỗi được đặt trong dấu ngoặc kép chứa một trích dẫn cũng được đặt trong dấu ngoặc kép. Tiếp theo, chúng tôi tạo một biến thứ hai có tên là secondQuote lặp lại các bước tương tự nhưng lần này nó sử dụng dấu nháy đơn. Cả hai đều trả về một lỗi cú pháp. Một cách giải quyết vấn đề này là sử dụng các dấu ngoặc kép khác nhau cho phần trích dẫn như được minh họa trong ví dụ bên dưới

alert( "Chapter 5.1".match(/\d\.\d/) ); // 5.1 (match!)
alert( "Chapter 511".match(/\d\.\d/) ); // null (looking for a real dot \.)
2

Trong ví dụ trên, chuỗi được lưu trữ bên trong biến quote sử dụng dấu nháy đơn cho đoạn trích dẫn và dấu nháy kép cho chuỗi. Chuỗi cho biến secondQuote sử dụng dấu ngoặc đơn cho chuỗi và dấu ngoặc kép cho câu trích dẫn. Cả hai công việc này. Ngoài ra, chúng ta có thể sử dụng các ký tự thoát cho những ký tự này như trong ví dụ bên dưới

alert( "Chapter 5.1".match(/\d\.\d/) ); // 5.1 (match!)
alert( "Chapter 511".match(/\d\.\d/) ); // null (looking for a real dot \.)
3

Trong ví dụ trên, chúng tôi sử dụng dấu gạch chéo ngược và dấu ngoặc kép ở đầu và cuối chuỗi được lưu trữ bên trong biến báo giá. Chúng tôi lặp lại các bước tương tự nhưng chúng tôi sử dụng dấu gạch chéo ngược và dấu ngoặc kép cho chuỗi được lưu trữ bên trong biến secondQuote

Một lần khác, điều này hữu ích nếu bạn muốn sử dụng dấu nháy đơn trong chuỗi

alert( "Chapter 5.1".match(/\d\.\d/) ); // 5.1 (match!)
alert( "Chapter 511".match(/\d\.\d/) ); // null (looking for a real dot \.)
4

Dòng mới

Khi bạn muốn ngắt chuỗi của mình thành nhiều dòng, một tùy chọn khả dụng là sử dụng ký tự xuống dòng. Chúng tôi đặt cái này ở nơi chúng tôi muốn dòng mới xuất hiện. Hãy xem một ví dụ

alert( "Chapter 5.1".match(/\d\.\d/) ); // 5.1 (match!)
alert( "Chapter 511".match(/\d\.\d/) ); // null (looking for a real dot \.)
5

dấu gạch chéo ngược

Nếu bạn muốn sử dụng dấu gạch chéo ngược trong chuỗi của mình, bạn cần sử dụng hai ký tự dấu gạch chéo ngược. Do chúng tôi sử dụng dấu gạch chéo ngược khi chúng tôi sử dụng ký tự thoát, chúng tôi không thể chỉ sử dụng một dấu gạch chéo ngược trong một chuỗi. Hãy xem xét một số ví dụ

alert( "Chapter 5.1".match(/\d\.\d/) ); // 5.1 (match!)
alert( "Chapter 511".match(/\d\.\d/) ); // null (looking for a real dot \.)
6

Tôi hy vọng bạn thích bài viết này. Vui lòng gửi bất kỳ nhận xét, câu hỏi hoặc phản hồi nào và theo dõi tôi để biết thêm nội dung

Thêm nội dung tại PlainEnglish. io. Đăng ký nhận bản tin hàng tuần miễn phí của chúng tôi. Theo dõi chúng tôi trên Twitter và LinkedIn. Kiểm tra Sự bất hòa trong cộng đồng của chúng tôi và tham gia Tập thể tài năng của chúng tôi

Những ký tự nào sẽ được thoát trong chuỗi JavaScript?

Có một số chuỗi thoát ký tự đơn dành riêng để sử dụng trong chuỗi. .
\b. xóa lùi (U+0008 BACKSPACE)
\f. nguồn cấp dữ liệu biểu mẫu (U+000C FORM FEED)
\N. nguồn cấp dữ liệu (U+000A LINE FEED)
\ r. trả lại vận chuyển (U+000D CARRIAGE RETURN)
\t. tab ngang (BẢNG BẢNG KÝ TỰ U+0009)
\v. tab dọc (LẬP BẢNG DÒNG U+000B)

Làm cách nào để thoát các ký tự Unicode trong JavaScript?

Có ba chuỗi thoát được tham số hóa để biểu thị các ký tự trong JavaScript. .
Thoát hex (chính xác là hai chữ số thập lục phân). \xHH. > '\x7A' === 'z' đúng
Thoát Unicode (chính xác bốn chữ số thập lục phân). \uHHHH. > '\u007A' === 'z' đúng
Thoát điểm mã Unicode (1 hoặc nhiều chữ số thập lục phân). \u{···}

Làm cách nào để tránh các ký tự thoát trong JavaScript?

Bạn có thể thực hiện thay thế đơn giản. str. replace("\t","\\t");

Làm cách nào để thoát các ký tự đặc biệt trong chuỗi JSON JavaScript?

Các ký tự sau là ký tự dành riêng và không thể sử dụng trong JSON và phải được thoát đúng cách để sử dụng trong chuỗi. .
Backspace được thay thế bằng \b
Nguồn cấp biểu mẫu được thay thế bằng \f
Dòng mới sẽ được thay thế bằng \n
Vận chuyển trở lại được thay thế bằng \r
Tab được thay thế bằng \t