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 相关文章推荐
IE8 兼容性问题(属性名区分大小写)
Jun 04 Javascript
Riot.js 快速的JavaScript单元测试框架
Nov 09 Javascript
JavaScript 放大镜 放大倍率和视窗尺寸
May 09 Javascript
一个JavaScript获取元素当前高度的实例
Oct 29 Javascript
js仿百度登录页实现拖动窗口效果
Mar 11 Javascript
JS中Json数据的处理和解析JSON数据的方法详解
Jun 29 Javascript
JS实现搜索框文字可删除功能
Dec 28 Javascript
js实现省份下拉菜单效果
Feb 15 Javascript
如何编写jquery插件
Mar 29 jQuery
详解webpack 多入口配置
Jun 16 Javascript
小程序实现新用户判断并跳转激活的方法
May 20 Javascript
如何在postman测试用例中实现断言过程解析
Jul 09 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
Session保存到数据库的php类分享
2011/10/24 PHP
php+mysql实现简单的增删改查功能
2015/07/13 PHP
PHP实现简单的新闻发布系统实例
2015/07/28 PHP
php session 写入数据库
2016/02/13 PHP
PHP中的函数声明与使用详解
2017/05/27 PHP
tp框架(thinkPHP)实现三次登陆密码错误之后锁定账号功能示例
2018/05/24 PHP
JS 文件本身编码转换 图文教程
2009/10/12 Javascript
jQuery 核心函数以及jQuery对象
2010/03/23 Javascript
jQuery 淡入淡出 png图在ie8下有黑色边框的解决方法
2013/03/05 Javascript
js实现简单登录功能的实例代码
2013/11/09 Javascript
javascript中Array数组的迭代方法实例分析
2015/02/04 Javascript
javascript HTML5文件上传FileReader API
2020/03/27 Javascript
JavaScript中return用法示例
2016/11/29 Javascript
webpack入门必知必会
2017/01/16 Javascript
JavaScript运动框架 多值运动(四)
2017/05/18 Javascript
Ajax高级笔记 JavaScript高级程序设计笔记
2017/06/22 Javascript
jQuery实现QQ空间汉字转拼音功能示例
2017/07/10 jQuery
JS中offset和匀速动画详解
2018/02/06 Javascript
JavaScript闭包原理与用法实例分析
2018/08/10 Javascript
JavaScript实现的级联算法示例【省市二级联动功能】
2018/12/25 Javascript
使用vue-router切换页面时,获取上一页url以及当前页面url的方法
2019/05/06 Javascript
vue父组件触发事件改变子组件的值的方法实例详解
2019/05/07 Javascript
layui实现数据表格自定义数据项
2019/10/26 Javascript
webpack打包优化的几个方法总结
2020/02/10 Javascript
原生js实现表格翻页和跳转
2020/09/29 Javascript
python定向爬取淘宝商品价格
2018/02/27 Python
对python mayavi三维绘图的实现详解
2019/01/08 Python
详解Python 字符串相似性的几种度量方法
2019/08/29 Python
Python小整数对象池和字符串intern实例解析
2020/03/21 Python
python语言中有算法吗
2020/06/16 Python
Sublime Text3最新激活注册码分享适用2020最新版 亲测可用
2020/11/12 Python
Numpy ndarray 多维数组对象的使用
2021/02/10 Python
领班岗位职责范文
2014/02/06 职场文书
体育系毕业生求职自荐信
2014/04/16 职场文书
学习弘扬焦裕禄精神心得体会
2016/01/23 职场文书
导游词之太原天龙山
2020/01/02 职场文书