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:
//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:
//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ừ: //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ừ: //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ừ //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ỏi
Có thể bạn quan tâm
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:
//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:
//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ừ: //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ừ: //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ừ //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ẻ