ການຄົ້ນຫາ JavaScript

ວິທີການ JavaScript ທີ່ນຳໃຊ້ສຳຫຼວດຄວາມພາສາ

  • String.indexOf()
  • String.lastIndexOf()
  • String.startsWith()
  • String.endsWith()

String.indexOf()

indexOf() ວິທີການກຳນົດຄວາມພາສາທີ່ຕິດຕາມຄວາມພາສາຄັ້ງທຳອິດການປະກົດອອກ (ຕຳແຫນ່ງ) ຂອງດັດທີ

ຕົວຢ່າງ

ກົນລະບົບກຳລັງຄົ້ນຫາຄຳຂອງທີ່ຕ້ອງການແລະກັບຄືນຕັ້ງທີ່ພົບ.
str.indexOf("locate")    // ກຳນົດ 7

ທົດລອງທັນອີກ

JavaScript ກຳນົດຕຳແຫນ່ງຈາກຫນັງວ່າຫນັງວ່າຫນັງວ່າຫນັງ

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

String.lastIndexOf()

str.indexOf("locate", 15) // ກັບຄືນ 21 String.lastIndexOf()

ຕົວຢ່າງ

ກົນລະບົບກຳລັງຄົ້ນຫາຄຳຂອງທີ່ຕ້ອງການແລະກັບຄືນຕັ້ງທີ່ພົບ.
ກົນລະບົບກັບຄືນຕັ້ງທີ່ພົບຄຳຂອງທີ່ຕ້ອງການ:

ທົດລອງທັນອີກ

str.lastIndexOf("locate") // ກັບຄືນ 21indexOf() ທັງສອງກົນລະບົບ, ທ່ານໄດ້ສັງເກດບໍ່? str.indexOf("locate", 15) // ກັບຄືນ 21 ຖ້າບໍ່ພົບຄຳ.

ຕົວຢ່າງ

ກົນລະບົບກຳລັງຄົ້ນຫາຄຳຂອງທີ່ຕ້ອງການແລະກັບຄືນຕັ້ງທີ່ພົບ.
ທັງສອງກົນລະບົບກັບຄືນ -1:

ທົດລອງທັນອີກ

str.lastIndexOf("Bill") // ກັບຄືນ -1

ຕົວຢ່າງ

ກົນລະບົບກຳລັງຄົ້ນຫາຄຳຂອງທີ່ຕ້ອງການແລະກັບຄືນຕັ້ງທີ່ພົບ.
ທັງສອງກົນລະບົບຕ້ອງການຄຳປະກອບສະຖານະການສະໝອງທີສອງເປັນຕັ້ງທີ່ກຳລັງຄົ້ນຫາ:

ທົດລອງທັນອີກ

str.indexOf("locate", 15) // ກັບຄືນ 21 lastIndexOf() ກົນລະບົບກຳລັງຄົ້ນຫາຫຼັງ (ຈາກຕອນເລິກຫາຕອນເລິກ), ໝາຍຄວາມວ່າ: ຖ້າປະເພດສະໝອງທີສອງແມ່ນ15

ຕົວຢ່າງ

ກົນລະບົບກຳລັງຄົ້ນຫາຄຳຂອງທີ່ຕ້ອງການແລະກັບຄືນຕັ້ງທີ່ພົບ.
ຖ້າມີຕັ້ງທີ່ຕ້ອງການທີ່ 15, ຈະຄົ້ນຫາຈາກຕັ້ງທີ່ 15 ເຖິງຕອນເລິກຂອງຄຳ.

ທົດລອງທັນອີກ

str.lastIndexOf("locate", 15) // ກັບຄືນ 7

search() String.search()

ຕົວຢ່າງ

ກົນລະບົບກຳລັງຄົ້ນຫາຄຳຂອງທີ່ຕ້ອງການແລະກັບຄືນຕັ້ງທີ່ພົບ.
let str = "Please locate where 'locate' occurs!";

ທົດລອງທັນອີກ

str.search("locate") // ກັບຄືນ 7

indexOf() ທັງສອງກົນລະບົບ, ທ່ານໄດ້ສັງເກດບໍ່? search() ພວກນັ້ນທັງສອງກົນລະບົບ, ຕົກຕົນຫຼືບໍ່?

ພວກເຂົາໃຊ້ຄຳປະກອບຄຳຄົ້ນຫາດຽວກັນ ແລະ ກັບຄືນຄຳຄົ້ນຫາດຽວກັນຫຼືບໍ່?

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

  • search() ກົນລະບົບບໍ່ສາມາດເອົາປະເພດຄຳປະກອບສະຖານະການສະຖານະການສະໝອງທີສອງ.
  • indexOf() ກົນລະບົບບໍ່ສາມາດໃຊ້ຄຳຄົ້ນຫາທີ່ມີຄວາມຫຼາຍຫຼາຍ (regexp).

ທ່ານຈະຮຽນກ່ຽວກັບ regexp ຫຼາຍຂຶ້ນໃນຫົວຂໍ້ຕໍ່ໄປ.

String.match()

ກົນລະບົບ match() ກຳລັງຄົ້ນຫາຜົນຄົ້ນຫາໃນຄຳທີ່ຕາມ regexp ແລະກັບຄືນຜົນຄົ້ນຫາເປັນອາກາດ.

ບັນທຶກ 1

ການຄົ້ນຫາ "ain" ໃນຄຳ.

let text = "ຝູງທີ່ລາວຫາມີຫຼາຍຢູ່ບ້ານຫຼາຍ";
text.match(/ain/g)    // ກັບຄືນອາກາດ [ain,ain,ain]

ທົດລອງທັນອີກ

ກະລຸນາສຶກສາກ່ຽວກັບ regexp ໃນຫົວຂໍ້ JS RegExp.

ຖ້າຄຳລະບົບການຄົ້ນຫາບໍ່ມີສັບພາສາ g (ການຄົ້ນຫາທົ່ວໄປ), ກົນລະບົບ match() ຈະກັບຄືນພຽງຜົນຄົ້ນຫາຄັ້ງທຳອິດໃນຄຳ.

ສັບພາສາ

.match(regexp)
regexp ຈຳເປັນ. ຄຳຄົ້ນຫາທີ່ຕ້ອງການຄົ້ນຫາ, ຄືກັບຄຳລະບົບການຄົ້ນຫາ.
ກັບຄືນ: ອາກາດທີ່ກວມມີຜົນຄົ້ນຫາທີ່ຕາມລຳດັບບັນທຶກ, ທີ່ຕາມລຳດັບບັນທຶກທີ່ບໍ່ພົບຈະເປັນ null.

ບັນທຶກ 2

ການຄົ້ນຫາ "ain" ທີ່ບໍ່ຫວັງຄຳຂອງຄຳຕາມມັດ.

let text = "ຝູງທີ່ລາວຫາມີຫຼາຍຢູ່ບ້ານຫຼາຍ";
text.match(/ain/gi)   // ກັບຄືນ [ain,AIN,ain,ain]

ທົດລອງທັນອີກ

String.includes()

ຖ້າຄວາມມືຖືທີ່ຈະສົ່ງກັບincludes() ວິທີກັບຄືນມາ true.

ຕົວຢ່າງ

let text = "Hello world, welcome to the universe.";
text.includes("world")    // ກັບຄືນ true

ທົດລອງທັນອີກ

ການສະໜັບສະໜູນຄູ່ມູນ

Internet Explorer ບໍ່ສະໜັບສະໜູນ String.includes().

Chrome IE Firefox Safari Opera
Chrome 41 Edge 12 Firefox 40 Safari 9 Opera 28
2015 ປີ 3 ເດືອນ 2015 ປີ 7 ເດືນ 2015 ປີ 8 ເດືນ 2015 ປີ 10 ເດືນ 2015 ປີ 3 ເດືອນ

ສັບພາສາ

.includes(searchvalue, start)
searchvalue ຕ້ອງການ
start ອິດສະຫຼະ.ມີຄວາມຜູ້ທີ່ຈະສົ່ງກັບ 0. ຄືກັບການຄົ້ນຫາຕັ້ງຈາກຄືນ.
ກັບຄືນ: ຖ້າຄວາມມືຖືທີ່ຈະສົ່ງກັບຄູ່ມູນ true,ຖ້າບໍ່ຈະມີກັບຄືນວ່າ false.
JS ສະບັນຍາ: ES6 (2015)

ກວດຄືນວ່າຄວາມມືຖືທີ່ຈະສົ່ງກັບ "world"،ຈາກຕັ້ງຈາກຄືນ 12:

let text = "Hello world, welcome to the universe.";
text.includes("world", 12)    // ກັບຄືນ false

ທົດລອງທັນອີກ

String.startsWith()

ຖ້າຄວາມມືຖືທີ່ຈະສົ່ງກັບຄູ່ມູນຫົວຂໍ້ startsWith() ວິທີກັບຄືນມາ true,ຖ້າບໍ່ຈະມີກັບຄືນວ່າ false:

ຕົວຢ່າງ

let text = "Hello world, welcome to the universe.";
text.startsWith("Hello")   // ກັບຄືນ true

ທົດລອງທັນອີກ

ສັບພາສາ

.startsWith(searchvalue, start)

ຄູ່ມູນຫົວຂໍ້

ຫົວຂໍ້ ອະທິບາຍ
searchvalue ຕ້ອງການ
start ອິດສະຫຼະ.ມີຄວາມຜູ້ທີ່ຈະສົ່ງກັບ 0. ຄືກັບການຄົ້ນຫາຕັ້ງຈາກຄືນ.

ຕົວຢ່າງ

let text = "Hello world, welcome to the universe.";
text.startsWith("world")    // ກັບຄືນ false
let text = "Hello world, welcome to the universe.";
text.startsWith("world", 5)    // ກັບຄືນ false
let text = "Hello world, welcome to the universe.";
text.startsWith("world", 6)    // ກັບຄືນ true

ທົດລອງທັນອີກ

ຄວາມເວົ້າ:startsWith() ວິດີແບບໄດ້ກວດສອບຄວາມສະແດງຂອງຄຳສັບ.

Internet Explorer ບໍ່ສະບາຍ startsWith() ວິດີແບບ.

ຄັ້ງທໍາອິດຂອງການສະໜັບສະໜູນຄູ່ມູນຫົວຂໍ້ແມ່ນ:

Chrome IE Firefox Safari Opera
Chrome 41 Edge 12 Firefox 17 Safari 9 Opera 28
2015 ປີ 3 ເດືອນ 2015 ປີ 7 ເດືນ 2015 ປີ 8 ເດືນ 2015 ປີ 10 ເດືນ 2015 ປີ 3 ເດືອນ

String.endsWith()

ຖ້າຄວາມມືຖືທີ່ຈະສົ່ງກັບຄູ່ມູນຫົວຂໍ້ endsWith() ວິທີກັບຄືນມາ true,ຖ້າບໍ່ຈະມີກັບຄືນວ່າ false:

ຕົວຢ່າງ

ກວດຄືນວ່າຄວາມມືຖືທີ່ຈະສົ່ງກັບ "Gates":

var text = "Bill Gates";
text.endsWith("Gates")    // ກັບຄືນ true

ທົດລອງທັນອີກ

ສັບພາສາ

.endsWith(searchvalue, length)

ຄູ່ມູນຫົວຂໍ້

ຫົວຂໍ້ ອະທິບາຍ
searchvalue ຕ້ອງການ
length ທາງຫນຶ່ງ. ຄວາມຍາວທີ່ຈະຄົ້ນຄວ້າ.

ການຄົ້ນຄວ້າຄຳສັບທີ່ສະຫຼາກດ້ວຍ "world" ສຳລັບ 11 ຄຳສັບ:

let text = "Hello world, welcome to the universe.";
text.endsWith("world", 11)    // ກຳລັງການຄົ້ນຄວ້າ true

ທົດລອງທັນອີກ

ຄວາມເວົ້າ:endsWith() ວິດີແບບໄດ້ກວດສອບຄວາມສະແດງຂອງຄຳສັບ.

Internet Explorer ບໍ່ສະບາຍ endsWith() ວິດີແບບ.

ສະບັບວຽກງານທີ່ເປັນບໍລິເວນທີ່ສົມບູນສະບາຍຂອງວິດີແບບນີ້:

Chrome IE Firefox Safari Opera
Chrome 51 Edge 15 Firefox 54 Safari 10 Opera 38
2016 ສິງຫາ 5 2017 ສິງຫາ 4 2017 ທັນວາ 6 2016 ທັນວາ 9 2016 ທັນວາ 6

ປື້ມກໍາແພງຄວາມປະໝາດຄົບຖະໜົນ

ສຳລັບການກວດສອບຄົບຖະໜົນ, ກະລຸນາເຂົ້າມາຊົມ ປື້ມກໍາແພງ JavaScript String.

ປື້ມນີ້ບັນທຶກທັງໝົດຂອງຄວາມປະໝາດແລະວິດີແບບຂອງຄວາມ.