Chỉ một chuỗi. Thêm \ 'vào nó mỗi lần có một dấu nháy đơn.Làm cách nào để thêm dấu gạch chéo vào chuỗi trong Javascript?
Trả lời
replace
công trình cho các báo đầu tiên, vì vậy bạn cần một biểu hiện thường xuyên nhỏ:
str = str.replace(/'/g, "\\'");
Điều này là không chính xác vì bạn cũng cần phải thoát khỏi dấu gạch chéo. –
@AlexeyLebedev - Đối số thứ hai không phải là mẫu regex - bạn chỉ cần một dấu gạch chéo ngược trong chuỗi. – Kobi
xem: str = "\\ '"; str = str.replace (/ '/ g, "\\'"); –
var myNewString = myOldString.replace(/'/g, "\\'");
var str = "This is a single quote: ' and so is this: '";
console.log(str);
var replaced = str.replace(/'/g, "\\'");
console.log(replaced);
Cung cấp cho bạn:
This is a single quote: ' and so is this: '
This is a single quote: \' and so is this: \'
Để chắc chắn, bạn cần phải không chỉ thay thế các dấu nháy đơn, nhưng cũng có thể thay thế các dấu nháy đơn:
Câu trả lời bạn không yêu cầu có thể hữu ích, nếu bạn đang thực hiện thay thế để chuẩn bị gửi chuỗi vào cảnh báo() - hoặc bất kỳ điều gì khác mà một nhân vật báo giá có thể đi bạn .
str.replace("'",'\x27')
Điều đó sẽ thay thế tất cả các dấu nháy đơn bằng mã số mã hex cho một trích dẫn.
Các chuỗi đó giống hệt nhau. Trừ khi bạn có nghĩa là '\\ x27'. –
Tiếp theo hàm JavaScript xử lý',", \ b, \ t \ n, \ f hoặc \ r tương đương với addslashes php function().
function addslashes(string) {
return string.replace(/\\/g, '\\\\').
replace(/\u0008/g, '\\b').
replace(/\t/g, '\\t').
replace(/\n/g, '\\n').
replace(/\f/g, '\\f').
replace(/\r/g, '\\r').
replace(/'/g, '\\\'').
replace(/"/g, '\\"');
}
Chức năng này sẽ làm ngược lại, hy vọng điều này được phép đăng ở đây ... y2 .. String.prototype.stripSlashes = function() { trả lại this.replace (/\\(.)/ mg, "$ 1"); } –
Một chuỗi có thể được thoát một cách toàn diện và đầy đủ sử dụng JSON.stringify. Nó là một phần của JavaScript của ECMAScript 5 và được hỗ trợ bởi các phiên bản trình duyệt mới hơn lớn.
str = JSON.stringify(String(str));
str = str.substring(1, str.length-1);
Sử dụng phương pháp này, cũng ký tự đặc biệt như các byte null, các ký tự unicode và ngắt dòng \r
và \n
được thoát đúng cách trong một tuyên bố tương đối nhỏ gọn.
Được hỗ trợ bởi tất cả các trình duyệt có tỷ lệ sử dụng toàn cầu lớn hơn 0,1%, mặc dù phiên bản 8 của IE phải ở chế độ tiêu chuẩn. – thelem
if (!String.prototype.hasOwnProperty('addSlashes')) {
String.prototype.addSlashes = function() {
return this.replace(/&/g, '&') /* This MUST be the 1st replacement. */
.replace(/'/g, ''') /* The 4 other predefined entities, required. */
.replace(/"/g, '"')
.replace(/\\/g, '\\\\')
.replace(/</g, '<')
.replace(/>/g, '>').replace(/\u0000/g, '\\0');
}
}
Cách sử dụng: alert (str.addSlashes());
- 1. Thêm dấu gạch chéo ngược vào chuỗi
- 2. Làm cách nào để xóa dấu gạch chéo khỏi chuỗi?
- 3. Thoát chuỗi (thêm dấu gạch chéo) trong VB.net?
- 4. Cách thêm một dấu gạch chéo ngược vào một chuỗi trong java
- 5. Làm cách nào để thêm một ký tự dấu gạch chéo ngược vào một chuỗi trong Ruby?
- 6. Làm thế nào để thay thế toàn bộ dấu gạch chéo trong chuỗi JavaScript?
- 7. Làm thế nào để thay thế dấu gạch chéo ngược với dấu gạch chéo ngược
- 8. Làm cách nào để tạo đường dẫn thư mục có dấu gạch chéo ngược hoặc dấu gạch chéo chéo?
- 9. mod_rewrite: thêm dấu gạch chéo sau?
- 10. Làm cách nào để thay thế dấu gạch chéo ngược bằng dấu gạch chéo ngược kép bằng RegExp?
- 11. Làm cách nào để tạo chuỗi trong PHP bằng dấu gạch chéo ngược trong đó?
- 12. javascript/jquery thêm dấu gạch chéo vào url (nếu không có)
- 13. Python, thêm dấu gạch chéo vào chuỗi thư mục, os độc lập
- 14. Làm cách nào để thoát khỏi chuỗi thoát được dấu gạch chéo ngược trong python?
- 15. Tôi nên làm thế nào để thêm dấu gạch chéo vào dấu nháy đơn và bỏ qua dấu ngoặc kép?
- 16. Có thành ngữ nào để thêm dấu gạch chéo vào đường dẫn tệp không?
- 17. Cụm từ thông dụng: Chuỗi trận đấu giữa hai dấu gạch chéo nếu chuỗi đó chứa dấu gạch chéo thoát
- 18. Làm thế nào để trích dẫn \ "(dấu gạch chéo kép) trong một chuỗi chữ?
- 19. xóa thêm dấu cách trong chuỗi javascript
- 20. Javascript thay thế dấu ngoặc kép bằng dấu gạch chéo
- 21. Remove chuỗi sau dấu gạch chéo cuối cùng trong JAVA
- 22. JavaScript regex thay thế - dấu gạch chéo thoát
- 23. JAX-RS @PathParam Làm thế nào để vượt qua một chuỗi với dấu gạch chéo, dấu gạch nối & bằng quá
- 24. Javascript để tìm xem chuỗi có kết thúc bằng dấu gạch chéo không
- 25. Làm cách nào để thêm dấu bằng vào chuỗi?
- 26. Có cách nào khác để thêm dấu gạch ngang vào chuỗi không?
- 27. Làm cách nào để xóa tất cả ký tự và bao gồm dấu gạch chéo thứ 3 trong chuỗi?
- 28. PHP và dấu gạch chéo ngược trong chuỗi
- 29. Thay thế dấu gạch chéo ngược trong một chuỗi
- 30. Cách chuyển hướng dấu gạch chéo thêm vào URL bằng IIS
Điều này không tốt hơn đối với phòng ngừa tiêm sql, vì kẻ tấn công có thể dễ dàng bỏ qua điều này. Mã khai thác không phải thực thi javascript của bạn, nó sẽ chỉ gửi yêu cầu. Thoát và vệ sinh đầu vào phải luôn luôn được thực hiện ở phía máy chủ. – rook
Hoặc, bạn có thể chỉ muốn tiết kiệm cho mình một số PHP và làm điều đó ở phía khách hàng như câu hỏi đặc biệt yêu cầu. – tim
Điều Rook đang nói là bạn * không nên * tự lưu lại một số PHP và thực hiện nó ở phía máy khách, bởi vì kẻ tấn công có thể dễ dàng bỏ qua bất kỳ mã phía máy khách nào. –