File tree Expand file tree Collapse file tree 3 files changed +19
-13
lines changed
Expand file tree Collapse file tree 3 files changed +19
-13
lines changed Original file line number Diff line number Diff line change 11"use strict" ;
2- function encode ( str ) {
3- return encodeURIComponent ( str )
2+ const encode = str => {
3+ return encodeURIComponent ( str + '' )
44 . replace ( / [ ! ' ( ) ] / g, escape )
55 . replace ( / \* / g, "%2A" )
6- . replace ( / \% 2 0 / g, "+" ) ;
7- }
6+ . replace ( / \% 2 0 / g, "+" )
7+ . replace ( / ~ / g, '%7E' ) ;
8+ } ;
89
9- function decode ( str ) {
10- return decodeURIComponent ( str . replace ( / \+ / g, " " ) . replace ( / \% 2 A / g, "*" ) ) ;
11- }
10+ const decode = str => {
11+ return decodeURIComponent (
12+ ( str + '' )
13+ . replace ( / % (? ! [ \d a - f ] { 2 } ) / gi, ( ) => '%25' )
14+ . replace ( / \+ / g, '%20' )
15+ ) ;
16+ } ;
1217
1318module . exports = encode ;
1419module . exports . encode = encode ;
Original file line number Diff line number Diff line change 11{
22 "name" : " phpurlencode" ,
33 "description" : " Functionally similar to PHP urlencode and urldecode functions" ,
4- "version" : " 1.0.0 " ,
4+ "version" : " 1.0.1 " ,
55 "main" : " index.js" ,
66 "license" : " MIT" ,
77 "devDependencies" : {
1313 "repository" : {
1414 "type" : " git" ,
1515 "url" : " https://github.com/luke3butler/node-phpurlencode.git"
16- }
16+ },
17+ "dependencies" : {}
1718}
Original file line number Diff line number Diff line change @@ -8,8 +8,8 @@ describe("urlencode", function() {
88 "should encode special characters similar to php's urlencode" ,
99 function ( ) {
1010 assert . equal (
11- "%21%40%23%24%25%5E%26%2A%28%29%2B%27" ,
12- urlencode ( "!@#$%^&*()+'" )
11+ "%21%40%23%24%25%5E%26%2A%28%29%2B%27%7E%22%3C%3E%2C. " ,
12+ urlencode ( "!@#$%^&*()+'~\"<>,. " )
1313 ) ;
1414 }
1515 ) ;
@@ -28,8 +28,8 @@ describe("urlencode", function() {
2828 "should decode special characters similar to php's urldecode" ,
2929 function ( ) {
3030 assert . equal (
31- "!@#$%^&*()+'" ,
32- urlencode . decode ( "%21%40%23%24%25%5E%26%2A%28%29%2B%27" )
31+ "!@#$%^&*()+'~\"<>,. " ,
32+ urlencode . decode ( "%21%40%23%24%25%5E%26%2A%28%29%2B%27%7E%22%3C%3E%2C. " )
3333 ) ;
3434 }
3535 ) ;
You can’t perform that action at this time.
0 commit comments