js中indexOf()和lastIndexOf()方法

indexOf()和lastIndexOf()方法——一个字符串中查找另一个字符串

    indexOf()方法和lastIndexOf()方法用于查找一个字符串中是否包含了另一个字符串。包含在另一个字符串中的字符串通常称为字符串。仅需要某串信息中的一部分时,就可以使用这两个方法。例如,在“小测试”程序中,用户输入一个文本答案,就需要检查该字符串是否包含了某些的关键字。
    indexOf()和lastIndexOf()方法都带两个参数:
    1 需要查找的字符串
    2 开始查找的字符位置(可选)
    字符位置从0开始。如果不包含第二个参数,就从字符串开头开始搜索
    indexOf()和lastIndexOf()方法的返回值是查找到的子串在字符串中的位置,它也是基于0的,因此,如果在字符串开头找到子串,则返回0.如果没有找到子串,则返回-1.
    例如,要在字符串“Hello jeremy.How are you Jeremy”中查找子串“Jeremy”,可以使用如下代码:
    var myString = "Hello jeremy.How are you Jeremy";
    var foundAtPosition;

    foundAtPosition = myString.indexOf("Jeremy");
    alert(foundAtPosition);

    以上代码将弹出一个消息框,其中包含数组26,这是“Jeremy”的字符位置,为什么是26呢?显然,它是字符串中第二个“Jeremy”出现的位置,而不是第一个“jeremy”出现的位置6。这是因为JavaScript是区分大小写,如果输入的是IndexOf(),而不是indexOf(),则JavaScript会报告错误。同样,“jeremy”与“Jeremy”是不同的,大小写错误非常普遍,即使是编程专家也很容易犯此类错误。所以编程时最好特别注意。
    前面介绍了indexOf()方法,但lastIndexOf()方法与之区别是indexOf()方法从字符串的开头或第二个参数指定的位置开始向后查找,而lastIndexOf()方法从字符串的结尾或指定的位置向字符串的开头查找。
    
    var myString = "Hello Jeremy.How are you Jeremy";
    var foundAtPosition;

    foundAtPosition = myString.indexOf("Jeremy");
    alert(foundAtPosition);

    coundAtPosition = myString.lastIndexOf("Jeremy");
    alert(foundAtPosition);

    在本例子中,第一次使用indexOf(),找到第一个“Jerermy”(把上一个例子中的“jeremy”改为正确的大小写),警告框显示这个结果,即字符串位置6,接着使用lastIndexOf()来查找,它从字符串的结尾开始查找,因此找到的第一个“Jeremy”是字符串中字符位置为26的最后一个“Jeremy”,因此,第二个警告框显示结果为26.

猜你喜欢

转载自lyz8jj0.iteye.com/blog/2378248