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 相关文章推荐
符合W3C网页标准的iframe标签的使用方法
Jul 19 Javascript
js ondocumentready onmouseover onclick onmouseout 样式
Jul 22 Javascript
JavaScript定义类的几种方式总结
Jan 06 Javascript
javascript实现json页面分页实例代码
Feb 20 Javascript
基于javascript html5实现多文件上传
Mar 03 Javascript
jQuery文字横向滚动效果的实现代码
May 31 Javascript
用js动态添加html元素,以及属性的简单实例
Jul 19 Javascript
Vuejs第九篇之组件作用域及props数据传递实例详解
Sep 05 Javascript
Vue2.0 多 Tab切换组件的封装实例
Jul 28 Javascript
微信小程序 数据绑定及运算的简单实例
Sep 20 Javascript
Vue通过for循环随机生成不同的颜色或随机数的实例
Nov 09 Javascript
vue实现点击按钮切换背景颜色的示例代码
Jun 23 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
索尼SONY SRF-S83/84电路分析和打磨
2021/03/02 无线电
安健A254立体声随身听的分析与打磨
2021/03/02 无线电
php imagecreatetruecolor 创建高清和透明图片代码小结
2010/05/15 PHP
php自动获取字符串编码函数mb_detect_encoding
2011/05/31 PHP
使用PHP实现二分查找算法代码分享
2011/06/24 PHP
PHP中图片等比缩放的实例
2013/03/24 PHP
那些年我们错过的魔术方法(Magic Methods)
2014/01/14 PHP
php通过获取头信息判断图片类型的方法
2015/06/26 PHP
PHP实现的文件浏览器功能简单示例
2019/09/12 PHP
一个收集图片的bookmarlet(js 刷新页面中的图片)
2010/05/27 Javascript
js中的replace方法使用介绍
2013/10/28 Javascript
同域jQuery(跨)iframe操作DOM(实例讲解)
2013/12/19 Javascript
通过遮罩层实现浮层DIV登录的js代码
2014/02/07 Javascript
JQuery分屏指示器图片轮换效果实例
2015/05/21 Javascript
详解Javacript和AngularJS中的Promises
2016/02/09 Javascript
Bootstrap布局组件应用实例讲解
2016/02/17 Javascript
JavaScript入门教程之引用类型
2016/05/04 Javascript
原生JS实现-星级评分系统的简单实例
2016/08/21 Javascript
JS实现的ajax和同源策略(实例讲解)
2017/12/01 Javascript
python脚本实现统计日志文件中的ip访问次数代码分享
2014/08/06 Python
Python调用C语言开发的共享库方法实例
2015/03/18 Python
在Python 2.7即将停止支持时,我们为你带来了一份python 3.x迁移指南
2018/01/30 Python
python TKinter获取文本框内容的方法
2018/10/11 Python
Python 中 function(#) (X)格式 和 (#)在Python3.*中的注意事项
2018/11/30 Python
Python3.5面向对象程序设计之类的继承和多态详解
2019/04/24 Python
Django实现网页分页功能
2019/10/31 Python
Python模块的定义,模块的导入,__name__用法实例分析
2020/01/07 Python
TensorFlow——Checkpoint为模型添加检查点的实例
2020/01/21 Python
python自动化测试三部曲之unittest框架的实现
2020/10/07 Python
美国全球旅游运营商:Pacific Holidays
2018/06/18 全球购物
国贸专业个人求职信范文
2014/01/08 职场文书
岗位职责的构建方法
2014/02/01 职场文书
地理教师岗位职责
2014/03/16 职场文书
精神文明建设标语
2014/06/16 职场文书
2015年度考核个人工作总结
2015/10/24 职场文书
oracle覆盖导入dmp文件的2种方法
2021/05/21 Oracle