![](https://i-blog.csdnimg.cn/blog_migrate/fc2fcb308271e9407c0eb015947988d3.png)
String()对象
String对象是动态对象,使用构造函数可以显示创建字符串对象。
var str = new String(StringText);
var newstr = new String("JavaScript很容易学习");
String对象的属性
(1)
length
属性
length属性返回字符串的长度(字符数)。该字符串的长度为字符串中所有的字符的个数(包括空格),而不是字节数(字节数:一个英文字符占一个字节,一个中文字符占两个字节)。
string
.length
<script>
var txt = "Hello World!";
document.write(txt.length); //输出结果:12
</script>
(2)
constructo
r属性
constructor 属性返回对 String 对象属性创建的函数。
string
.constructor
<script>
var txt = "Hello World!";
document.write(txt.constructor); //输出结果:function String() { [native code] }
</script>
(3)
prototype
属性
prototype 属性允许您向对象添加属性和方法
注意: Prototype 是全局属性,适用于所有的 Javascript 对象。
object.prototype.name=value
<script>
String.prototype.getLength = function () {
alert(this.length);
}
var str = new String("likui");
str.getLength(); //输出结果:5
</script>
String对象的方法
查找字符串
(1)
charAt()
方法
charAt() 方法可返回指定位置的字符。
第一个字符位置为 0, 第二个字符位置为 1,以此类推。
string
.charAt(
index
)
index :必需。表示字符串中某个位置的数字,即字符在字符串中的位置。
<script>
var str = "HELLO WORLD";
var n = str.charAt(2); //返回字符。输出结果为:L
var m = str.charAt(str.length - 1); //返回字符串中的最后一个字符。输出结果为:D
</script>
(2)
indexOf()
方法
indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。
如果没有找到匹配的字符串则返回
-1
。
注意:
indexOf() 方法区分大小写。
string
.indexOf(
searchvalue
,
start
)
searchvalue:必需。规定需检索的字符串值。
start:可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是 0 到 string Object.length - 1。如省略该参数,则将从字符串的首字符开始检索。
<script>
var str = "Hello world, welcome to the universe.";
var n = str.indexOf("e"); //在字符串查找字符 "e" 第一次出现的位置。n输出结果为:1
var m = str.indexOf("welcome"); //查找字符串 "welcome"。m输出结果为:13
</script>
(3)
lastIndexOf()
方法
lastIndexOf() 方法可返回一个指定的字符串值最后出现的位置,如果指定第二个参数 start,则在一个字符串中的指定位置从后向前搜索。
注意:
该方法将从后向前检索字符串,但返回是从起始位置 (0) 开始计算子字符串最后出现的位置。 看它是否含有字符串。
开始检索的位置在字符串的 start 处或字符串的结尾(没有指定 start 时)。如果没有找到匹配字符串则返回 -1 。
注意:
lastIndexOf() 方法是区分大小写的!
string
.lastIndexOf(
searchvalue
,
start
)
searchvalue:必需。规定需检索的字符串值。
start:可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是 0 到 stringObject.length - 1。如省略该参数,则将从字符串的最后一个字符处开始检索。
<script>
var str = "I am from runoob,welcome to runoob site.";
var n = str.lastIndexOf("runoob"); //n 输出结果:28
var m = str.lastIndexOf("runoob", 20); //m 输出结果:10
</script>
截取字符串
(1)
slice()
方法
slice(start, end) 方法可提取字符串的某个部分,并以新的字符串返回被提取的部分。
使用 start(包含) 和 end(不包含) 参数来指定字符串提取的部分。
字符串中第一个字符位置为 0, 第二个字符位置为 1, 以此类推。
提示:
如果是负数,则该参数规定的是从字符串的尾部开始算起的位置。也就是说,-1 指字符串的最后一个字符,-2 指倒数第二个字符,以此类推。
string
.slice(
start
,
end
)
start:必须. 要抽取的片断的起始下标。第一个字符位置为 0
end:可选。 紧接着要截取的片段结尾的下标。若未指定此参数,则要提取的子串包括 start 到原字符串结尾的字符串。如果该参数是负数,那么它规定的是从字符串的尾部开始算起的位置。
<script>
var str = "Hello world!";
var n = str.slice(0); //n 输出结果:Hello world!
var m = str.slice(1, 5); //m 输出结果:ello
</script>
(2)
substr()
方法
substr() 方法可在字符串中抽取从
开始
下标开始的指定数目的字符。
提示: substr() 的参数指定的是子串的开始位置和长度,因此它可以替代 substring() 和 slice() 来使用。在 IE 4 中,参数 start 的值无效。在这个 BUG 中,start 规定的是第 0 个字符的位置。在之后的版本中,此 BUG 已被修正。ECMAscript 没有对该方法进行标准化,因此反对使用它。
注意:
substr() 方法不会改变源字符串。
string
.substr(
start
,
length
)
start:必需。要抽取的子串的起始下标。必须是数值。如果是负数,那么该参数声明从字符串的尾部开始算起的位置。也就是说,-1 指字符串中最后一个字符,-2 指倒数第二个字符,以此类推。
length:可选。子串中的字符数。必须是数值。如果省略了该参数,那么返回从 stringObject 的开始位置到结尾的字串。
<script>
var str = "Hello world!";
var n = str.substr(2); //n 输出结果:llo world!
var m = str.substr(2, 3) //m 输出结果:llo
</script>
(3)
substring()
方法
substring() 方法用于提取字符串中介于两个指定下标之间的字符。
substring() 方法返回的子串包括
开始
处的字符,但不包括
结束
处的字符。
string
.substring(from, to)
from:必需。一个非负的整数,规定要提取的子串的第一个字符在 string Object 中的位置。
to:可选。一个非负的整数,比要提取的子串的最后一个字符在 string Object 中的位置多 1。
如果省略该参数,那么返回的子串会一直到字符串的结尾。
<script>
var str = "Hello world!";
document.write(str.substring(3) + "<br>"); //输出结果:lo world!
document.write(str.substring(3, 7)); //输出结果:lo w
</script>
slice()方法和substring()方法的区别
slice()方法和substring()方法的的两个参数分别表示提取字符串的开始位置和结束位置。
相同点:如果两个参数都是正数,并且第二个参数大于第一个参数,那么使用这两个方法的返回结果是一样的。
不同点:slice()方法的两个参数都支持负数,而如果在substring()方法的参数中使用负数,那么JavaScript会将负数直接转换为0。
<script>
var str = "JavaScript";
var n = str.slice(2, -5); //n 输出结果:vaS
var m = str.substring(2, -5); //n 输出结果:Ja
</script>
大小写转换
(1)
toLowerCase()
方法
toLowerCase() 方法用于把字符串转换为小写。
string
.toLowerCase()
<script>
var txt = "I Love JavaScript";
document.write(txt.toLowerCase() + "<br>"); //输出结果:i love javascript
</script>
(2)
toUpperCase()
方法
toUpperCase() 方法用于把字符串转换为大写。
string
.toUpperCase()
<script>
var txt = "I Love JavaScript";
document.write(txt.toUpperCase()); //输出结果:I LOVE JAVASCRIPT
</script>
连接和拆分
(1)
concat()
方法
concat() 方法用于连接两个或多个字符串。
该方法没有改变原有字符串,但是会返回连接两个或多个字符串新字符串。
string
.concat(
string1
,
string2
, ...,
stringX
)
string1, string2, ..., stringX:必需。将被连接为一个字符串的一个或多个字符串对象。
<script>
var txt1 = "Hello ";
var txt2 = "world!";
var txt3 = " Have a nice day!";
var n = txt1.concat(txt2, txt3);
document.write(n); //n 输出结果:Hello world! Have a nice day!
</script>
(2)
split()
方法
split() 方法用于把一个字符串分割成字符串数组。
提示:
如果把空字符串 ("") 用作 separator,那么 stringObject 中的每个字符之间都会被分割。
注意:
split() 方法不改变原始字符串。
string
.split(
separator
,
limit
)
<script>
var str = "How are you doing today?";
var n = str.split(); //省略分割参数
document.write(n); //n 输出结果:How are you doing today?
</script>
<script>
var str = "How are you doing today?";
var n = str.split(""); //分割每个字符,包括空格
document.write(n); //n 输出结果:H,o,w, ,a,r,e, ,y,o,u, ,d,o,i,n,g, ,t,o,d,a,y,?
</script>
<script>
var str = "How are you doing today?";
var n = str.split(" ", 3); //使用 limit 参数
document.write(n); //n 输出结果:How,are,you
</script>
<script>
var str = "How are you doing today?";
var n = str.split("o"); //使用一个字符作为分隔符
document.write(n); //n 输出结果:H,w are y,u d,ing t,day?
</script>
格式化字符串
方法
|
说明
|
anchor()
|
创建HTML锚
|
big()
|
使用大号字体显示字符串
|
small()
|
使用小号字体显示字符串
|
fontsize()
|
使用指定的字号来显示字符串
|
bold()
|
使用粗体显示字符串
|
italics()
|
使用斜体显示字符串
|
link()
|
将字符串显示为链接
|
strike()
|
使用删除线显示字符串
|
blink()
|
显示闪动字符串,此方法不支持IE浏览器
|
fixed()
|
以打字机文本显示字符串,相当于在字符串两端增加<tt>标记
|
fontcolor()
|
使用指定的颜色显示字符串
|
sub()
|
把字符串显示为下标
|
sup()
|
把字符串显示为上标
|
实例
<script>
var str = "I like JavaScript";
document.write("原字符串:"+str+"<hr>");
document.write("big:"+str.big()+"<hr>");
document.write("small:"+str.small()+"<hr>");
document.write("fontsize:"+str.fontsize(5)+"<hr>");
document.write("bold:"+str.bold()+"<hr>");
document.write("italics:"+str.italics()+"<hr>");
document.write("link:"+str.link()+"<hr>");
document.write("strike:"+str.strike()+"<hr>");
document.write("blink:"+str.blink()+"<hr>");
document.write("fixed:"+str.fixed()+"<hr>");
document.write("fontcolor:"+str.fontcolor("red")+"<hr>");
document.write("sub:"+str.sub()+"<hr>");
document.write("sup:"+str.sup()+"<hr>");
</script>
![](https://i-blog.csdnimg.cn/blog_migrate/6b269ab2ddcc63cbe1c950979a842e4a.png)