1.获取字符串长度
length--属性返回字符串长度
实例:
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript 字符串属性</h1>
<p>length 属性返回字符串的长度:</p>
<p id="demo"></p>
<script>
var txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
document.getElementById("demo").innerHTML = txt.length;
</script>
</body>
</html>
输出如下图

2.查找字符串种的字符串
indexOf()--方法返回字符串中指定文本首次出现的索引(位置)(注:是方法,而不是属性)
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript 字符串方法</h1>
<p>indexOf() 方法返回指定文本首次出现的位置:</p>
<p id="demo"></p>
<script>
var str = "The full name of China is the People's Republic of China.";
var pos = str.indexOf("China");
document.getElementById("demo").innerHTML = pos;
</script>
</body>
</html>
输出如下图

注:这里返回的是第一个"China"中"C"的下标,而不是后面的"China"
lastIndexOf()--方法返回指定文本在字符串中最后一次出现的索引
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript 字符串方法</h1>
<p>lastIndexOf() 方法返回指定文本最后一次出现的位置:</p>
<p id="demo"></p>
<script>
var str = "The full name of China is the People's Republic of China.";
var pos = str.lastIndexOf("China");
document.getElementById("demo").innerHTML = pos;
</script>
</body>
</html>
输出如下图

注:如果未找到文本, indexOf() 和 lastIndexOf() 均返回 -1。
indexOf()和lastIndexOf()方法都支持第二个参数:
var pos = str.indexOf("China", 18); //从下标为18的位置**从头到尾**搜索
var pos = str.lastIndexOf("China", 50); //从下标为50的位置**从尾到头**搜索,返回的任然是当前搜索字符串起始下标,第一个"China"中"C"的下标
2.检索字符串种的字符串
search()--方法返回字符串中指定文本首次出现的索引(位置)
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript 字符串方法</h1>
<p>search() 方法返回字符串中指定文本第一次出现的位置:</p>
<p id="demo"></p>
<script>
var str = "The full name of China is the People's Republic of China.";
var pos = str.search("China");
document.getElementById("demo").innerHTML = pos;
</script>
</body>
</html>
输出如下图

indexOf()与search()方法的区别
- search() 方法无法设置第二个开始位置参数。
- indexOf() 方法无法设置更强大的搜索值(正则表达式)
2.提取部分字符串
有三种提取部分字符串的方法:
- slice(start, end)
- subString(start, end)
- subStr(start, end)
2.1 slice()方法
slice()--提取字符串的某个部分并在新字符串中返回被提取的部分
参数:起始索引(开始位置),终止索引(结束位置)。
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript 字符串方法</h1>
<p>slice() 提取字符串的某个部分,并在新字符串中返回被提取的部分。</p>
<p id="demo"></p>
<script>
var str = "Apple, Banana, Mango";
var res = str.slice(7,13);
document.getElementById("demo").innerHTML = res;
</script>
</body>
</html>
输出结果如下

注:起始位置取值,结尾位置不取值
当参数为负数时,从字符串后面往前取,最后一个字符位置为0;当为一正一负时,报错
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript 字符串方法</h1>
<p>slice() 提取字符串的某个部分,并在新字符串中返回被提取的部分。</p>
<p id="demo"></p>
<script>
var str = "Apple, Banana, Mango";
var res = str.slice(-13,-7);
document.getElementById("demo").innerHTML = res;
</script>
</body>
</html>
输出如下

单参数为一个正数时,此参数为起始位置,返回从起始位置到剩下全部字符
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript 字符串方法</h1>
<p>slice() 提取字符串的某个部分,并在新字符串中返回被提取的部分。</p>
<p id="demo"></p>
<script>
var str = "Apple, Banana, Mango";
var res = str.slice(13);
document.getElementById("demo").innerHTML = res;
</script>
</body>
</html>
输出如下

当参数是有一个负数时,默认为从后(从0开始)往前数的结束位置
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript 字符串方法</h1>
<p>slice() 提取字符串的某个部分,并在新字符串中返回被提取的部分。</p>
<p id="demo"></p>
<script>
var str = "Apple, Banana, Mango";
var res = str.slice(-13)
document.getElementById("demo").innerHTML = res;
</script>
</body>
</html>
输出如下

当参数为一个0或为空时,返回字符串全部内容,为两个0时,报错
2.2 subString()方法
substring() 类似于 slice()。
不同之处在于 substring() 无法接受负的索引。
2.3 subStr()方法
类似于slice(),不同之处在于,subStr()方法中的第二个参数是要截取字符串的长度,不能为负数
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript 字符串方法</h1>
<p>substr() 提取字符串的某个部分,并在新字符串中返回被提取的部分。</p>
<p id="demo"></p>
<script>
var str = "Apple, Banana, Mango";
var res = str.substr(7,6);
document.getElementById("demo").innerHTML = res;
</script>
</body>
</html>
输出如下

如果省略第二个参数,则该 substr() 将裁剪字符串的剩余部分。
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript 字符串方法</h1>
<p>substr() 提取字符串的某个部分,并在新字符串中返回被提取的部分。</p>
<p id="demo"></p>
<script>
var str = "Apple, Banana, Mango";
var res = str.substr(7);
document.getElementById("demo").innerHTML = res;
</script>
</body>
</html>
输出如下

如果首个参数为负,则从字符串的结尾计算位置。
var str = "Apple, Banana, Mango";
var res = str.substr(-5);
res 的结果是:"Mango"
3.替换字符串内容
3.1 replace()方法
replace()方法返回的是新的字符串不会改变原来字符串,默认地只替换首个匹配项
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript 字符串方法</h1>
<p>请把下面的段落中的“Microsoft”替换为“W3School”:</p>
<button onclick="myFunction()">试一试</button>
<p id="demo">请访问 Microsoft 和 Microsoft!</p>
<script>
function myFunction() {
var str = document.getElementById("demo").innerHTML;
var txt = str.replace("Microsoft","W3School");
document.getElementById("demo").innerHTML = txt;
}
</script>
</body>
</html>
输出

replace()对大小写敏感
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript 字符串方法</h1>
<p>请把下面的段落中的“Microsoft”替换为“W3School”:</p>
<button onclick="myFunction()">试一试</button>
<p id="demo">请访问 Microsoft 和 Microsoft!</p>
<script>
function myFunction() {
var str = document.getElementById("demo").innerHTML;
var txt = str.replace("MicroSOft","W3School");
document.getElementById("demo").innerHTML = txt;
}
</script>
</body>
</html>
输出

如需执行大小写不敏感的替换,请使用正则表达式 /i(大小写不敏感):
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript 字符串方法</h1>
<p>请把下面的段落中的“Microsoft”替换为“W3School”:</p>
<button onclick="myFunction()">试一试</button>
<p id="demo">请访问 Microsoft 和 Microsoft!</p>
<script>
function myFunction() {
var str = document.getElementById("demo").innerHTML;
var txt = str.replace(/MicroSOft/i,"W3School");
document.getElementById("demo").innerHTML = txt;
}
</script>
</body>
</html>
输出

请注意正则表达式不带引号。
如需替换所有匹配,请使用正则表达式的 g 标志(用于全局搜索):
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript 字符串方法</h1>
<p>请把下面的段落中的“Microsoft”替换为“W3School”:</p>
<button onclick="myFunction()">试一试</button>
<p id="demo">请访问 Microsoft 和 Microsoft!</p>
<script>
function myFunction() {
var str = document.getElementById("demo").innerHTML;
var txt = str.replace(/MicroSOft/ig,"W3School");
document.getElementById("demo").innerHTML = txt;
}
</script>
</body>
</html>
输出(忽略大小写,并全部替换匹配项目)

4.字符串转换大小写
4.1 toUpperCase()
通过 toUpperCase() 把字符串转换为大写,返回新的字符串:
var text1 = "Hello World!"; // 字符串
var text2 = text1.toUpperCase(); // text2 是被转换为大写的 text1
输出:"HELLO WORLD!"
4.2 toLowerCase()
通过 toUpperCase() 把字符串转换为大写,返回新的字符串:
var text1 = "HELLO WORLD!"; // 字符串
var text2 = text1.toLowerCase(); // text2 是被转换为大写的 text1
输出:"Hello World!"
5.字符串拼接
5.1 concat()方法连接两个或多个字符串:
var text1 = "Hello";
var text2 = "World";
text3 = text1.concat(" ",text2);
输出:text3为"Hello World"
所有字符串方法都会返回新字符串。它们不会修改原始字符串。
正式地说:字符串是不可变的:字符串不能更改,只能替换。
浙公网安备 33010602011771号