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中常用编程知识
Apr 08 Javascript
浏览器打开层自动缓慢展开收缩实例代码
Jul 04 Javascript
jQuery中的read和JavaScript中的onload函数的区别
Aug 27 Javascript
js实现鼠标移到链接文字弹出一个提示层的方法
May 11 Javascript
微信小程序 滚动到某个位置添加class效果实现代码
Apr 19 Javascript
详解AngularJS1.6版本中ui-router路由中/#!/的解决方法
May 22 Javascript
Hexo已经看腻了,来手把手教你使用VuePress搭建个人博客
Apr 26 Javascript
jQuery分组选择器简单用法示例
Apr 04 jQuery
Vue项目结合Vue-layer实现弹框式编辑功能(实例代码)
Mar 11 Javascript
JS简易计算器实例讲解
Jun 30 Javascript
layui使用及简单的三级联动实现教程
Dec 01 Javascript
15个值得收藏的JavaScript函数
Sep 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环境搭建最新方法
2006/09/05 PHP
PHP调用Twitter的RSS的实现代码
2010/03/10 PHP
str_replace只替换一次字符串的方法
2013/04/09 PHP
PHP开发的文字水印,缩略图,图片水印实现类与用法示例
2019/04/12 PHP
Stop SQL Server
2007/06/21 Javascript
IE 上下滚动展示模仿Marquee机制
2009/12/20 Javascript
JS小功能(操作Table--动态添加删除表格及数据)实现代码
2013/11/28 Javascript
escape函数解决js中ajax传递中文出现乱码问题
2014/10/30 Javascript
js实现的倒计时按钮实例
2015/06/24 Javascript
js判断子窗体是否关闭的方法
2015/08/11 Javascript
jquery+json实现数据二级联动的方法
2015/11/28 Javascript
分享我的jquery实现下拉菜单心的
2015/11/29 Javascript
Angularjs结合Bootstrap制作的一个TODO List
2016/08/18 Javascript
轻松掌握JavaScript代理模式
2016/08/26 Javascript
JavaScript实现无刷新上传预览图片功能
2017/08/02 Javascript
基于node.js express mvc轻量级框架实践
2017/09/14 Javascript
Vue SSR 组件加载问题
2018/05/02 Javascript
解决jquery的ajax调取后端数据成功却渲染失败的问题
2018/08/08 jQuery
Vue.js数字输入框组件使用方法详解
2019/10/19 Javascript
js实现简单图片拖拽效果
2021/02/22 Javascript
[55:44]OG vs NAVI 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
python实现代码行数统计示例分享
2014/02/10 Python
在Python的Django框架中编写错误提示页面
2015/07/22 Python
python中利用Future对象异步返回结果示例代码
2017/09/07 Python
python pygame模块编写飞机大战
2018/11/20 Python
Python中collections模块的基本使用教程
2018/12/07 Python
Python如何实现FTP功能
2020/05/28 Python
管理学专业个人求职信范文
2013/09/21 职场文书
员工晚婚的请假条
2014/02/08 职场文书
数字化校园建设方案
2014/05/03 职场文书
领导干部“四风”问题批评与自我批评材料
2014/09/24 职场文书
初中英语教师个人工作总结
2015/02/09 职场文书
无故旷工检讨书
2015/08/15 职场文书
2016医师资格考试考生诚信考试承诺书
2016/03/25 职场文书
python数据可视化JupyterLab实用扩展程序Mito
2021/11/20 Python
Spring Boot 的创建和运行示例代码详解
2022/07/23 Java/Android