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 相关文章推荐
学习jquery必备 api中英文对照的chm手册 下载
May 03 Javascript
麦鸡的TAB切换功能结合了javascript和css
Dec 17 Javascript
jQuery实现图片信息的浮动显示实例代码
Aug 28 Javascript
js对象内部访问this修饰的成员函数示例
Apr 27 Javascript
BootStrap 标题设置跨行无效的解决方法
Oct 25 Javascript
最后说说Vue2 SSR 的 Cookies 问题
May 25 Javascript
微信小程序自定义音乐进度条的实例代码
Aug 28 Javascript
AngularJS 监听变量变化的实现方法
Oct 09 Javascript
node+multer实现图片上传的示例代码
Feb 18 Javascript
微信小程序自定义弹出模态框禁止底部滚动功能
Mar 09 Javascript
详解Vue之事件处理
Jul 10 Javascript
vue项目接口管理,所有接口都在apis文件夹中统一管理操作
Aug 13 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
奉献出一个封装的curl函数 便于调用(抓数据专用)
2013/07/22 PHP
php中socket的用法详解
2014/10/24 PHP
thinkPHP实现瀑布流的方法
2014/11/29 PHP
php根据某字段对多维数组进行排序的方法
2015/03/07 PHP
javascript学习笔记(七)利用javascript来创建和存储cookie
2011/04/08 Javascript
将list转换为json失败的原因
2013/12/17 Javascript
jQuery 删除或是清空某个HTML元素示例
2014/08/04 Javascript
html的DOM中Event对象onblur事件用法实例
2015/01/21 Javascript
js插件设置innerHTML时在IE8下提示“未知运行时错误”解决方法
2015/04/25 Javascript
Bootstrap导航栏各元素操作方法(表单、按钮、文本)
2015/12/28 Javascript
jQuery ajax调用后台aspx后台文件的两种常见方法(不是ashx)
2016/06/28 Javascript
JS路由跳转的简单实现代码
2017/09/21 Javascript
浅谈Vuejs中nextTick()异步更新队列源码解析
2017/12/31 Javascript
jQuery第一次运行页面默认触发点击事件的实例
2018/01/10 jQuery
详解Vue中watch的详细用法
2018/11/28 Javascript
vue+elementUi图片上传组件使用详解
2019/08/20 Javascript
vue实现文字加密功能
2019/09/27 Javascript
vue.js自定义组件实现v-model双向数据绑定的示例代码
2020/01/08 Javascript
JS指定音频audio在某个时间点进行播放
2020/11/28 Javascript
[06:01]刀塔次级联赛top10第一期
2014/11/07 DOTA
K-means聚类算法介绍与利用python实现的代码示例
2017/11/13 Python
Java编程迭代地删除文件夹及其下的所有文件实例
2018/02/10 Python
python批量修改图片大小的方法
2018/07/24 Python
tensorflow实现简单逻辑回归
2018/09/07 Python
在python环境下运用kafka对数据进行实时传输的方法
2018/12/27 Python
python实现单链表的方法示例
2019/09/03 Python
Python2 与Python3的版本区别实例分析
2020/03/30 Python
keras slice layer 层实现方式
2020/06/11 Python
tensorflow/core/platform/cpu_feature_guard.cc:140] Your CPU supports instructions that this T
2020/06/22 Python
Skyscanner澳大利亚:全球领先的旅游搜索网站
2018/03/24 全球购物
仪器仪表检测毕业生自荐信
2013/10/31 职场文书
导师就业推荐信范文
2014/05/22 职场文书
校园会短篇的广播稿
2014/10/21 职场文书
学校元旦晚会开场白
2015/05/29 职场文书
九年级数学教学反思
2016/02/17 职场文书
解决WINDOWS电脑开机后桌面没有任何图标
2022/04/09 数码科技