定义字符串(String)对象
JavaScript String 对象用于处理文本字符串。创建 String 对象语法如下:
<script language="JavaScript"> var str_object = new String( str ); var str1 = String( str ); var str2 = str; </script>
以上三种方法中,只有第一种是使用 String 构造函数严格的定义一个字符串对象,返回的也是一个对象(object)。第二种是调用 String 函数,将转换参数 str 为原始字符串字符串并返回。第三种是定义一个字符串变量,但在 JavaScript 仍然按照字符串对象来处理。
运行下面的语句便可知道它们的区别:
alert( typeof str_object ); // 输出 object
alert( typeof str1 ); // 输出 string
alert( typeof str2 ); // 输出 string
String 对象属性
属性 描述
constructor 对创建该对象的函数的引用
length 字符串的长度
prototype 向对象添加属性和方法
字符串(String)使用长度属性length来计算字符串的长度:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> </head> <body> <script> var txt = "Hello World!"; document.write("<p>" + txt.length + "</p>"); var txt="ABCDEFGHIJKLMNOPQRSTUVWXYZ"; document.write("<p>" + txt.length + "</p>"); </script> </body> </html>
字符串使用 indexOf() 来定位字符串中某一个指定的字符首次出现的位置:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> </head> <body> <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> </body> </html>
match()函数用来查找字符串中特定的字符,并且如果找到的话,则返回这个字符。
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> </head> <body> <script> var str="Hello world!"; document.write(str.match("world") + "<br>"); document.write(str.match("World") + "<br>"); document.write(str.match("world!")); </script> </body> </html>
replace() 方法在字符串中用某些字符替换另一些字符。
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> </head> <body> <button onclick="myFunction()">点我</button> <p id="demo">请访问 Microsoft!</p> <script> function myFunction() { var str = document.getElementById("demo").innerHTML; var txt = str.replace("Microsoft","php.cn"); document.getElementById("demo").innerHTML = txt; } </script> </body> </html>
字符串大小写转换使用函数 toUpperCase() / toLowerCase():
var txt="Hello World!"; // String
var txt1=txt.toUpperCase(); // txt1 文本会转换为大写
var txt2=txt.toLowerCase(); // txt2 文本会转换为小写
字符串使用strong>split()函数转为数组:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> </head> <body> <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[2]; } </script> </body> </html>
特殊字符
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 换页