UNPKG

phpjs

Version:

php.js offers community built php functions in javascript

116 lines (98 loc) 3.24 kB
--- layout: page title: "JavaScript trim function" comments: true sharing: true footer: true alias: - /functions/view/trim:566 - /functions/view/trim - /functions/view/566 - /functions/trim:566 - /functions/566 --- <!-- Generated by Rakefile:build --> A JavaScript equivalent of PHP's trim {% codeblock strings/trim.js lang:js https://raw.github.com/kvz/phpjs/master/functions/strings/trim.js raw on github %} function trim (str, charlist) { // From: http://phpjs.org/functions // + original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net) // + improved by: mdsjack (http://www.mdsjack.bo.it) // + improved by: Alexander Ermolaev (http://snippets.dzone.com/user/AlexanderErmolaev) // + input by: Erkekjetter // + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net) // + input by: DxGx // + improved by: Steven Levithan (http://blog.stevenlevithan.com) // + tweaked by: Jack // + bugfixed by: Onno Marsman // * example 1: trim(' Kevin van Zonneveld '); // * returns 1: 'Kevin van Zonneveld' // * example 2: trim('Hello World', 'Hdle'); // * returns 2: 'o Wor' // * example 3: trim(16, 1); // * returns 3: 6 var whitespace, l = 0, i = 0; str += ''; if (!charlist) { // default list whitespace = " \n\r\t\f\x0b\xa0\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u200b\u2028\u2029\u3000"; } else { // preg_quote custom list charlist += ''; whitespace = charlist.replace(/([\[\]\(\)\.\?\/\*\{\}\+\$\^\:])/g, '$1'); } l = str.length; for (i = 0; i < l; i++) { if (whitespace.indexOf(str.charAt(i)) === -1) { str = str.substring(i); break; } } l = str.length; for (i = l - 1; i >= 0; i--) { if (whitespace.indexOf(str.charAt(i)) === -1) { str = str.substring(0, i + 1); break; } } return whitespace.indexOf(str.charAt(0)) === -1 ? str : ''; } {% endcodeblock %} - [Raw function on GitHub](https://github.com/kvz/phpjs/blob/master/functions/strings/trim.js) Please note that php.js uses JavaScript objects as substitutes for PHP arrays, they are the closest match to this hashtable-like data structure. Please also note that php.js offers community built functions and goes by the [McDonald's Theory](https://medium.com/what-i-learned-building/9216e1c9da7d). We'll put online functions that are far from perfect, in the hopes to spark better contributions. Do you have one? Then please just: - [Edit on GitHub](https://github.com/kvz/phpjs/edit/master/functions/strings/trim.js) ### Example 1 This code {% codeblock lang:js example %} trim(' Kevin van Zonneveld '); {% endcodeblock %} Should return {% codeblock lang:js returns %} 'Kevin van Zonneveld' {% endcodeblock %} ### Example 2 This code {% codeblock lang:js example %} trim('Hello World', 'Hdle'); {% endcodeblock %} Should return {% codeblock lang:js returns %} 'o Wor' {% endcodeblock %} ### Example 3 This code {% codeblock lang:js example %} trim(16, 1); {% endcodeblock %} Should return {% codeblock lang:js returns %} 6 {% endcodeblock %} ### Other PHP functions in the strings extension {% render_partial _includes/custom/strings.html %}