Compare part of string in JavaScript

后端 未结 7 2020
感动是毒
感动是毒 2020-12-31 01:12

How do I compare a part of a string - for example if I want to compare if string A is part of string B. I would like to find out this: When string A = \"abcd\"

相关标签:
7条回答
  • 2020-12-31 01:45

    Javascript ES6/ES2015 has String.includes(), which has nearly all browser compatibility except for IE. (But what else is new?)

    let string = "abcdef";
    string.includes("abcd"); //true
    string.includes("aBc"); //false - .includes() is case sensitive
    
    0 讨论(0)
  • 2020-12-31 01:47

    Like this:

    var str = "abcdef";
    if (str.indexOf("abcd") >= 0)
    

    Note that this is case-sensitive. If you want a case-insensitive search, you can write

    if (str.toLowerCase().indexOf("abcd") >= 0)
    

    Or,

    if (/abcd/i.test(str))
    

    And a general version for a case-insensitive search, you can set strings of any case

    if (stringA.toLowerCase().indexOf(stringB.toLowerCase()) >= 0)
    
    0 讨论(0)
  • 2020-12-31 01:48

    Using indexOf or match is unnecessarily slow if you are dealing with large strings and you only need to validate the beginning of the string. A better solution is to use startsWith() or its equivalent function-- from https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith:

    if (!String.prototype.startsWith) {
        String.prototype.startsWith = function(searchString, position){
          position = position || 0;
          return this.substr(position, searchString.length) === searchString;
      };
    }
    
    0 讨论(0)
  • 2020-12-31 01:51

    You can try the javascript search also

    if( stringA.search(stringB) > -1){
    }
    
    0 讨论(0)
  • 2020-12-31 01:53

    You can use indexOf:

    if ( stringB.indexOf( stringA ) > -1 ) {
      // String B contains String A
    } 
    
    0 讨论(0)
  • 2020-12-31 01:57

    "abcdef".indexOf("abcd") !== -1 should be okay

    0 讨论(0)
提交回复
热议问题