js中的string对象

来源:互联网 发布:营销qq加好友软件 编辑:程序博客网 时间:2024/06/15 07:14

string对象

String 对象用于处理文本(字符串)。

创建 String 对象的语法

var Str=new String(s);Str=new String("字符串");var Str="字符串"

参数

参数是要存储在 String 对象中或转换成原始字符串的值。

返回值

当 String() 和运算符 new 一起作为构造函数使用时,它返回一个新创建的 String 对象,存放的是字符串 s 或 s 的字符串表示。
当不用 new 运算符调用 String() 时,它只把 s 转换成原始的字符串,并返回转换后的值。

String 对象属性



String 对象方法

1、indexOf() 

检索字符串  字符串在整个字符串中第一次出现的位置

2个参数
     1个必写   :要查找的字符串
     1个可选 :如果省略,默认是0;表示从哪开始查找字符串,在整个字符串中第一次出现的位置
     [0,Str.length-1]
     如果能找到字符串,返回是下标;找不到,返回是-1

提示和注释
注释:indexOf() 方法对大小写敏感!
注释:如果要检索的字符串值没有出现,则该方法返回 -1。

下面来写个验证邮箱的案例:
<!DOCTYPE html><html><head><meta charset="utf-8" /><title>indexOf</title></head><body><input type="text" id="n1" value="" /><button id="bt" onclick="add()">验证邮箱</button></body><script type="text/javascript">function add(){var a=document.getElementById("n1");var str=a.value;if(str.indexOf("@")!=-1){alert("有");}else{alert("没有")}}</script></html>

效果如下图:





2、lastIndexOf()

lastIndexOf() 方法可返回一个指定的字符串值最后出现的位置,在一个字符串中的指定位置从后向前搜索。

参数:stringObject.lastIndexOf(searchvalue,fromindex)




返回值
如果在 stringObject 中的 fromindex 位置之前存在 searchvalue,则返回的是出现的最后一个 searchvalue 的位置。

说明
该方法将从尾到头地检索字符串 stringObject,看它是否含有子串 searchvalue。开始检索的位置在字符串的 fromindex 处或字符串的结尾(没有指定 fromindex 时)。如果找到一个 searchvalue,则返回 searchvalue 的第一个字符在 stringObject 中的位置。stringObject 中的字符位置是从 0 开始的。



<script type="text/javascript">var str="Hello world!"document.write(str.lastIndexOf("Hello") + "<br />")document.write(str.lastIndexOf("World") + "<br />") //如果要检索的字符串值没有出现,则该方法返回 -1。document.write(str.lastIndexOf("world"))</script>

输出的结果  :  0   -1   6

3、charAt()


charAt() 方法可返回指定位置的字符。
请注意,JavaScript 并没有一种有别于字符串类型的字符数据类型,所以返回的字符是长度为 1 的字符串。

语法:
stringObject.charAt(index)

参数描述index必需。表示字符串中某个位置的数字,即字符在字符串中的下标。

提示和注释
注释:字符串中第一个字符的下标是 0。如果参数 index 不在 0 与 string.length 之间,该方法将返回一个空字符串。



<script type="text/javascript">var str="Hello world!"document.write(str.charAt(1));</script>


返回值为  e

4、charCodeAt()

charCodeAt() 方法可返回指定位置的字符的 Unicode 编码。这个返回值是 0 - 65535 之间的整数。
方法 charCodeAt() 与 charAt() 方法执行的操作相似,只不过前者返回的是位于指定位置的字符的编码,而后者返回的是字符子串。

根据下标找编码
取值范围:[0,str.length-1]

语法
stringObject.charCodeAt(index)

参数描述index必需。表示字符串中某个位置的数字,即字符在字符串中的下标。

提示和注释
注释:字符串中第一个字符的下标是 0。如果 index 是负数,或大于等于字符串的长度,则 charCodeAt() 返回 NaN。


<script type="text/javascript">var str="Hello world"document.write(str.charCodeAt(1))</script>

返回值为  101

5、replace()

replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。

语法
stringObject.replace(regexp/substr,replacement)

参数描述regexp/substr

必需。规定子字符串或要替换的模式的 RegExp 对象。

请注意,如果该值是一个字符串,则将它作为要检索的直接量文本模式,而不是首先被转换为 RegExp 对象。

replacement必需。一个字符串值。规定了替换文本或生成替换文本的函数。

返回值
一个新的字符串,是用 replacement 替换了 regexp 的第一次匹配或所有匹配之后得到的。

说明
字符串 stringObject 的 replace() 方法执行的是查找并替换的操作。它将在 stringObject 中查找与 regexp 相匹配的子字符串,然后用 replacement 来替换这些子串。如果 regexp 具有全局标志 g,那么 replace() 方法将替换所有匹配的子串。否则,它只替换第一个匹配子串。
replacement 可以是字符串,也可以是函数。如果它是字符串,那么每个匹配都将由字符串替换。但是 replacement 中的 $ 字符具有特定的含义。如下表所示,它说明从模式匹配得到的字符串将用于替换。


字符替换文本$1、$2、...、$99与 regexp 中的第 1 到第 99 个子表达式相匹配的文本。$&与 regexp 相匹配的子串。$`位于匹配子串左侧的文本。$'位于匹配子串右侧的文本。$$直接量符号。
注意:ECMAScript v3 规定,replace() 方法的参数 replacement 可以是函数而不是字符串。在这种情况下,每个匹配都调用该函数,它返回的字符串将作为替换文本使用。该函数的第一个参数是匹配模式的字符串。接下来的参数是与模式中的子表达式匹配的字符串,可以有 0 个或多个这样的参数。接下来的参数是一个整数,声明了匹配在 stringObject 中出现的位置。最后一个参数是 stringObject 本身。

案例:
<script type="text/javascript">var str="daidai"document.write(str.replace(/daidai/, "mengmeng"))</script>

返回值为 mengmeng   代替了daidai

6、substr()

substr() 方法可在字符串中抽取从 start 下标开始的指定数目的字符。

语法
stringObject.substr(start,length)

参数描述start必需。要抽取的子串的起始下标。必须是数值。如果是负数,那么该参数声明从字符串的尾部开始算起的位置。也就是说,-1 指字符串中最后一个字符,-2 指倒数第二个字符,以此类推。length可选。子串中的字符数。必须是数值。如果省略了该参数,那么返回从 stringObject 的开始位置到结尾的字串。
返回值
一个新的字符串,包含从 stringObject 的 start(包括 start 所指的字符) 处开始的 length 个字符。如果没有指定 length,那么返回的字符串包含从 start 到 stringObject 的结尾的字符。

提示和注释
注释:substr() 的参数指定的是子串的开始位置和长度,因此它可以替代 substring() 和 slice() 来使用。
重要事项:ECMAscript 没有对该方法进行标准化,因此反对使用它。
重要事项:在 IE 4 中,参数 start 的值无效。在这个 BUG 中,start 规定的是第 0 个字符的位置。在之后的版本中,此 BUG 已被修正。

<script type="text/javascript">var str="Hello world!"document.write(str.substr(3,7))</script>

返回值为 lo  worl

7、substring()

substring() 方法用于提取字符串中介于两个指定下标之间的字符。

语法
stringObject.substring(start,stop)

参数描述start必需。一个非负的整数,规定要提取的子串的第一个字符在 stringObject 中的位置。stop

可选。一个非负的整数,比要提取的子串的最后一个字符在 stringObject 中的位置多 1。

如果省略该参数,那么返回的子串会一直到字符串的结尾。



返回值
一个新的字符串,该字符串值包含 stringObject 的一个子字符串,其内容是从 start 处到 stop-1 处的所有字符,其长度为 stop 减 start。

说明
substring() 方法返回的子串包括 start 处的字符,但不包括 stop 处的字符。
如果参数 start 与 stop 相等,那么该方法返回的就是一个空串(即长度为 0 的字符串)。如果 start 比 stop 大,那么该方法在提取子串之前会先交换这两个参数。

提示和注释
重要事项:与 slice() 和 substr() 方法不同的是,substring() 不接受负的参数。

<script type="text/javascript">var str="Hello world!"document.write(str.substring(3))</script>

返回值为 lo w

以上是string对象常见的几种方法,回来再继续完善,数组和对象也是js中很重要的部分,在工作中用的也挺多的,一起总结~~~

原创粉丝点击