js 判断是否包含字符串

JavaScript017

js 判断是否包含字符串,第1张

可以使用JavaScript原生自带的indexof方法。

定义和用法

indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。

语法

stringObject.indexOf(searchvalue,fromindex)

参数

searchvalue    必需。规定需检索的字符串值。  

fromindex    可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是 0 到 stringObject.length - 1。如省略该参数,则将从字符串的首字符开始检索。  

说明

该方法将从头到尾地检索字符串 stringObject,看它是否含有子串 searchvalue。开始检索的位置在字符串的 fromindex 处或字符串的开头(没有指定 fromindex 时)。如果找到一个 searchvalue,则返回 searchvalue 的第一次出现的位置。stringObject 中的字符位置是从 0 开始的。

提示和注释

注释:indexOf() 方法对大小写敏感!

注释:如果要检索的字符串值没有出现,则该方法返回 -1。

小例子,仅供参考:

<script type="text/javascript">

    var str="Hello world!"

    document.write(str.indexOf("Hello") + "<br />")

    document.write(str.indexOf("World") + "<br />")

    document.write(str.indexOf("world"))

</script>

JS判断字符串包含的方法具体如下:1. 例子:var tempStr = "tempText" var bool = tempStr.indexOf("Texxt")//返回大于等于0的整数值,若不包含"Text"则返回"-1。if(bool>0){document.write("包含字符串")}else{document.write("不包含字符串")}2. indexOf用法:strObj.indexOf(subString[, startIndex])JavaScript中indexOf函数方法返回一个整数值,指出 String 对象内子字符串的开始位置。如果没有找到子字符串, 则返回 -1。如果 startindex 是负数,则 startindex 被当作零。如果它比最大的字符位置索引还大,则它被当作最大的可能索引。参数:strObj : 必选项,String 对象或文字。subString :必选项,要在 String 对象中查找的子字符串。starIndex :可选项,该整数值指出在 String 对象内开始查找的索引。如果省略,则从字符串的开始处查找;如果 startindex 是负数,则 startindex 被当作零。如果它比最大的字符位置索引还大,则它被当作最大的可能索引。3. 与lastIndexOf的区别:lastIndexOf() 方法则是从字符串的结尾开始检索子串。

一、String.prototype.indexOf和String.prototype.lastIndexOf

这两个方法,可能是我们最容易想到的,如果包含子串,则返回大于等于0的索引,否则返回-1,没有达到我们的理想情况。

var str= "My blog name is Benjamin-专注前端开发和用户体验",

substr = "Benjamin"

function isContains(str, substr) {

return str.indexOf(substr) >= 0

}

//true

console.log(isContains(str, substr))

二、String.prototype.search

我们想到了String.prototype.search方法,因search方法的参数是一个正则表达式,所以和indexOf的情况相同。

var str= "My blog name is Benjamin-专注前端开发和用户体验",

substr = "Benjamin"

function isContains(str, substr) {

return new RegExp(substr).test(str)

}

//true

console.log(isContains(str, substr))

这个方法比indexOf方法看起来好点,该方法直接返回true or false,同时方法名称test比indexOf更有语义性。

三、String.prototype.contains

var str= "My blog name is Benjamin-专注前端开发和用户体验",

substr = "Benjamin"

function isContains(str, substr) {

return str.contains(substr)

}

//true

console.log(isContains(str, substr))

此方法目前只有Firefox支持,还处于ECMAScript 6草案中。这个方法满足了上面提到的理想情况。详情请点击这里。如果你想使用contains方法,可以参考第三方库string.js,点击此处本站下载string.js。源码实现:

contains: function(ss) {

return this.s.indexOf(ss) >= 0

},