String 对象用于处理文本(字符串)
在JavaScript中,字符串本身是基本类型,而不是引用类型。为了给字符串添加各种辅助方法以及属性,产生了对应的引用类型——String类型。
语法:
var 字符串对象=new String(参数);
参数是要存储在String对象中或转换成原始字符串的值
示例:
var str=new String(“kgc”);
length 计算字符串的长度
示例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>length属性</title>
</head>
<body>
<script>
var txt = "Hello World!";
document.write(""
+ txt.length + "");
var txt="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
document.write(""
+ txt.length + "");
</script>
</body>
</html>
运行结果:
12
16
示例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<script>
var strs="wo men dou shi zhong guo ren.";
var char=strs.charAt(3);
document.write(char);
</script>
</body>
</html>
运行结果:
m
示例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<script>
var strs="wo men dou shi zhong guo ren.";
var char=strs.charCodeAt(3);
document.write(char);
</script>
</body>
</html>
运行结果:
109
示例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<script>
var txt1 = "Hello ";
var txt2 = "world!";
var txt=txt1.concat(txt2);
document.write(txt);
</script>
</body>
</html>
运行结果:
Hello world!
示例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<script>
var str = "Hello world";
var bool1=str.endsWith("world"); // 返回 true
var bool2=str.endsWith("World"); // 返回 false
document.write(bool1+"
");
document.write(bool2);
</script>
</body>
</html>
运行结果:
true
false
语法:
string.endsWith(searchvalue, length);
参数 | 描述 |
---|---|
searchvalue 必需 | 要搜索的子字符串。 |
length 设置字符串的长度 | 默认值为原始字符串长度 string.length。 |
示例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<script>
var n = String.fromCharCode(65);
document.write(n);
</script>
</body>
</html>
运行结果:
A
注意: 该方法是 String 的静态方法,字符串中的每个字符都由单独的 Unicode 数字编码指定。使用语法: String.fromCharCode()。
示例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<script>
var str="Hello world, welcome to the universe.";
var n=str.indexOf("welcome");
document.write(n);
</script>
</body>
</html>
运行结果:
13
indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。
如果没有找到匹配的字符串则返回 -1。
注意: indexOf() 方法区分大小写。
语法:
string.indexOf(searchvalue,start);
参数 | 描述 |
---|---|
searchvalue | 必需规定需检索的字符串值。 |
start | 可选的整数参数规定在字符串中开始检索的位置。它的合法取值是 0 到 string Object.length - 1。如省略该参数,则将从字符串的首字符开始检索。 |
示例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<script>
var str = "Hello world, welcome to the Runoob。";
var n = str.includes("Runoob");
document.write(n);
</script>
</body>
</html>
运行结果:
true
includes() 方法用于判断字符串是否包含指定的子字符串。
如果找到匹配的字符串则返回 true,否则返回 false。
注意: includes() 方法区分大小写。
语法:
string.includes(searchvalue, start);
参数 | 描述 |
---|---|
searchvalue | 必需,要查找的字符串。 |
start | 可选,设置从那个位置开始查找,默认为 0。 |
示例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<script>
var str="I am from runoob,welcome to runoob site.";
var n=str.lastIndexOf("runoob");
document.write(n);
</script>
</body>
</html>
运行结果:
28
lastIndexOf() 方法可返回一个指定的字符串值最后出现的位置,如果指定第二个参数 start,则在一个字符串中的指定位置从后向前搜索。
注意: 该方法将从后向前检索字符串,但返回是从起始位置 (0) 开始计算子字符串最后出现的位置。 看它是否含有字符串。
开始检索的位置在字符串的 start 处或字符串的结尾(没有指定 start 时)。
如果没有找到匹配字符串则返回 -1 。
lastIndexOf() 方法是区分大小写的!
示例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<script>
var str = "Runoob";
str.repeat(2);
document.write(str);
</script>
</body>
</html>
运行结果:
RunoobRunoob
示例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<script>
var str="Visit Microsoft! Visit Microsoft!";
var n=str.replace("Microsoft","Runoob");
document.write(n);
</script>
</body>
</html>
运行结果:
Visit Runoob!Visit Microsoft!
示例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<script>
var str="Visit Microsoft! Visit Microsoft!";
var n=str.replaceAll("Microsoft","Runoob");
document.write(n);
</script>
</body>
</html>
运行结果:
Visit Runoob!Visit Runoob!
示例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<script>
var str="Visit Runoob!";
var n=str.search("Runoob");
document.write(n);
</script>
</body>
</html>
运行结果:
6
示例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<script>
var str="Hello world!";
var n=str.slice(1,5);
document.write(n);
</script>
</body>
</html>
运行结果:
ello
slice(start, end) 方法可提取字符串的某个部分,并以新的字符串返回被提取的部分。
使用 start(包含) 和 end(不包含) 参数来指定字符串提取的部分。
参数 | 描述 |
---|---|
start必须 | 要抽取的片断的起始下标,第一个字符位置为 0。如果为负数,则从尾部开始截取。 |
end可选 | 紧接着要截取的片段结尾的下标。若未指定此参数,则要提取的子串包括 start 到原字符串结尾的字符串。如果该参数是负数,那么它规定的是从字符串的尾部开始算起的位置。slice(-2) 表示提取原数组中的倒数第二个元素到最后一个元素(包含最后一个元素)。 |
示例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<script>
var str="How are you doing today?";
var n=str.split(" ");
document.write(n);
</script>
</body>
</html>
运行结果:
How,are,you,doing,today?
语法:
string.split(separator,limit);
参数 | 描述 |
---|---|
separator 可选 | 字符串或正则表达式,从该参数指定的地方分割 string Object。 |
limit 可选 | 该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。 |
示例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<script>
var str = "Hello world, welcome to the Runoob.";
var n = str.startsWith("Hello");
document.write(n);
</script>
</body>
</html>
运行结果:
true
语法:
string.startsWith(searchvalue, start);
参数 | 描述 |
---|---|
searchvalue 必需 | 要查找的字符串。 |
start 可选 | 查找的开始位置,默认为 0。 |
示例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<script>
var str="Hello world!";
var n=str.substr(2,3)
document.write(n);
</script>
</body>
</html>
运行结果:
llo
语法:
string.substr(start,length);
参数 | 描述 |
---|---|
start 必需 | 要抽取的子串的起始下标。必须是数值。如果是负数,那么该参数声明从字符串的尾部开始算起的位置。也就是说,-1 指字符串中最后一个字符,-2 指倒数第二个字符,以此类推。 |
length 可选 | 子串中的字符数。必须是数值。如果省略了该参数,那么返回从 stringObject 的开始位置到结尾的字串。 |
示例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<script>
var str="Hello world!";
document.write(str.substring(3)+"
");
document.write(str.substring(3,7));
</script>
</body>
</html>
运行结果:
lo world!
lo w
语法:
string.substring(from, to);
参数 | 描述 |
---|---|
from 必需 | 一个非负的整数,规定要提取的子串的第一个字符在 string Object 中的位置。 |
to 可选 | 一个非负的整数,比要提取的子串的最后一个字符在 string Object 中的位置多 1。如果省略该参数,那么返回的子串会一直到字符串的结尾。 |
示例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<script>
var str="Runoob";
document.write(str.toLowerCase());
</script>
</body>
</html>
运行结果:
runoob
示例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<script>
var str="Runoob";
document.write(str.toUpperCase());
</script>
</body>
</html>
运行结果:
RUNOOB
示例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<script>
var str = " Runoob ";
document.write(str );
</script>
</body>
</html>
运行结果:
Runoob
trim() 方法用于删除字符串的头尾空白符,空白符包括:空格、制表符 tab、换行符等其他空白符等。
trim() 方法不会改变原始字符串。
trim() 方法不适用于 null, undefined, Number 类型。
示例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<script>
var str="Hello world!";
document.write(str.valueOf());
</script>
</body>
</html>
运行结果:
Hello world!
示例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<script>
var str = "Runoob";
var res = str.toString();
document.write(res);
</script>
</body>
</html>
运行结果:
Runoob