JavaScript 字符串(String) 对象
String 对象用于处理已有的字符块。
JavaScript 字符串
一个字符串用于存储一系列字符就像 "John Doe".
一个字符串可以使用单引号或双引号:
var carname = "Volvo XC60"; var carname = 'Volvo XC60';
你使用位置(索引)可以访问字符串中任何的字符:
var character = carname[7];
字符串的索引从零开始, 所以字符串第一字符为 [0],第二个字符为 [1], 等等。
你可以在字符串中使用引号,如下实例:
var answer = "It's alright"; var answer = "He is called 'Johnny'"; var answer = 'He is called "Johnny"';
或者你可以在字符串中使用转义字符(\)使用引号:
<script> var carname1 = "Volvo XC60"; var carname2 = 'Volvo XC60'; var answer1 = 'It\'s alright'; var answer2 = "He is called \"Johnny\""; var answer3 = 'He is called "Johnny"'; document.write(carname1 + "<br>") document.write(carname2 + "<br>") document.write(answer1 + "<br>") document.write(answer2 + "<br>") document.write(answer3 + "<br>") </script>
字符串(String)
字符串(String)使用长度属性length来计算字符串的长度:
<script> var txt = "Hello World!"; document.write("<p>" + txt.length + "</p>"); var txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; document.write("<p>" + txt.length + "</p>"); </script>
在字符串中查找字符串
字符串使用 indexOf() 来定位字符串中某一个指定的字符首次出现的位置:
<p id="p1">Click the button to locate where "locate" first occurs.</p> <p id="p2">0</p> <button onclick="myFunction()">点我</button> <script> function myFunction() { var str = document.getElementById("p1").innerHTML; var n = str.indexOf("locate"); document.getElementById("p2").innerHTML = n + 1; } </script>
如果没找到对应的字符函数返回-1
lastIndexOf() 方法在字符串末尾开始查找字符串出现的位置。
内容匹配
match()函数用来查找字符串中特定的字符,并且如果找到的话,则返回这个字符。
<script> var str = "Hello world!"; document.write(str.match("world") + "<br>"); document.write(str.match("World") + "<br>"); document.write(str.match("world!")); </script>
替换内容
replace() 方法在字符串中用某些字符替换另一些字符。
<p>替换 "Microsoft" 为 "Mifengjc" :</p> <button onclick="myFunction()">点我</button> <p id="demo">请访问 Microsoft!</p> <script> function myFunction() { var str = document.getElementById("demo").innerHTML; var txt = str.replace("Microsoft", "Mifengjc"); document.getElementById("demo").innerHTML = txt; } </script>
字符串大小写转换
字符串大小写转换使用函数 toUpperCase() / toLowerCase():
<script> var txt = "Hello World!"; document.write("<p>" + txt.toUpperCase() + "</p>"); document.write("<p>" + txt.toLowerCase() + "</p>"); document.write("<p>" + txt + "</p>"); </script> <p>该方法返回一个新的字符串,源字符串没有被改变。</p>
字符串转为数组
字符串使用split()函数转为数组:
<p id="demo">单击按钮显示数组。</p> <button onclick="myFunction()">点我</button> <script> function myFunction() { var str = "a,b,c,d,e,f"; var n = str.split(","); document.getElementById("demo").innerHTML = n[0]; } </script>
特殊字符
JavaScript 中可以使用反斜线(\)插入特殊符号,如:撇号,引号等其他特殊符号。
查看如下 JavaScript 代码:
var txt = "We are the so-called " Vikings " from the north."; document.write(txt);
在JavaScript中,字符串的开始和停止使用单引号或双引号。这意味着,上面的字符串将被切成: We are the so-called
解决以上的问题可以使用反斜线来转义引号:
var txt = "We are the so-called \"Vikings\" from the north."; document.write(txt);
JavaScript将输出正确的文本字符串:We are the so-called "Vikings" from the north.
下表列出其他特殊字符,可以使用反斜线转义特殊字符:
代码 | 输出 |
---|---|
\' | 单引号 |
\" | 双引号 |
\\ | 斜杆 |
\n | 换行 |
\r | 回车 |
\t | tab |
\b | 空格 |
\f | 换页 |
字符串属性和方法
属性:
- length
- prototype
- constructor
方法:
- charAt()
- charCodeAt()
- concat()
- fromCharCode()
- indexOf()
- lastIndexOf()
- match()
- replace()
- search()
- slice()
- split()
- substr()
- substring()
- toLowerCase()
- toUpperCase()
- valueOf()