JavaScript Function urldecode, in_array, implode and explode
In this post, we will be making JavaScript functions such as
- urldecode
- in_array
- implode
- explode
urldecode
function urldecode (str) { return decodeURIComponent(str.replace(/+/g, ' ')) }
in_array
in_array equivalent function in JavaScript 1.6 Array.indexOf , but it is not supported in older browsers.
function in_array(needle, haystack) { var key = ''; for (key in haystack) { if (haystack[key] == needle) { return true; } } return false; }
Input/Output
var haystack=new Array(1,2,3,4); alert(in_array('4', haystack));
implode
function implode(glue, pieces) { var i = '', returnVal = '', tmpGlue = ''; if (arguments.length === 1) { pieces = glue; glue = ''; } if (typeof pieces === 'object') { if (Object.prototype.toString.call(pieces) === '[object Array]') { return pieces.join(glue); } for (i in pieces) { returnVal += tmpGlue + pieces[i]; tmpGlue = glue; } return returnVal; } return pieces; }
Input/Output
var pieces=new Array(1,2,3,4); alert(implode('-', pieces));
explode
function explode(delimiter, string, limit) { if (typeof delimiter === 'undefined' || typeof string === 'undefined') return null; if (delimiter === '' || delimiter === false || delimiter === null) return false; if (typeof delimiter === 'function' || typeof delimiter === 'object' || typeof string === 'function' || typeof string === 'object') { return { 0: '' }; } if (delimiter === true) delimiter = '1'; delimiter += ''; string += ''; var s = string.split(delimiter); if (typeof limit === 'undefined') return s; if (limit === 0) limit = 1; // Positive if (limit > 0) { if (limit >= s.length) return s; return s.slice(0, limit - 1) .concat([s.slice(limit - 1) .join(delimiter) ]); } // Negative if (-limit >= s.length) return []; s.splice(s.length + limit); return s; }
Input/Output
alert(explode(',', "1,2,3,456")); alert(explode(',',"a,b,c,cde"));
0 Comment