javascript if statement if url contains substring

This question already has an answer here:

  • How to check whether a string contains a substring in JavaScript? 49 answers

  • You can use the indexOf method

    // Function is used to determine whether a string contains another string
    function contains(search, find) {
        ///<summary>Sees if a string contains another string</summary>
        ///<param type="string" name="search">The string to search in</param>
        ///<param type="string" name="find">The string to find</param>
        ///<returns type="bool">A boolean value indicating whether the search string contained the find string</returns>
        return search.indexOf(find) !== -1;
    }
    

    Here's some sample usage:

    var url = document.URL;
    var substring = 'foo';
    if (contains(url.toLowerCase(), substring.toLowerCase()) { 
    // Contains string
    }
    

    The contains function is case sentitive , however; as demonstrated in my example, you can make it incasesensitive by calling the StringPrototype.toLowerCase Method


    例如,您可以使用indexOf:

    if (url.indexOf(substring)>=0) {
    

    This is a forward-looking answer, and won't work in current implementations.

    ECMAScript 6 is currently defining a String.prototype.contains method. This will allow you to do:

    if (url.contains(substring)) {
    

    Again, this is a future addition. Currently ECMAScript 6 (Harmony) is being drafted, and this could technically be removed, though it doesn't seem likely.

    Current draft:

    15.5.4.24 String.prototype.contains (searchString, position = 0 )

    The contains method takes two arguments, searchString and position, and performs the following steps:

  • Let O be CheckObjectCoercible(this value) .
  • Let S be ToString(O) .
  • ReturnIfAbrupt(S) .
  • Let searchStr be ToString(searchString) .
  • ReturnIfAbrupt(searchStr) .
  • Let pos be ToInteger(position) . (If position is undefined , this step produces the value 0 ).
  • ReturnIfAbrupt(pos) .
  • Let len be the number of elements in S .
  • Let start be min(max(pos, 0), len) .
  • Let searchLen be the number of characters in searchStr .
  • If there exists any integer k not smaller than start such that k + searchLen is not greater than len , and for all nonnegative integers j less than searchLen , the character at position k+j of S is the same as the character at position j of searchStr , return true ; but if there is no such integer k , return false .
  • 链接地址: http://www.djcxy.com/p/73946.html

    上一篇: 布尔和布尔在C#之间的区别?

    下一篇: javascript if语句如果url包含子字符串