Method String JavaScript
Method string membantu Anda mengatur string.
Method dan property string
Nilai asli, seperti "Bill Gates", tidak dapat memiliki property dan method (karena mereka bukan objek).
tetapi melalui JavaScript, method dan property juga dapat digunakan untuk nilai asli, karena saat method dan property dieksekusi, JavaScript akan menganggap nilai asli sebagai objek.
Panjang string
panjang
Property mengembalikan panjang string:
实例
var txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; var sln = txt.length;
Mencari string di dalam string
indexOf()
Method mengembalikan teks yang ditentukan di dalam stringpertamaindeks penampilan (posisi):
实例
var str = "The full name of China is the People's Republic of China."; var pos = str.indexOf("China");
JavaScript menghitung posisi dari nol.
0 adalah posisi pertama di dalam string, 1 adalah kedua, 2 adalah ketiga ...
lastIndexOf()
Method mengembalikan posisi teks yang ditentukan di dalam stringterakhirindeks penampilan pertama:
实例
var str = "The full name of China is the People's Republic of China."; var pos = str.lastIndexOf("China");
jika teks tidak ditemukan indexOf()
dan lastIndexOf()
semua mengembalikan -1.
实例
var str = "The full name of China is the People's Republic of China."; var pos = str.indexOf("USA");
Kedua method menerima parameter kedua sebagai posisi awal pencarian.
实例
var str = "The full name of China is the People's Republic of China."; var pos = str.indexOf("China", 18);
lastIndexOf()
Method mencari ke belakang (dari belakang ke depan), yang berarti: jika parameter kedua adalah 50, maka mencari dari posisi 50 sampai awal string.
实例
var str = "The full name of China is the People's Republic of China."; var pos = str.lastIndexOf("China", 50);
Mencari string di dalam string
search()
Method mencari string yang berisi nilai spesifik dan mengembalikan posisi yang cocok:
实例
var str = "The full name of China is the People's Republic of China."; var pos = str.search("locate");
Anda perhatikankah?
dua metode ini,indexOf()
dan search()
, adalahyang sama。
Kedua metode ini adalah yang sama. Perbedaan nya adalah:
- metode search() tidak dapat menetapkan parameter mulai kedua.
- metode indexOf() tidak dapat menetapkan nilai pencarian yang kuat (ekspresi reguler).
Anda akan正则表达式pada bab ini untuk belajar nilai pencarian yang kuat ini.
mengambil bagian string
terdapat tiga metode untuk mengambil bagian string:
- slice(mulai, berakhir)
- substring(mulai, berakhir)
- substr(mulai, panjang)
metode slice()
slice()
mengambil bagian dari string dan mengembalikan bagian yang diambil dalam string baru.
metode ini menetapkan dua parameter: indeks awal (lokasi awal), indeks akhir (lokasi berakhir).
contoh ini memotong bagian 7 sampai 13 dari string:
实例
var str = "Apple, Banana, Mango"; var res = str.slice(7,13);
hasil res dari:
Banana
jika parameter ada yang negatif, maka dihitung dari akhir string.
contoh ini memotong bagian -12 sampai -6 dari string:
实例
var str = "Apple, Banana, Mango"; var res = str.slice(-13,-7);
hasil res dari:
Banana
jika parameter kedua diabaikan, maka metode ini akan memotong sisanya string:
实例
var res = str.slice(7);
atau dihitung dari akhir:
实例
var res = str.slice(-13);
提示:posisi negatif tidak berlaku untuk Internet Explorer 8 dan versi sebelumnya.
metode substring()
substring()
seperti slice()
。
perbedaan nya adalah substring()
tidak dapat menerima indeks negatif.
实例
var str = "Apple, Banana, Mango"; var res = str.substring(7,13);
hasil res dari:
Banana
jika parameter kedua diabaikan, maka substring()
mengpotong sisanya string.
metode substr()
substr()
seperti slice()
。
perbedaan nya adalah parameter kedua menentukan bagian yang diambil.panjang。
实例
var str = "Apple, Banana, Mango"; var res = str.substr(7,6);
hasil res dari:
Banana
jika parameter kedua diabaikan, maka substr() akan memotong sisanya string.
实例
var str = "Apple, Banana, Mango"; var res = str.substr(7);
hasil res dari:
Banana, Mango
jika parameter pertama negatif, maka posisi akan dihitung dari akhir string.
实例
var str = "Apple, Banana, Mango"; var res = str.substr(-5);
hasil res dari:
Mango
parameter kedua tidak boleh negatif, karena ia menentukan panjang.
ganti konten string
replace()
cara menggantikan nilai lain di tempat yang ditentukan dalam string:
实例
str = "Please visit Microsoft!"; var n = str.replace("Microsoft", "W3School");
replace()
方法不会改变调用它的字符串。它返回的是新字符串。
默认地,replace()
只替换首个匹配:
实例
str = "Please visit Microsoft and Microsoft!"; var n = str.replace("Microsoft", "W3School");
默认地,replace()
对大小写敏感。因此不对匹配 MICROSOFT:
实例
str = "Please visit Microsoft!"; var n = str.replace("MICROSOFT", "W3School");
如需执行大小写不敏感的替换,请使用正则表达式 /i
(大小写不敏感):
实例
str = "Please visit Microsoft!"; var n = str.replace(/MICROSOFT/i, "W3School");
请注意正则表达式不带引号。
如需替换所有匹配,请使用正则表达式的 g
标志(用于全局搜索):
实例
str = "Please visit Microsoft and Microsoft!"; var n = str.replace(/Microsoft/g, "W3School");
您将在 JavaScript 正则表达式这一章学到更多有关正则表达式的内容。
转换为大写和小写
通过 toUpperCase()
把字符串转换为大写:
实例
var text1 = "Hello World!"; // 字符串 var text2 = text1.toUpperCase(); // text2 是被转换为大写的 text1
通过 toLowerCase()
把字符串转换为小写:
实例
var text1 = "Hello World!"; // 字符串 var text2 = text1.toLowerCase(); // text2 是被转换为小写的 text1
concat() 方法
concat()
连接两个或多个字符串:
实例
var text1 = "Hello"; var text2 = "World"; text3 = text1.concat(" ",text2);
concat()
方法可用于代替加运算符。下面两行是等效的:
实例
var text = "Hello" + " " + "World!"; var text = "Hello".concat(" ","World!");
所有字符串方法都会返回新字符串。它们不会修改原始字符串。
正式地说:字符串是不可变的:字符串不能更改,只能替换。
String.trim()
trim()
方法删除字符串两端的空白符:
实例
var str = " Hello World! "; alert(str.trim());
警告:Internet Explorer 8 或更低版本不支持 trim()
方法。
如需支持 IE 8,您可搭配正则表达式使用 replace()
方法代替:
实例
var str = " Hello World! "; alert(str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ''));
您还可以使用上面的 replace 方案把 trim 函数添加到 JavaScript String.prototype:
实例
if (!String.prototype.trim) { String.prototype.trim = function () { return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ''); }; var str = " Hello World! "; alert(str.trim());
提取字符串字符
这是两个提取字符串字符的安全方法:
- charAt(position)
- charCodeAt(position)
charCodeAt() 方法
charCodeAt()
方法返回字符串中指定索引的字符 unicode 编码:
实例
var str = "HELLO WORLD"; str.charCodeAt(0); // 返回 72
属性访问(Property Access)
ECMAScript 5 (2009) 允许对字符串的属性访问 [ ]:
实例
var str = "HELLO WORLD"; str[0]; // 返回 H
使用属性访问有点不太靠谱:
- 不适用 Internet Explorer 7 或更早的版本
- 它让字符串看起来像是数组(其实并不是)
- 如果找不到字符,
[ ]
返回undefined
,而charAt()
返回空字符串。 - 它是只读的。
str[0] = "A"
不会产生错误(但也不会工作!)
实例
var str = "HELLO WORLD"; str[0] = "A"; // 不产生错误,但不会工作 str[0]; // 返回 H
提示:如果您希望按照数组的方式处理字符串,可以先把它转换为数组。
把字符串转换为数组
可以通过 split()
将字符串转换为数组:
实例
var txt = "a,b,c,d,e"; // 字符串 txt.split(","); // 用逗号分隔 txt.split(" "); // 用空格分隔 txt.split("|"); // 用竖线分隔
如果省略分隔符,被返回的数组将包含 index [0] 中的整个字符串。
如果分隔符是 "",被返回的数组将是间隔单个字符的数组:
实例
var txt = "Hello"; // 字符串 txt.split("\""); // 分隔为字符