ການກົດກັນວິທະຍາບັນຍາ JavaScript

ວິທີການຄວາມທີ່ຊ່ວຍທີ່ຈະຈັດການຄວາມ

ວິທີການ ແລະ ປະສົມປະສານຄວາມ

ຄວາມທຳມະຊາດ ເຊັ່ນ "Bill Gates" ບໍ່ສາມາດມີປະສົມປະສານ ແລະ ວິທີການ (ຍ້ອນວ່າພວກມັນບໍ່ແມ່ນວັດຖຸ).

ແຕ່ວ່າຜ່ານ JavaScript,ວິທີການ ແລະ ປະສົມປະສານຍັງສາມາດນຳໃຊ້ສຳລັບຄວາມທຳມະຊາດ ຍ້ອນວ່າ JavaScript ຈະຂັດຄວາມທຳມະຊາດຄືກັບບັນດາວັດຖຸໃນເວລາທີ່ຈະນຳໃຊ້ວິທີການ ແລະ ປະສົມປະສານ.

ຈຸດທີ່ຈະຄົ້ນຫາ

length ຄວາມທີ່ຄົ້ນຫາຈຸດທີ່ຈະຄົ້ນຫາ

实例

var txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
var sln = txt.length;

亲自试一试

ຄົ້ນຫາຄວາມທີ່ມີຄວາມຄິດໃນຄວາມ

indexOf() ວິທີການກັບຄວາມທີ່ຈະຄົ້ນຫາຄັ້ງທຳອິດ:ຈຸດທີ່ພົບ (ຈຸດ):

实例

var str = "The full name of China is the People's Republic of China.";
var pos = str.indexOf("China");

亲自试一试

JavaScript ຂັດຂອງຈຸດທີ່ຈະຂັດ.

0 ແມ່ນຈຸດທີ່ທຳອິດຂອງຄວາມ 1 ແມ່ນຈຸດທີ່ສອງ 2 ແມ່ນຈຸດທີ່ສາມ ...

lastIndexOf() ວິທີການກັບຄວາມທີ່ກັບຄວາມທີ່ຈະຄົ້ນຫາຫລັງຈາກ:ຈຸດທີ່ພົບຄັ້ງທຳອິດ:

实例

var str = "The full name of China is the People's Republic of China.";
var pos = str.lastIndexOf("China");

亲自试一试

ຖ້າບໍ່ພົບຄວາມ indexOf() ພົນພິທີ: lastIndexOf() ທັງສອງກັບຄືນຄົ້ນຫາຈຸດທີ່ -1.

实例

var str = "The full name of China is the People's Republic of China.";
var pos = str.indexOf("USA");

亲自试一试

ທັງສອງວິທີການຄົ້ນຫາຍັງຮັບຄຳສະເໜີຈຸດເລີ່ມຄົ້ນຫາຄຳສະພາບທີສອງ.

实例

var str = "The full name of China is the People's Republic of China.";
var pos = str.indexOf("China", 18);

亲自试一试

lastIndexOf() ວິທີການຄົ້ນຫາຫລັງຈາກການຄົ້ນຫາ (ຈາກຫລັງໄປຫາຫົວເຫນືອ) ຄືວ່າ: ຖ້າຄຳຂໍ້ສະເໜີຄຳສະພາບທີສອງແມ່ນ 50 ຈະຄົ້ນຫາຈາກຈຸດ 50 ເປັນຕົ້ນ ເຖິງຈຸດເລີ່ມຂອງຄວາມ

实例

var str = "The full name of China is the People's Republic of China.";
var pos = str.lastIndexOf("China", 50);

亲自试一试

ຄົ້ນຫາຄວາມທີ່ມີຄວາມຄິດໃນຄວາມ

search() ວິທີການຄົ້ນຫາຄວາມທີ່ມີຄວາມຄິດທີ່ຈະຄົ້ນຫາ ແລະ ກັບຄືນຄົ້ນຫາຈຸດທີ່ພົບ:

实例

var str = "The full name of China is the People's Republic of China.";
var pos = str.search("locate");

亲自试一试

ທ່ານໄດ້ສັງເກດບໍ່?

ທັງສອງການໃຊ້indexOf() ກັບ search(), ແມ່ນຕົງກັນ

ທັງສອງການໃຊ້ນັ້ນບໍ່ຕົງກັນ. ຄວາມແຕກຕ່າງກັນຄື:

  • ການໃຊ້ search() ບໍ່ສາມາດຕິດຕາມຄູ່ມິດສອງຂັ້ນຕອນເລີ່ມ.
  • ການໃຊ້ indexOf() ບໍ່ສາມາດຕິດຕາມຄູ່ມິດຫຼາຍກວ່າ (ຄຳວຽນທົບທວນ).

ທ່ານຈະຮູ້ຈັກກັບຖະແຫຼງກົດລະບົບພາສາຄຳນັກງານ.ທີ່ພັດທະນາຄູ່ມິດຫຼາຍກວ່ານັ້ນ.

ການເລືອກສ່ວນສາຍຄຳ

ມີສາມການໃຊ້ທີ່ສາມາດເລືອກສ່ວນສາຍຄຳ:

  • slice(start, end)
  • substring(start, end)
  • substr(start, length)

ການໃຊ້ slice()

slice() ການເລືອກສ່ວນຂອງສາຍຄຳທີ່ຖືກເລືອກ ແລະບັນທຶກຄືນຄຳທີ່ຖືກເລືອກ.

ການໃຊ້ຄືກັບນັ້ນຈະຕັດຕອນສອງຄວາມ: ຕອນເລີ່ມ (ຕອນເລີ່ມຂອງຈຸດບັນທຶກ), ຕອນຢຸດ (ຕອນຢຸດຂອງຈຸດບັນທຶກ).

ບົດການນັ້ນຕັດຕອນຈາກຕອນ 7 ເຖິງຕອນ 13 ຂອງສາຍຄຳ:

实例

var str = "Apple, Banana, Mango";
var res = str.slice(7,13);

ຜົນຂອງ res ແມ່ນ:

Banana

亲自试一试

ຖ້າບັນທັດໃດໜຶ່ງເປັນສິ່ງລົບ ຈະເລີ່ມຈັງຈາກທ້າຍຂອງສາຍຄຳ.

ບົດການນັ້ນຕັດຕອນຈາກຕອນ -12 ເຖິງຕອນ -6 ຂອງສາຍຄຳ:

实例

var str = "Apple, Banana, Mango";
var res = str.slice(-13,-7);

ຜົນຂອງ res ແມ່ນ:

Banana

亲自试一试

ຖ້າຫາກບໍ່ມີຄູ່ມິດສອງ ການໃຊ້ຄືກັບນັ້ນຈະຕັດຕອນສຸດທ້າຍຂອງສາຍຄຳ:

实例

var res = str.slice(7);

亲自试一试

ຫຼືຈັງຈາກທ້າຍ:

实例

var res = str.slice(-13);

亲自试一试

提示:ບໍ່ສາມາດນຳໃຊ້ບັນທັດສິ່ງລົບທີ່ຢູ່ໃນສະຖານະອິນເຕີເນັດ 8 ແລະຫຼາຍກວ່ານັ້ນ.

ການໃຊ້ substring()

substring() ຄືກັນກັບ slice()

ຄວາມແຕກຕ່າງກັນ substring() ບໍ່ສາມາດຍອມຮັບບັນທັດສິ່ງລົບ.

实例

var str = "Apple, Banana, Mango";
var res = str.substring(7,13);

ຜົນຂອງ res ແມ່ນ:

Banana

亲自试一试

ຖ້າຫາກບໍ່ມີຄູ່ມິດສອງ ການໃຊ້ substring() ຕັດຕອນສຸດທ້າຍຂອງສາຍຄຳ.

ການໃຊ້ substr()

substr() ຄືກັນກັບ slice()

ຄວາມແຕກຕ່າງກັນຄືວ່າຄູ່ມິດສອງຕິດຕາມການຈັງການກວມຂອງສາຍຄຳທີ່ຖືກເລືອກ.ຄວາມຍາວ

实例

var str = "Apple, Banana, Mango";
var res = str.substr(7,6);

ຜົນຂອງ res ແມ່ນ:

Banana

亲自试一试

ຖ້າຫາກບໍ່ມີຄູ່ມິດສອງ ການໃຊ້ substr() ຈະຕັດຕອນສຸດທ້າຍຂອງສາຍຄຳ.

实例

var str = "Apple, Banana, Mango";
var res = str.substr(7);

亲自试一试

ຜົນຂອງ res ແມ່ນ:

Banana, Mango

ຖ້າຄູ່ມິດທໍາອິດເປັນສິ່ງລົບ ຈະເລີ່ມຈັງຈາກທ້າຍຂອງສາຍຄຳ.

实例

var str = "Apple, Banana, Mango";
var res = str.substr(-5);

亲自试一试

ຜົນຂອງ res ແມ່ນ:

Mango

ຄູ່ມິດສອງບໍ່ສາມາດເປັນສິ່ງລົບໄດ້ ຍ້ອນວ່າມັນອອກຄວາມຍາວ.

ການປ່ຽນຄວາມຂອງສາຍຄຳ

replace() ການໃຊ້ຄູ່ມິດອີກຄັນແທນຄູ່ມິດທີ່ກ່ຽວກັບບາງຄຳວຽນໃນສາຍຄຳ:

实例

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)

charAt() 方法

charAt() 方法返回字符串中指定下标(位置)的字符串:

实例

var str = "HELLO WORLD";
str.charAt(0);            // 返回 H

亲自试一试

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("");           // 分隔为字符

亲自试一试

完整的 String 参考手册

如需完整的参考手册,请访问我们完整的 JavaScript 字符串参考手册

该手册包含了有关所有字符串属性和方法的描述和实例。