Tôi đang tìm kiếm chức năng tương tự như urlencode() từ PHP chỉ trong JavaScript. Thư viện jQuery được cho phép. Về cơ bản, tôi cần mã hóa chuỗi và sau đó chuyển hướng người dùng đến một trang khác chỉ bằng JavaScript. - php
- javascript
- url
- urlencode
14 hữu ích 0 bình luận 18k xem chia sẻ answer 25 Không có chức năng khá phù hợp urlencode() , nhưng có một khá tương đương với rawurlencode() : encodeURIComponent() . Sử dụng: var encoded = encodeURIComponent(str); Bạn có thể tìm tài liệu tham khảo tại đây: https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/encodeURIComponent
25 hữu ích 0 bình luận chia sẻ answer 3 Hãy xem phpjs.org nếu bạn đang tìm kiếm một hàm JS tương đương với PHP: http://phpjs.org/functions/urlencode:573 Ở đây bạn có thể sử dụng encodeURIComponent() (với một số sửa đổi). 3 hữu ích 0 bình luận chia sẻ answer 2 Từ: https://www.php.net/manual/en/ Chức năng.urlencode.php Trả về một chuỗi trong
đó tất cả các ký tự không phải chữ và số ngoại trừ -_. đã được thay thế bằng dấu phần trăm (%) theo sau là hai chữ số hex và dấu cách được mã hóa dưới dạng dấu cộng (+). Nó được mã hóa giống như cách mã hóa dữ liệu đã đăng từ biểu mẫu WWW, giống như trong loại phương tiện được mã hóa application / x-www-form-urlencoded. Điều này khác với »mã hóa RFC 3986 (xem mã rawurlencode ()) ở chỗ vì lý do lịch sử, dấu cách được mã hóa dưới dạng dấu cộng (+)
Từ:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent : encodeURIComponent () thoát khỏi tất cả các ký tự ngoại trừ: Không thoát: AZ az 0-9 - _. ! ~ * '()
Đoạn mã được cung cấp ở gần cuối trang đó trông giống như sau: function fixedEncodeURIComponent(str) {
return encodeURIComponent(str).replace(/[!'()*]/g, function(c) {
return '%' + c.charCodeAt(0).toString(16);
});
}
Tôi đang điều chỉnh một chút đoạn mã javascript được cung cấp để bao gồm thêm một vài ký tự. Mã của tôi: function urlEncodeLikePHP(str) {
return encodeURIComponent(str).replace(/[.!~*'()]/g, function(c) {
return '%' + c.charCodeAt(0).toString(16);
});
}
Sử dụng: urlEncodeLikePHP("._!_~_*_'_(_)-\\-&-|-/");
// effectively: "._!_~_*_'_(_)-\-&-|-/"
Đầu ra
được mã hóa: %2e_%21_%7e_%2a_%27_%28_%29-%5C-%26-%7C
2 hữu ích 0 bình luận chia sẻ answer 2 Mã của tôi là hàm JS tương đương với urlencode của PHP (dựa trên mã nguồn của PHP). function urlencode(str) {
let newStr = '';
const len = str.length;
for (let i = 0; i < len; i++) {
let c = str.charAt(i);
let code = str.charCodeAt(i);
// Spaces
if (c === ' ') {
newStr += '+';
}
// Non-alphanumeric characters except "-", "_", and "."
else if ((code < 48 && code !== 45 && code !== 46) ||
(code < 65 && code > 57) ||
(code > 90 && code < 97 && code !== 95) ||
(code > 122)) {
newStr += '%' + code.toString(16);
}
// Alphanumeric characters
else {
newStr += c;
}
}
return newStr;
}
2 hữu ích 0 bình luận chia sẻ answer 0 0 hữu ích 1 bình luận chia sẻ answer 0 Hãy thử urlencode từ http://locutus.io/php/url/urlencode/ . Tôi đã
thử nghiệm nó trong một số trường hợp tôi đã gặp và nó hoạt động. 0 hữu ích 0 bình luận chia sẻ Đăng nhập để trả lời câu hỏiCó thể bạn quan tâmTôi đang tìm kiếm chức năng tương tự như urlencode() từ PHP chỉ trong JavaScript. Thư viện jQuery được cho phép. Về cơ bản, tôi cần mã hóa chuỗi và sau đó chuyển hướng người dùng đến một trang khác chỉ bằng JavaScript.
- php
- javascript
- url
- urlencode
14 hữu ích 0 bình luận 18k xem chia sẻ answer 25 Không có chức năng khá phù hợp urlencode() , nhưng có một khá tương đương với rawurlencode() : encodeURIComponent() . Sử dụng: var encoded = encodeURIComponent(str); Bạn có thể tìm tài liệu tham khảo tại đây: https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/encodeURIComponent 25 hữu ích
0 bình luận chia sẻ answer 3 Hãy xem phpjs.org nếu bạn đang tìm kiếm một hàm JS tương đương với PHP: http://phpjs.org/functions/urlencode:573 Ở đây bạn có thể sử dụng encodeURIComponent() (với một số sửa đổi). 3 hữu ích 0 bình luận chia sẻ answer 2 Từ: https://www.php.net/manual/en/ Chức năng.urlencode.php Trả về một chuỗi trong đó tất cả các ký tự không phải
chữ và số ngoại trừ -_. đã được thay thế bằng dấu phần trăm (%) theo sau là hai chữ số hex và dấu cách được mã hóa dưới dạng dấu cộng (+). Nó được mã hóa giống như cách mã hóa dữ liệu đã đăng từ biểu mẫu WWW, giống như trong loại phương tiện được mã hóa application / x-www-form-urlencoded. Điều này khác với »mã hóa RFC 3986 (xem mã rawurlencode ()) ở chỗ vì lý do lịch sử, dấu cách được mã hóa dưới dạng dấu cộng (+)
Từ:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent : encodeURIComponent () thoát khỏi tất cả các ký tự ngoại trừ: Không thoát: AZ az 0-9 - _. ! ~ * '()
Đoạn mã được cung cấp ở gần cuối trang đó trông giống như sau: function fixedEncodeURIComponent(str) {
return encodeURIComponent(str).replace(/[!'()*]/g, function(c) {
return '%' + c.charCodeAt(0).toString(16);
});
}
Tôi đang điều chỉnh một chút đoạn mã javascript được cung cấp để bao gồm thêm một vài ký tự. Mã của tôi: function urlEncodeLikePHP(str) {
return encodeURIComponent(str).replace(/[.!~*'()]/g, function(c) {
return '%' + c.charCodeAt(0).toString(16);
});
}
Sử dụng: urlEncodeLikePHP("._!_~_*_'_(_)-\\-&-|-/");
// effectively: "._!_~_*_'_(_)-\-&-|-/"
Đầu ra
được mã hóa: %2e_%21_%7e_%2a_%27_%28_%29-%5C-%26-%7C
2 hữu ích 0 bình luận chia sẻ answer 2 Mã của tôi là hàm JS tương đương với urlencode của PHP (dựa trên mã nguồn của PHP). function urlencode(str) {
let newStr = '';
const len = str.length;
for (let i = 0; i < len; i++) {
let c = str.charAt(i);
let code = str.charCodeAt(i);
// Spaces
if (c === ' ') {
newStr += '+';
}
// Non-alphanumeric characters except "-", "_", and "."
else if ((code < 48 && code !== 45 && code !== 46) ||
(code < 65 && code > 57) ||
(code > 90 && code < 97 && code !== 95) ||
(code > 122)) {
newStr += '%' + code.toString(16);
}
// Alphanumeric characters
else {
newStr += c;
}
}
return newStr;
}
2 hữu ích 0 bình luận chia sẻ answer 0 0 hữu ích 1 bình luận chia sẻ answer 0 Hãy thử urlencode từ http://locutus.io/php/url/urlencode/ . Tôi đã
thử nghiệm nó trong một số trường hợp tôi đã gặp và nó hoạt động. 0 hữu ích 0 bình luận chia sẻ Đăng nhập để trả lời câu hỏiCó thể bạn quan tâm
|