JavaScript String对象简介
在JavaScript,基本数据类型有Number型、String型、Boolean型、Undefined型、Null型、Function型等。
String对象就是和基本数据类型中的String类型相对应的JavaScript脚本内置对象。(熟悉Java的话,可以类比Java基本数据类型和基本数据类型封装类的概念。)
在JavaScript脚本程序中,String对象十分常见。JavaScript提供了丰富的属性、方法支持,便于灵活高效地操作String对象。
获取String对象实例
var MyStr = new String();
var MyStr = new String(str);
str
为可选参数,用来对String对象进行初始化。
JavaScript String对象常用方法、属性
- length属性
- 小写转换toLowerCase()
- 大写转换toUpperCase()
- 字符串替换replace()
- 字符串匹配match()
- 字符串拼接concat()
- 字符串分割split()
- 字符串检索indexOf()
1、length属性
length属性存储目标字符串所包含的字符数,为只读属性。示例:
<script language="JavaScript" content="text/JavaScript";>
<!--
function StringLength() {
var MyString = new String("Hello World!");
var msg = "The length of string is : ";
msg += MyString.length;
alert(msg);
}
-->
</script>
输出:
The length of string is : 12
2、小写转换toLowerCase()
toLowerCase()方法可以将字符串中的大写字母全部转换为对应的小写字母,示例:
<script language="JavaScript" content="text/JavaScript";>
<!--
function StringMethod() {
var MyString = new String("Hello World!");
MyString = MyString.toLowerCase();
alert(MyString);
}
-->
</script>
输出:
hello world!
3、大写转换toUpperCase()
将字符串中所有小写字母转换为对应的大写字母,示例:
<script language="JavaScript" content="text/JavaScript";>
<!--
function StringMethod() {
var MyString = new String("Hello World!");
MyString = MyString.toUpperCase();
alert(MyString);
}
-->
</script>
输出:
HELLO WORLD!
4、字符串替换replace()
replace(regexp/substr, replacement)方法将regexp/substr处的正则或字符串直接量替换为replacement,示例:
<script language="JavaScript" content="text/JavaScript";>
<!--
function StringMethod() {
var MyString = new String("Hello World!");
MyString = MyString.replace("World", "Beijing");
alert(MyString);
}
-->
</script>
输出:
Hello Beijing!
5、字符串匹配match()
match(str)方法在字符串中查找str所指定的字符串,若查找成功,返回该字符串,否则返回null。str可以作为一个表达式。示例:
<script language="JavaScript" content="text/JavaScript";>
<!--
function StringMethod() {
var MyString = new String("Hello World!");
MyString = MyString.match("He" + "llo");
var MyString1 = new String("Hello Beijing");
MyString1 = MyString1.match("Wu");
alert(MyString + "\n" + MyString1);
}
-->
</script>
输出:
Hello
null
6、字符串拼接concat()
MyString.concat(str)方法将str串连接到MyString字符串后。可以同时依次连接多个字符串如MyString.concat(str1, str2, str3)。示例:
<script language="JavaScript" content="text/JavaScript";>
<!--
function StringMethod() {
var MyString = new String("Hello World!");
MyString = MyString.concat(" ", "This is", " a nice world!");
alert(MyString);
}
-->
</script>
输出:
Hello World! This is a nice world!
7、字符串分割split()
split()方法用于将字符串分割,split(str, num)以str为指定分割符,返回分割的num个子串数组。例如:
<script language="JavaScript" content="text/JavaScript";>
<!--
function StringMethod() {
var MyString = new String("Hello World! This is a nice world!");
subArray = MyString.split(" ", 3);
var msg = " ";
for(var i = 0; i < subArray.length; i ++) {
msg += subArray[i];
msg += "\n"
}
alert(msg);
}
-->
</script>
输出:
Hello
World!
This
如果不指定split(str, num)中的num,则会返回分割后所有子串数组:
<script language="JavaScript" content="text/JavaScript";>
<!--
function StringMethod() {
var MyString = new String("Hello World! This is a nice world!");
subArray = MyString.split(" ");
var msg = " ";
for(var i = 0; i < subArray.length; i ++) {
msg += subArray[i];
msg += "\n"
}
alert(msg);
}
-->
</script>
输出:
Hello
World!
This
is
a
nice
world!
8、字符串检索indexOf()
indexOf(str, s)方法,在字符串中检索str出现的位置,s为可选参数,指定检索开始的位置。s的合法取值范围为0~String.length-1。若检索成功,则返回匹配子串的首字母下标,否则返回-1。示例:
<script language="JavaScript" content="text/JavaScript";>
<!--
function StringMethod() {
var MyString = new String("Hello World! This is a nice world!");
var index = MyString.indexOf("World");
alert(index);
}
-->
</script>
输出:
6
若指定s位置为7,则会返回-1:
<script language="JavaScript" content="text/JavaScript";>
<!--
function StringMethod() {
var MyString = new String("Hello World! This is a nice world!");
var index = MyString.indexOf("World", 7);
alert(index);
}
-->
</script>
输出:
-1
特别注意
以上对字符串操作的方法,并没有直接操作字符串本身,而是返回操作后的结果。例如:
var MyString = new String("Hello World!");
MyString.concat("Beijing");
此时打印MyString的值,依然是Hello World!
。若要改变字符串本身,需要将返回的结果对字符串进行赋值:
var MyString = new String("Hello World!");
MyString = MyString.concat("Beijing");
这样打印出MyString即为Hello World!Beijing
。