Các ký tự thoát trong javascript là gì?
Như chúng ta đã thấy, dấu gạch chéo ngược 14 được sử dụng để biểu thị các lớp ký tự, e. g. 15. 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) Show
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ư ________ 00. 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 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ự đó. 1Đó cũng được gọi là "thoát khỏi một nhân vật" Ví dụ
Dấu ngoặc đơn cũng là ký tự đặc biệt nên nếu muốn chúng ta dùng 2. Ví dụ dưới đây tìm kiếm một chuỗi 3
Nếu chúng ta đang tìm dấu gạch chéo ngược 14, 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ó
Ký hiệu dấu gạch chéo 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. 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 5 0Mặt khác, nếu chúng tôi không sử dụng 8, nhưng tạo biểu thức chính quy bằng cách sử dụng 9, thì chúng tôi không cần phải thoát khỏi nó 3Nếu chúng ta đang tạo một biểu thức chính quy với 9, thì chúng ta không cần phải thoát khỏi 1 mà cần thực hiện một số thao tác thoát khácVí dụ, hãy xem xét điều này 6Tìm kiếm tương tự trong một trong các ví dụ trước đã hoạt động với 2, nhưng 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ư 4 và dấu gạch chéo ngược được sử dụng để thoát Một ký tự thoát cho phép bạn xuất các ký tự mà thông thường bạn không thể làm được, thường là do trình duyệt sẽ diễn giải ký tự đó theo cách khác với những gì bạn dự định Phương pháp-1. Thoát các ký tự đặc biệt HTML trong JavaScriptĐoạn mã sau cho thấy phương pháp đơn giản và dễ dàng để thoát các ký tự đặc biệt HTML trong JavaScript Nguồn đầy đủ. JavaScriptPhương pháp-2. Thoát tất cả các ký tự đặc biệt trong JavaScriptTrong phương pháp này, hãy sử dụng HTML Phương thức DOM createTextNode() để thoát các ký tự đặc biệt HTML trong JavaScript Nguồn đầy đủ. JavaScriptPhương pháp-3. Thoát các ký tự đặc biệt trong JavaScriptTrong phương pháp này, hãy sử dụng phương thức thay thế () của JavaScript để thoát các ký tự đặc biệt trong JavaScript Nguồn đầy đủ. JavaScriptKý tự thoát JavaScriptví dụĐoạn code trên khi chạy sẽ báo lỗi do trình duyệt gặp dấu ngoặc kép đầu tiên, nó sẽ tưởng là chuỗi đã kết thúc Sử dụng ký tự thoátĐoạn mã trên sẽ chạy thành công, vì trình duyệt gặp dấu gạch chéo ngược, nó biết không cố diễn giải ký tự tiếp theo Gần đây đã viết về các tham chiếu ký tự trong HTML và các chuỗi ký tự thoát trong CSS, tôi cho rằng sẽ rất thú vị nếu xem xét cả các ký tự thoát trong JavaScript Mã ký tự, điểm mã và đơn vị mãĐiểm mã (còn được gọi là “mã ký tự”) là biểu thị bằng số của một ký tự Unicode cụ thể Ví dụ: mã ký tự của ký hiệu bản quyền 17 là 18, có thể viết là 19 ở dạng hexTrong JavaScript, có thể sử dụng 20 để lấy điểm mã Unicode dạng số của bất kỳ ký tự nào lên tới U+FFFF (i. e. ký tự có điểm mã 21, là 22 ở dạng thập phân)Vì JavaScript sử dụng mã hóa UCS-2 bên trong, nên các điểm mã cao hơn được biểu thị bằng một cặp ký tự giả “thay thế” (có giá trị thấp hơn) được sử dụng để tạo thành ký tự thực. Để lấy mã ký tự thực của các ký tự có điểm mã cao hơn này trong JavaScript, bạn sẽ phải làm. Về cơ bản, JavaScript sử dụng các đơn vị mã thay vì các điểm mã Bây giờ thì không còn cách nào khác, chúng ta hãy xem các loại trình tự thoát ký tự khác nhau trong chuỗi JavaScript Trình tự thoát ký tự đơnCó một số chuỗi thoát ký tự đơn để sử dụng trong chuỗi
Tất cả các ký tự thoát có thể dễ dàng được ghi nhớ bằng biểu thức chính quy sau. 08Lưu ý rằng ký tự thoát 09 biến các ký tự đặc biệt thành chữChỉ có một ngoại lệ cho quy tắc này 0 09 theo sau bởi một dòng mới không phải là một chuỗi thoát ký tự, mà là một 171. Đây chỉ đơn giản là một cách để trải một chuỗi trên nhiều dòng (ví dụ: để chỉnh sửa mã dễ dàng hơn), mà không có chuỗi thực sự bao gồm bất kỳ ký tự dòng mới nào. Tôi cho rằng bạn có thể nghĩ về 09 theo sau bởi một dòng mới như một chuỗi thoát cho chuỗi rỗngCác ký tự không có ý nghĩa đặc biệt cũng có thể được thoát (e. g. 173), nhưng điều này tất nhiên là không cần thiết. Tuy nhiên, việc sử dụng 174 bên ngoài a hoặc 175 bên ngoài a is và khiến một số công cụ đưa ra lỗi cú phápGhi chú. IE < 9 coi 176 là 177 thay vì tab dọc ( 178). Nếu lo ngại về khả năng tương thích giữa nhiều trình duyệt, hãy sử dụng 179 thay vì 03Một điều khác cần lưu ý là các lần thoát 03 và 04 không được phép trong các chuỗi JSONTrình tự thoát bát phânBất kỳ ký tự nào có mã ký tự thấp hơn 183 (i. e. bất kỳ ký tự nào trong phạm vi ASCII mở rộng) có thể được thoát bằng cách sử dụng mã ký tự được mã hóa theo hệ bát phân của nó, có tiền tố là 09. (Lưu ý rằng đây là cùng một phạm vi ký tự có thể thoát qua. )Để sử dụng ví dụ tương tự, ký hiệu bản quyền ( 185) có mã ký tự 18, cung cấp cho 187 trong ký hiệu bát phân, vì vậy bạn có thể viết nó là 188Thoát bát phân có thể bao gồm hai, ba trong số bốn ký tự. 189, 190 và 191 là tương đương; . Tuy nhiên, nếu thoát bát phân (e. g. 189) là một phần của chuỗi lớn hơn và ngay sau nó là một ký tự trong phạm vi 193 (e. g. 194), ký tự tiếp theo sẽ được coi là một phần của chuỗi thoát cho đến khi có tối đa ba chữ số được khớp. Nói cách khác, 195 (thoát một ký tự bát phân đơn tương đương với 196) không giống với 197 (thoát bát phân 191 theo sau là ký tự không thoát 199). Bằng cách đơn giản là thoát số bát phân đệm bằng không, bạn có thể tránh được sự cố nàyLưu ý rằng có một ngoại lệ ở đây. bản thân nó, 04 không phải là một chuỗi thoát bát phân. Nó trông giống như một, và nó thậm chí còn bằng với 201 và 202, cả hai đều là chuỗi thoát hệ bát phân — nhưng trừ khi nó được theo sau bởi một chữ số thập phân, nó hoạt động giống như một. Hoặc,. 203. Có lẽ dễ nhất để xác định cú pháp thoát bát phân bằng biểu thức chính quy sau. 204Lưu ý rằng
Ngoài ra,
Chúng cũng ở dạng chữ mẫu TL; DR Không sử dụng thoát bát phân; Trình tự thoát thập lục phânBất kỳ ký tự nào có mã ký tự thấp hơn 183 (i. e. bất kỳ ký tự nào trong phạm vi ASCII mở rộng) có thể được thoát bằng cách sử dụng mã ký tự được mã hóa hex của nó, có tiền tố là 175. (Lưu ý rằng đây là cùng một phạm vi ký tự có thể thoát qua. )Thoát thập lục phân dài bốn ký tự. Họ yêu cầu chính xác hai ký tự sau 175. Nếu mã ký tự thập lục phân chỉ dài một ký tự (trường hợp này áp dụng cho tất cả các mã ký tự nhỏ hơn 210 hoặc 211 ở dạng thập lục phân), bạn sẽ cần đệm nó bằng một ký tự 212 ở đầuVí dụ: ký hiệu bản quyền (______1185) có mã ký tự 18, mã này cung cấp cho 215 ở dạng hex, vì vậy bạn có thể viết nó là 216Phần thập lục phân của thoát này không phân biệt chữ hoa chữ thường; Bạn có thể xác định cú pháp thoát thập lục phân bằng biểu thức chính quy sau. 219Có một chút khó hiểu khi đề cập đến loại trình tự thoát này là "thập lục phân", vì cũng sử dụng hex Trình tự thoát UnicodeBất kỳ ký tự nào có mã ký tự thấp hơn 220 đều có thể được thoát bằng giá trị thập lục phân của mã ký tự, có tiền tố là 174. (, mã ký tự cao hơn được biểu thị bằng một cặp ký tự thay thế. )Thoát Unicode dài sáu ký tự. Họ yêu cầu chính xác bốn ký tự sau 174. Nếu mã ký tự thập lục phân chỉ dài một, hai hoặc ba ký tự, bạn sẽ cần thêm các số 0 vào đầu mã đóBiểu tượng bản quyền ( 185) có mã ký tự 18, cung cấp cho 215 trong ký hiệu thập lục phân, vì vậy bạn có thể viết nó là 226. Tương tự, 227 có thể được viết là 228Phần thập lục phân của loại thoát ký tự này không phân biệt chữ hoa chữ thường; Bạn có thể xác định cú pháp thoát Unicode bằng biểu thức chính quy sau. 231Ghi chú. Khác với , các lối thoát Unicode là những lối thoát duy nhất được đặc tả JSON cho phép ECMAScript 6. Thoát điểm mã UnicodeECMAScript 6 một loại trình tự thoát mới trong chuỗi, cụ thể là thoát điểm mã Unicode. Ngoài ra, nó sẽ xác định 232 và 233, cả hai đều chấp nhận các điểm mã thay vì các đơn vị mã giống như UCS-2/UTF-16Khi điều này được triển khai, bất kỳ ký tự nào cũng có thể được thoát bằng cách sử dụng giá trị thập lục phân của mã ký tự, có tiền tố là 234 và có hậu tố là 235. Điều này được phép cho các điểm mã lên tới 236, đây là điểm mã cao nhất được xác định bởi UnicodeThoát điểm mã Unicode bao gồm ít nhất năm ký tự. Ít nhất một ký tự thập lục phân có thể được bao bọc trong 237. Không có giới hạn trên đối với số chữ số hex được sử dụng (ví dụ: 238) nhưng đối với các mục đích thực tế, bạn sẽ không cần nhiều hơn 6, trừ khi bạn thực hiện thao tác đệm số 0 không cần thiếtTetragram cho biểu tượng trung tâm ( 239) có điểm mã U+1D306, vì vậy bạn có thể viết nó là 240. Để so sánh, nếu bạn định sử dụng biểu tượng này để biểu thị, bạn phải viết riêng các nửa thay thế. 241Phần thập lục phân của loại thoát ký tự này không phân biệt chữ hoa chữ thường; Bạn có thể xác định cú pháp thoát điểm mã Unicode bằng biểu thức chính quy sau. 244Kiểm soát trình tự thoátTrong biểu thức chính quy (không phải trong chuỗi. ), bất kỳ ký tự nào có mã ký tự lớn hơn 212 và thấp hơn ________ 1246 đều có thể được thoát bằng cách sử dụng ký tự ký hiệu dấu mũ, có tiền tố là ________ 1247Các lối thoát điều khiển dài ba ký tự. Họ yêu cầu chính xác một ký tự sau 247Ví dụ: U+000A LINE FEED là 249 trong ký hiệu dấu mũ (vì 000 và 001 là chữ cái thứ 10 của bảng chữ cái). Vì vậy, một biểu thức chính quy hợp lệ phù hợp với biểu tượng này sẽ là 002, e. g. 003Ký tự ký hiệu dấu mũ theo sau 247 trong loại thoát ký tự này không phân biệt chữ hoa chữ thường; Dưới đây là danh sách tất cả các chuỗi thoát điều khiển có sẵn và các ký tự điều khiển mà chúng ánh xạ tới Escape sequenceUnicode code point 007 or 008U+0001 START OF HEADING 009 or 010U+0002 START OF TEXT 011 or 012U+0003 END OF TEXT 013 or 014U+0004 END OF TRANSMISSION 015 or 016U+0005 ENQUIRY 017 or 018U+0006 ACKNOWLEDGE 019 or 020U+0007 BELL 021 or 022U+ Bạn có thể xác định cú pháp thoát điều khiển bằng biểu thức chính quy sau. 059Một công cụ để thoát nhân vậtTôi đã viết một trình thoát chuỗi JavaScript kết hợp các loại thoát khác nhau này (ngoại trừ chuỗi không dùng nữa) và trả về chuỗi kết quả nhỏ nhất có thể. Hãy thử nó tại mẹeff. trong/js-thoát Bạn có thể sử dụng nó để thoát bất kỳ ký tự nào, nhưng có một tùy chọn để chỉ thoát các ký tự ASCII không phải ASCII và không thể in được (có lẽ là hữu ích nhất). Bằng cách này, bạn có thể dễ dàng biến các chuỗi như 060 thành chuỗi tương đương chỉ có mã ASCII nhỏ nhất có thể là 061. Quay lại khi tôi đang làm việc trên Punycode. js, công cụ này giúp tôi tiết kiệm khá nhiều thời gianCần thoát chuỗi trong ứng dụng JavaScript của bạn? Về tôiChào bạn. Tôi là Mathias. Tôi làm việc trên Chrome DevTools và công cụ JavaScript V8 tại Google. HTML, CSS, JavaScript, Unicode, hiệu suất và bảo mật khiến tôi phấn khích. Theo dõi tôi trên Twitter, Mastodon và GitHub pomeh đã viết trên. Cảm ơn Mathias. Điều này thật tuyệt. ) Deian đã viết trên. Bạn là một trong những nhà phát triển THỰC SỰ hữu ích nhất xung quanh. Cảm ơn bạn cho tất cả các bài viết của bạn Mathias. Chúc bạn một Giáng sinh vui vẻ & Năm mới hạnh phúc .mario đã viết trên. Visual Basic Script cho phép sử dụng một dạng thoát khác để biểu thị số thập phân
Thiemo đã viết trên. Tôi đã làm một cái gì đó rất giống với 140byte. nhập cảnh một lần. http. //maettig. com/code/javascript/encode-javascript-string-in-140byt. là. html Không đã viết trên. Nếu tôi cần chèn chính 09 vào chuỗi thì sao?. e. không sử dụng nó làm ký tự thoát? Cập nhật. Xin lỗi, tôi quên đề cập đến ngôn ngữ. JS, sử dụng JSON, cố gắng thêm dữ liệu vào ô Google Trang tính thông qua chức năng 'Blockspring' đã sửa đổi Mathias đã viết trên. . Flimm đã viết về. Nếu bạn không cẩn thận khi thêm phần đệm vào biểu thức chính quy, nó có thể hoạt động lạ 0Mathias đã viết trên. Phần đệm là bắt buộc, không chỉ trong biểu thức chính quy mà ở mọi nơi. 071 và 072 không phải là chuỗi thoát hợp lệStan đã viết trên. Cảm ơn. Tôi đang cố mã hóa 073 bằng cách sử dụng 074 và không thể hiểu tại sao nó không hoạt động cho đến khi tôi thấy rằng mã hex chỉ hoạt động với 075 và tôi cần sử dụng 076
Đó là những ký tự thoát?Ví dụ . \' trích dẫn đơn \" trích dẫn kép \\ dấu gạch chéo ngược \n dòng mới \r vận chuyển trở lại thẻ \t \b xóa lùi \f nguồn cấp dữ liệu biểu mẫu Làm cách nào để thoát khỏi các ký tự đặc biệt trong JavaScript?Để 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ự đó. \ . . Đó cũng được gọi là "thoát khỏi một nhân vật".
Các ký tự thoát trong mã hóa là gì?Một chuỗi thoát chứa ký hiệu dấu gạch chéo ngược (\) theo sau là một trong các ký tự chuỗi thoát hoặc một số bát phân hoặc thập lục phân . Chuỗi thoát thập lục phân chứa một x theo sau là một hoặc nhiều chữ số thập lục phân (0-9, A-F, a-f). Chuỗi thoát bát phân sử dụng tối đa ba chữ số bát phân (0-7).
Có bao nhiêu kiểu thoát hiểm?Có hai dạng chính mà các phòng thoát hiểm có, đó là tuyến tính và phi tuyến tính. |