Khi làm việc với chuỗi, bạn sẽ nhận thấy có một số ký tự dường như luôn phá vỡ chương trình của bạn. Chúng bao gồm dấu nháy đơn, dấu và, dấu ngoặc kép, v.v. Show
Khi làm việc với các ký tự này, bạn cần sử dụng ký tự được gọi là ký tự 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 Trong JavaScript, dấu gạch chéo ngược (\) là một ký tự thoát Ví dụ: giả sử tôi muốn hiển thị văn bản sau. Họ gọi đó là nhân vật "thoát" Hãy thử điều đó mà không có ký tự thoát Không có nhân vật trốn thoátĐoạn mã trên sẽ không hoạt động như dự định vì ngay khi trình duyệt gặp dấu ngoặc kép đầu tiên, nó sẽ nghĩ rằng chuỗi đã kết thúc. Hơn nữa, nó sẽ dẫn đến lỗi vì nó sẽ mong đợi dấu ngoặc đóng Mã có ký tự thoátĐoạn mã trên sẽ hiển thị dấu ngoặc kép như dự định Điều này là do, ngay khi trình duyệt gặp dấu gạch chéo ngược, nó sẽ biết không cố diễn giải ký tự tiếp theo Mọi ngôn ngữ lập trình đều có các ký tự đặc biệt - các ký tự có ý nghĩa đặc biệt như xác định một biến, cuối dòng hoặc ngắt trong một số dữ liệu. JavaScript cũng không khác, vì vậy nó cung cấp một số chức năng mã hóa và giải mã các ký tự đặc biệt Nếu bạn đang tương tác giữa PHP và JavaScript, bạn cũng cần phải làm quen với các hàm PHP để mã hóa và giải mã các ký tự đặc biệt, đó là lý do tại sao chúng tôi đã tạo công cụ đặc biệt này để thử nghiệm và so sánh các hàm khác nhau Mã hóa và giải mã bằng JavaScript và PHPBiểu mẫu bên dưới cho phép bạn xem đầu ra của các hàm khác nhau được sử dụng để mã hóa các ký tự đặc biệt khi chúng xuất hiện ở dạng văn bản thuần túy hoặc tham số URL (theo dấu '?' trong URL). Trang này gọi các hàm PHP trực tiếp bằng cách sử dụng Ajax thay vì mô phỏng JavaScript. Nếu bạn có một chuỗi để giải mã, hãy sử dụng các nút bên phải để thay thế Các chức năng này thực hiện thay thế trên một số ký tự nhất định như được hiển thị trong bảng ở cuối trang và được mô tả ngắn gọn tại đây
Thoát khỏi dấu ngoặc kép và dấu ngoặc đơnMột chức năng PHP thiết yếu khác có ích khi truyền dữ liệu sang JavaScript là dấu gạch chéo bổ sung sẽ thêm dấu gạch chéo ngược trước. dấu gạch chéo ngược, dấu ngoặc đơn và dấu ngoặc kép Ví dụ: để lặp lại một biến PHP thành mã JavaScript true Geeks for Geeks Geeks for Geeks "Geeks" "FOR" Geeks 'Geeks' 'FOR' Geeks6 Trong HTML, chúng tôi sử dụng dấu ngoặc kép và trong dấu ngoặc đơn JavaScript, do đó, bất kỳ dấu ngoặc kép nào trong mã JavaScript sẽ cần được thoát để chúng không xung đột với dấu ngoặc kép HTML hoặc JavaScript Để biết thêm chi tiết về cách thoát các biến PHP để sử dụng trong JavaScript, hãy xem bài viết liên quan của chúng tôi. Chuyển các biến PHP sang JavaScript Bảng ký tự được mã hóaTại đây, bạn có thể thấy các hàm JavaScript và PHP khác nhau áp dụng như thế nào cho một loạt các ký tự phổ biến Đầu vàoJavaScriptPHPescapeencodeURIencodeURIThành phầnurlencoderawurlencodehtmlentities%20%20%20+%20. %21. %21%21. @@@%40%40%40@#%23#%23%23%23#$%24$%24%24%24$%%25%25%25%25%25%^%5E%5E% . %3A. %3A%3A%3A. ;%3B;%3B%3B%3B;;. "%22%22%22%22%22"'%27''%27%27'\%5C%5C%5C%5C%5C\///%2F%2F%2F/?%3F?%3FThông số kỹ thuật của RFC 1738 khiến cho việc đọc trở nên hấp dẫn - vì tài liệu này đã 10 năm tuổi nhưng vẫn có thể áp dụng được Ký tự Escape là biểu tượng được sử dụng để bắt đầu lệnh thoát nhằm thực hiện một số thao tác. Chúng là những ký tự có thể được giải thích theo một số cách thay thế khác với những gì chúng tôi dự định. Javascript sử dụng '\' (dấu gạch chéo ngược) ở phía trước làm ký tự thoát Mục đích của chúng tôi là chúng tôi muốn in trong bảng điều khiển như ""Geeks" for "Geeks" is 'the' best 'platform'" Để in dấu ngoặc kép, sử dụng các ký tự thoát, chúng tôi có hai tùy chọn
Chúng tôi cũng có thể in dấu ngoặc kép trong bảng điều khiển bằng cách sử dụng dấu ngoặc đơn và dấu ngoặc kép mà không cần sử dụng ký tự thoát. Nhưng có một hạn chế là chúng ta chỉ có thể in dấu ngoặc đơn hoặc dấu ngoặc kép. Nếu chuỗi được biểu diễn bằng dấu ngoặc đơn thì chúng ta chỉ in được dấu ngoặc kép, còn nếu chuỗi được biểu thị bằng dấu nháy đơn thì chúng ta có thể in dấu ngoặc kép bên trong nó. Các chuỗi được biểu diễn trong dấu nháy đơn hoặc kép là như nhau, không có sự khác biệt Javascripttrue Geeks for Geeks Geeks for Geeks "Geeks" "FOR" Geeks 'Geeks' 'FOR' Geeks7 true Geeks for Geeks Geeks for Geeks "Geeks" "FOR" Geeks 'Geeks' 'FOR' Geeks8 true Geeks for Geeks Geeks for Geeks "Geeks" "FOR" Geeks 'Geeks' 'FOR' Geeks9 true Geeks for Geeks Geeks for Geeks "Geeks" "FOR" Geeks 'Geeks' 'FOR' Geeks0 true Geeks for Geeks Geeks for Geeks "Geeks" "FOR" Geeks 'Geeks' 'FOR' Geeks9 true Geeks for Geeks Geeks for Geeks "Geeks" "FOR" Geeks 'Geeks' 'FOR' Geeks2____23 true Geeks for Geeks Geeks for Geeks "Geeks" "FOR" Geeks 'Geeks' 'FOR' Geeks0 true Geeks for Geeks Geeks for Geeks "Geeks" "FOR" Geeks 'Geeks' 'FOR' Geeks8 true Geeks for Geeks Geeks for Geeks "Geeks" "FOR" Geeks 'Geeks' 'FOR' Geeks9 true Geeks for Geeks Geeks for Geeks "Geeks" "FOR" Geeks 'Geeks' 'FOR' Geeks3 true Geeks for Geeks Geeks for Geeks "Geeks" "FOR" Geeks 'Geeks' 'FOR' Geeks9 true Geeks for Geeks Geeks for Geeks "Geeks" "FOR" Geeks 'Geeks' 'FOR' Geeks5 true Geeks for Geeks Geeks for Geeks "Geeks" "FOR" Geeks 'Geeks' 'FOR' Geeks6 true Geeks for Geeks Geeks for Geeks "Geeks" "FOR" Geeks 'Geeks' 'FOR' Geeks0 true Geeks for Geeks Geeks for Geeks "Geeks" "FOR" Geeks 'Geeks' 'FOR' Geeks8 true Geeks for Geeks Geeks for Geeks "Geeks" "FOR" Geeks 'Geeks' 'FOR' Geeks9 Geeks 'FOR' Geeks Geeks "FOR" Geeks 'Geeks "FOR" Geeks' ""Geeks" for "Geeks" is 'the' best 'platform'"0 true Geeks for Geeks Geeks for Geeks "Geeks" "FOR" Geeks 'Geeks' 'FOR' Geeks9 Geeks 'FOR' Geeks Geeks "FOR" Geeks 'Geeks "FOR" Geeks' ""Geeks" for "Geeks" is 'the' best 'platform'"2 Geeks 'FOR' Geeks Geeks "FOR" Geeks 'Geeks "FOR" Geeks' ""Geeks" for "Geeks" is 'the' best 'platform'"3 true Geeks for Geeks Geeks for Geeks "Geeks" "FOR" Geeks 'Geeks' 'FOR' Geeks9 Geeks 'FOR' Geeks Geeks "FOR" Geeks 'Geeks "FOR" Geeks' ""Geeks" for "Geeks" is 'the' best 'platform'"5 Geeks 'FOR' Geeks Geeks "FOR" Geeks 'Geeks "FOR" Geeks' ""Geeks" for "Geeks" is 'the' best 'platform'"6 true Geeks for Geeks Geeks for Geeks "Geeks" "FOR" Geeks 'Geeks' 'FOR' Geeks9 Geeks 'FOR' Geeks Geeks "FOR" Geeks 'Geeks "FOR" Geeks' ""Geeks" for "Geeks" is 'the' best 'platform'"8 Geeks 'FOR' Geeks Geeks "FOR" Geeks 'Geeks "FOR" Geeks' ""Geeks" for "Geeks" is 'the' best 'platform'"6 true Geeks for Geeks Geeks for Geeks "Geeks" "FOR" Geeks 'Geeks' 'FOR' Geeks8 true Geeks for Geeks Geeks for Geeks "Geeks" "FOR" Geeks 'Geeks' 'FOR' Geeks9 true Geeks for Geeks Geeks for Geeks "Geeks" "FOR" Geeks 'Geeks' 'FOR' Geeks72 true Geeks for Geeks Geeks for Geeks "Geeks" "FOR" Geeks 'Geeks' 'FOR' Geeks9 true Geeks for Geeks Geeks for Geeks "Geeks" "FOR" Geeks 'Geeks' 'FOR' Geeks74 true Geeks for Geeks Geeks for Geeks "Geeks" "FOR" Geeks 'Geeks' 'FOR' Geeks9 true Geeks for Geeks Geeks for Geeks "Geeks" "FOR" Geeks 'Geeks' 'FOR' Geeks76 true Geeks for Geeks Geeks for Geeks "Geeks" "FOR" Geeks 'Geeks' 'FOR' Geeks9 true Geeks for Geeks Geeks for Geeks "Geeks" "FOR" Geeks 'Geeks' 'FOR' Geeks78 true Geeks for Geeks Geeks for Geeks "Geeks" "FOR" Geeks 'Geeks' 'FOR' Geeks79 true Geeks for Geeks Geeks for Geeks "Geeks" "FOR" Geeks 'Geeks' 'FOR' Geeks0 true Geeks for Geeks Geeks for Geeks "Geeks" "FOR" Geeks 'Geeks' 'FOR' Geeks9 true Geeks for Geeks Geeks for Geeks "Geeks" "FOR" Geeks 'Geeks' 'FOR' Geeks82____183 true Geeks for Geeks Geeks for Geeks "Geeks" "FOR" Geeks 'Geeks' 'FOR' Geeks8 true Geeks for Geeks Geeks for Geeks "Geeks" "FOR" Geeks 'Geeks' 'FOR' Geeks9 true Geeks for Geeks Geeks for Geeks "Geeks" "FOR" Geeks 'Geeks' 'FOR' Geeks86 true Geeks for Geeks Geeks for Geeks "Geeks" "FOR" Geeks 'Geeks' 'FOR' Geeks9 true Geeks for Geeks Geeks for Geeks "Geeks" "FOR" Geeks 'Geeks' 'FOR' Geeks88 true Geeks for Geeks Geeks for Geeks "Geeks" "FOR" Geeks 'Geeks' 'FOR' Geeks9 true Geeks for Geeks Geeks for Geeks "Geeks" "FOR" Geeks 'Geeks' 'FOR' Geeks90____191 true Geeks for Geeks Geeks for Geeks "Geeks" "FOR" Geeks 'Geeks' 'FOR' Geeks0 true Geeks for Geeks Geeks for Geeks "Geeks" "FOR" Geeks 'Geeks' 'FOR' Geeks9 true Geeks for Geeks Geeks for Geeks "Geeks" "FOR" Geeks 'Geeks' 'FOR' Geeks82____195 true Geeks for Geeks Geeks for Geeks "Geeks" "FOR" Geeks 'Geeks' 'FOR' Geeks96 đầu ra true Geeks for Geeks Geeks for Geeks "Geeks" "FOR" Geeks 'Geeks' 'FOR' Geeks ví dụ 2. Sử dụng chuỗi thoát – Nếu bạn đã bắt đầu trích dẫn bằng \’ thì bạn cũng phải kết thúc trích dẫn bằng \’ và ngược lại Làm cách nào để sử dụng ký tự thoát trong JavaScript?Javascript sử dụng '\' (dấu gạch chéo ngược) phía trước làm ký tự thoát. Để in dấu ngoặc kép, sử dụng các ký tự thoát, chúng tôi có hai tùy chọn. Dành cho dấu nháy đơn. \' (dấu gạch chéo ngược theo sau bởi dấu nháy đơn) Dành cho dấu nháy kép. \” (dấu gạch chéo ngược theo sau bởi dấu ngoặc kép)
Làm cách nào để thoát trong regex JavaScript?* + ( ) theo nghĩa đen, chúng ta cần thêm vào trước chúng một dấu gạch chéo ngược \ (“escape them”) . Chúng ta cũng cần trốn thoát / nếu chúng ta ở trong nhà /. / (nhưng không phải bên trong RegExp mới). Khi chuyển một chuỗi sang RegExp mới, chúng ta cần nhân đôi dấu gạch chéo ngược \\, khiến các trích dẫn chuỗi sử dụng một trong số chúng.
Tôi có thể sử dụng cái gì thay vì thoát trong JavaScript?Hàm escape() không được dùng nữa. Thay vào đó, hãy sử dụng encodeURI() hoặc encodeURIComponent() . |