javascript中indexOf技术详解


Posted in Javascript onMay 07, 2015

JavaScript提供了几种技术,来在字符串中搜索一个单词、数字或其他的一串字符。搜索可能很方便,例如,如果你想要知道访问者使用哪种Web浏览器来浏览你的站点。每个Web浏览器在一个字符串中标识关于自己的信息,该字符串包含了很多不同的统计数据。可以通过在一个Web页面中添加下面这段JavaScript,并且在Web浏览器预览,从而看到这个字符串:

<script>
alert(navigator.userAgent);
</script>

Navigator是一个Web浏览器对象,并且userAgent是navigator对象的一个属性。userAgent属性包含了长长的一串信息,例如,对于运行在Windows XP上的Internet Explorer 7,其userAgent属性是:Mozilla/4.0(compatible;MSIE 7.0;Windows NT 5.1)。因此,如果你想看看Web浏览器是IE 7的情况,你可以在userAgent字符串中只搜索“MSIE 7”。搜索字符串的方法之一是indexOf()方法。在字符串之后添加一个句点,然后是indexOf(),并且提供你要查找的字符串。基本的结构如下所示:
string.indexOf('string to look for')

indexOf()方法返回一个数字:如果没有找到搜索字符串,该方法返回-1。因此,如果你想要检查Internet Explorer,可以这样做:

var browser=navigator.userAgent;//this is a string
if(browser.indexOf('MSIE')!=-1){
//this is Internet Explorer
}

在这个例子中,如果indexOf()没有在userAgent字符串中找到'MSIE',它将返回-1,因此,条件测试查看结果是否不等于(!=)-1。当indexOf()方法确实找到了要搜索的字符串,它返回一个数字,它等于要查找的字符串的开始位置。如下的示例使得事情更加清晰一些:

var quote='To be, or not to be.'
var searchPosition=quote.indexOf('To be');//returns 0

在这里,indexOf()在字符串'To be, or not to be.'中搜索'To be'的位置。较大的字符串以'To be'开始,因此,indexOf()在第一个位置就找到了'To be'。但是,按照编程的方式,第一个位置认为是0,第二个字母(o)在位置1,并且第三个字母(在这个例子中是一个空格)是2。

indexOf()方法从字符串的开头开始搜索。你也可以使用lastIndexOf()方法,从字符串的末尾开始搜索。例如,在莎士比亚的名言中,单词'be'出现在两个位置,因此,可以使用indexOf()找到第一个'be',并使用lastIndexOf()找到最后一个'be':

var quote="To be, or not to be."
var firstPosition=quote.indexOf('be');//returns 3
var lastPosition=quote.lastIndexOf('be');//returns 17

在这两个例子中,如果'be'不存在于字符串中的任何位置,结果将会是-1;如果只有一个搜索字符串的实例,indexO f()和lastIndexOf()将会返回相同的值,也就是搜索字符串在较大的字符串中开始的位置。

以上所述就是本文的全部内容了,希望大家能够喜欢。

Javascript 相关文章推荐
Javascript图像处理—平滑处理实现原理
Dec 28 Javascript
jQuery动画效果-slideUp slideDown上下滑动示例代码
Aug 28 Javascript
深入理解js generator数据类型
Aug 16 Javascript
微信小程序之数据双向绑定与数据操作
May 12 Javascript
判断jQuery是否加载完成,没完成继续判断的解决方法
Dec 06 jQuery
jQuery中库的引用方法
Jan 06 jQuery
js将键值对字符串转为json字符串的方法
Mar 30 Javascript
详解Vue This$Store总结
Dec 17 Javascript
基于Vue2-Calendar改进的日历组件(含中文使用说明)
Apr 14 Javascript
Angular 中使用 FineReport不显示报表直接打印预览
Aug 21 Javascript
vue实现select下拉显示隐藏功能
Sep 30 Javascript
JavaScript实时更新当前的时间的示例代码
Jul 15 Javascript
javascript限制文本框输入值类型的方法
May 07 #Javascript
浅谈Javascript的静态属性和原型属性
May 07 #Javascript
ECMAScript5(ES5)中bind方法使用小结
May 07 #Javascript
JS中获取函数调用链所有参数的方法
May 07 #Javascript
jQuery中animate动画第二次点击事件没反应
May 07 #Javascript
js实现鼠标滑过文字链接色彩变化的效果
May 06 #Javascript
JS实现文字掉落效果的方法
May 06 #Javascript
You might like
PHP中$_SERVER的详细参数与说明
2008/07/29 PHP
php输出xml格式字符串(用的这个)
2012/07/12 PHP
Yii PHP Framework实用入门教程(详细介绍)
2013/06/18 PHP
PHP中exec函数和shell_exec函数的区别
2014/08/20 PHP
Yii2框架中使用PHPExcel导出Excel文件的示例
2017/08/09 PHP
PHP接入微信H5支付的方法示例
2019/10/28 PHP
PHP设计模式之外观模式(Facade)入门与应用详解
2019/12/13 PHP
javascript 全选与全取消功能的实现代码
2012/12/23 Javascript
javascript模拟地球旋转效果代码实例
2013/12/02 Javascript
运用JQuery的toggle实现网页加载完成自动弹窗
2014/03/18 Javascript
利用原生JavaScript获取元素样式只是获取而已
2014/10/08 Javascript
轻松实现JavaScript图片切换
2016/01/12 Javascript
很全面的JavaScript常用功能汇总集合
2016/01/22 Javascript
js中遍历Map对象的简单实例
2016/08/08 Javascript
浅谈js中用$(#ID)来作为选择器的问题(id重复的时候)
2017/02/14 Javascript
Bootstrap实现可折叠分组侧边导航菜单
2018/03/07 Javascript
200行代码实现blockchain 区块链实例详解
2018/03/14 Javascript
vue+高德地图写地图选址组件的方法
2019/05/18 Javascript
[48:18]DOTA2-DPC中国联赛 正赛 RNG vs Dynasty BO3 第二场 1月29日
2021/03/11 DOTA
使用wxpython实现的一个简单图片浏览器实例
2014/07/10 Python
python实现机器学习之多元线性回归
2018/09/06 Python
python中dir()与__dict__属性的区别浅析
2018/12/10 Python
详解Python sys.argv使用方法
2019/05/10 Python
Django实现跨域的2种方法
2019/07/31 Python
Django静态文件加载失败解决方案
2020/08/26 Python
Linux内核产生并发的原因
2012/07/13 面试题
人力资源管理毕业生自荐信
2013/11/21 职场文书
自我评价如何写好?
2014/01/05 职场文书
企业员工薪酬方案
2014/06/04 职场文书
敬老院献爱心活动总结
2014/07/08 职场文书
土木工程专业本科生求职信
2014/10/01 职场文书
党支部工作总结2015
2015/04/01 职场文书
村党组织公开承诺书
2015/04/30 职场文书
保险公司反洗钱宣传活动总结
2015/05/08 职场文书
劳动保障事务所个人工作总结
2015/08/12 职场文书
golang的文件创建及读写操作
2022/04/14 Golang