JavaScript or jQuery equivalent of PHP's strstr() function

medk picture medk · Aug 10, 2011 · Viewed 36.6k times · Source

Is there a function in jQuery or JavaScript that does the same as strstr() in PHP?

I have an AJAX response that should be 1,2,3,12,13,23 or 123. I want to check if 1 exists, then if 2 exists then if 3 exists.

Answer

Andrew Lee picture Andrew Lee · Aug 10, 2011

Try using this:

function strstr(haystack, needle, bool) {
    // Finds first occurrence of a string within another
    //
    // version: 1103.1210
    // discuss at: http://phpjs.org/functions/strstr    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   bugfixed by: Onno Marsman
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // *     example 1: strstr(‘Kevin van Zonneveld’, ‘van’);
    // *     returns 1: ‘van Zonneveld’    // *     example 2: strstr(‘Kevin van Zonneveld’, ‘van’, true);
    // *     returns 2: ‘Kevin ‘
    // *     example 3: strstr(‘[email protected]’, ‘@’);
    // *     returns 3: ‘@example.com’
    // *     example 4: strstr(‘[email protected]’, ‘@’, true);    // *     returns 4: ‘name’
    var pos = 0;

    haystack += "";
    pos = haystack.indexOf(needle); if (pos == -1) {
        return false;
    } else {
        if (bool) {
            return haystack.substr(0, pos);
        } else {
            return haystack.slice(pos);
        }
    }
}

(From http://phpjs.org/functions/strstr:551)

Overall phpjs is pretty phenomenal.