JavaScript字符串属性indexOf()的妙用

我想做过网页的朋友对这个属性函数都不会太陌生吧——我们可以从很多JavaScript参考书上找到它的用法: theString.indexOf(subString,[n])。它在指定字符串对象中寻找传送的子字符串,如果指定参数n,它可以从指定的位置开始向前搜索(从左往右)。如果找到子字符串,这个方法返回子字符串在字符串中的位置;如果没有找到相应的字符串,它返回-1。

利用它的这个属性,我们可以叫它干很多事,只要你指挥得当。

一.判断OS

一般情况下,判断出你的访客所用的操作系统会让他们以为你在完花样而已,但并不总是这样。虽然http协议是跨平台的,但你编写的html页面最终的显示效果却往往与客户端所用的操作系统有关。比如MSOS系列(MS-DOS,Windows 9X/NT等)对文本的"另起一行"的定义是"回车加换行",但Mac只要一个"回车"就够了,而Unix/Linux仅仅使用"换行"。这样你在某页面中要输出一些要分行的东东可能就会因此产生"兼容"问题……没关系啦,看看下面的例子。

第一步. 在页面的某一位置插入以下脚本:

<script language="JavaScript"><!--
var newline=''; //定义"另起一行"的全局变量
var browserVer=navigator.appVersion;
if(browserVer.indexOf('Win')!=-1){ //如果当前浏览器的版本是Windows版的
newline='
';}
else{
if(browserVer.indexOf('Mac')!=-1){ //如果当前浏览器的版本是Mac版的
newline='
';}
else{ //那因该就是Linux版的了
newline='
';}
}
-->
</script>

第二步.在页面主体(<body>……</body>)中使用它:

<script language="JavaScript"><!--
var win=self.window;
win.alert('第一行'+newline+'第二行'+newline+'第三行'); //可以将newline作为一个变量在任意位置引用
-->
</script>

二.判断浏览器

1998年的浏览器大战似乎已经烟消云散,但由此带来的浏览器兼容问题一直令广大网页编写人员大为疼。关于这个问题的解决方法有许多,这不在本文的讨论范围,但我想最彻底最有效的措施恐怕是为每种主流浏览器分别编写一个页面版本,这样就近乎完美了。试试下面的代码,它将帮你把你的访客带入与客户端浏览器相对应的页面:

<!-- 把这段代码放在页面的前部,最好放在<head>……</head>之间 -->
<script language="JavaScript"><!--
var browser=navigator.appName;
var version=navigator.appVersion;
var ver_number=parseFloat(version.substring(0,version.indexOf('(')));
//如果客户端浏览器是ie并且版本高于4.0
if(browser.indexOf('Microsoft Internet Explorer')!=-1&&ver_number>=4.0) top.location='/ie4/index.html' //假设你为4.0及更高版本的ie准备的页面是/ie4/index.html
//如果客户端浏览器是Netscape并且版本高于4.0
else if(browser.indexOf('Netscape')!=-1&&ver_number>=4.0) top.location='/nc4/index.html' //假设你为Netscape 4.X准备的页面是/nc4/index.html
else top.location='/normal/index.html' //假设你为其他浏览器及低版本的NC、IE准备的页面是/normal/index.html
-->
</script>

时间: 2024-10-27 01:08:36

JavaScript字符串属性indexOf()的妙用的相关文章

JavaScript[对象.属性]集锦

javascript|对象 SCRIPT 标记? 用于包含JavaScript代码.? 属性? LANGUAGE 定义脚本语言? SRC 定义一个URL用以指定以.JS结尾的文件? windows对象? 每个HTML文档的顶层对象.? 属性? frames[] 子桢数组.每个子桢数组按源文档中定义的顺序存放.? feames.length 子桢个数.? self 当前窗口.? parent 父窗口(当前窗口是中一个子窗口).? top 顶层窗口(是所有可见窗口的父窗口).? status 浏览器

Javascript字符串常用方法详解_javascript技巧

字符串 字符串就是一个或多个排列在一起的字符,放在单引号或双引号之中. 'abc' "abc" length属性 js里的字符串类似于数组,都是一个一个字符拼凑在一起组成的,因此可以用length属性取得字符串的长度 var str = "hello" str.length; // 5 字符串常用的一些方法 1. charAt() str.charAt(n) => 返回字符串的第 n 个字符,如果不在 0~str.length-1之间,则返回一个空字符串. v

JavaScript 字符串常用操作小结(非常实用)_javascript技巧

字符串截取 1. substring() xString.substring(start,end) substring()是最常用到的字符串截取方法,它可以接收两个参数(参数不能为负值),分别是要截取的开始位置和结束位置,它将返回一个新的字符串,其内容是从start处到end-1处的所有字符.若结束参数(end)省略,则表示从start位置一直截取到最后. let str = 'www.jeffjade.com' console.log(str.substring(0,3)) // www co

JavaScript字符串插入、删除、替换函数使用示例

本文为大家介绍下JavaScript字符串的插入.删除.替换函数的在实际中的应用,想要学习的朋友可以参考下哈,希望对初学者有所帮助   说明: 以下函数中前两个函数取出查找字符串的前一部分和后一部分,以用于其他函数.注意,调用一次 replaceString(mainStr,searchStr,replaceStr) 函数,只能将字符串 mainStr 中最先找到的一个 searchStr 字符串替换为 replaceStr 字符串,并不能将字符串 mainStr 中所有的 searchStr

JavaScript类属性的访问方式介绍

 这篇文章主要介绍了JavaScript类属性的访问方式,需要的朋友可以参考下 JavaScript类属性的访问方式   代码如下: var fish = {  head : 1,  tail : 1,  feature : {  speak : false,  swim : true  }  }    其一,点操作符:   代码如下: console.log(fish.head);//1  console.log(fish.tail);//1  console.log(fish.feature

字符集-JavaScript字符串长度是字符长度还是16位编码长度?

问题描述 JavaScript字符串长度是字符长度还是16位编码长度? 根据<JavaScript权威指南>39页上所写的: 但是我试验了一下,发现e.length是1 啊 有人能给我解释一下嘛,感谢 解决方案 ud835udc52不是字母e 解决方案二: 就是包含的字符个数,跟内码没关系 解决方案三: 看得入迷了楼主,字符串的length属性就是有多少个字符,不要和内码混一起了

Javascript字符串对象的常用方法简明版_基础知识

var a = "abcDEfGgdefg32asdf38"; document.write("原始:"+a+"<br />") document.write("粗体:"+a.bold()+"<br />"); document.write("大号:"+a.big()+"<br />"); document.write("

JavaScript类属性的访问方式详解_基础知识

JavaScript类属性的访问方式 复制代码 代码如下: var fish = { head : 1, tail : 1, feature : { speak : false, swim : true } } 其一,点操作符: 复制代码 代码如下: console.log(fish.head);//1 console.log(fish.tail);//1 console.log(fish.feature);//Object { head:1, tail:1, feature: Object}

javascript字符串对象常用api函数小结(连接,替换,分割,转换等)_javascript技巧

本文实例讲述了javascript字符串对象常用api函数.分享给大家供大家参考,具体如下: 1. concat(str1,str2,···) 连接字符串 2. indexOf(str,start) 返回 str 在字符串中首次出现的位置 var str = "hello world"; str.indexOf("hello"); // 0 str.indexOf("o",5); // 7 str.indexOf("World"