ການປະກາດຄວາມປອດໄພ JavaScript
- ກ່ອນການ JS ການດຳເນີນການຕອນຕັ້ງ
- ຫລັງການ JS ຄວາມສຳຄັນການດຳເນີນການ
ວິທະຍາສາດແມ່ນສ່ວນປະກອບຂອງວິທະຍາສາດຊອກຫາ.
ວິທະຍາສາດຊອກຫາສາມາດນຳໃຊ້ເພື່ອການຊອກຫາຄວາມທີ່ຖືກປ່ຽນຫຼືການປ່ຽນຄວາມ.
ວິທະຍາສາດແມ່ນຫຍັງ?
ວິທະຍາສາດແມ່ນສ່ວນປະກອບຂອງວິທະຍາສາດຊອກຫາ.ວິທະຍາສາດຊອກຫາ (search pattern)ຄວາມທີ່ຖືກຊອກຫາ.
ບໍ່ສາມາດຊອກຫາຄວາມທີ່ຖືກປ່ຽນທີ່ຢູ່ໃນຄຳວັດຕະວັດຕາມວິທະຍາສາດບໍ່ໄດ້ທີ່ພວກເຈົ້າຈະນຳໃຊ້ວິທະຍາສາດຊອກຫາຄວາມທີ່ຖືກປ່ຽນ.
ວິທະຍາສາດສາມາດເປັນຄຳວັດຕະວັດຕາມວິທະຍາສາດທີ່ລວມທັງຄຳວັດຕະວັດຕາມວິທະຍາສາດລຽບລັງຫຼືວິທະຍາສາດທີ່ຫຼາຍກວ່າ.
ວິທະຍາສາດແມ່ນສາມາດນຳໃຊ້ເພື່ອການປະຕິບັດທຸກຕົວລະຄອນ:ການຊອກຫາຄວາມທີ່ຖືກປ່ຽນ.ພາຍໃນການປ່ຽນຄວາມທີ່ຖືກປ່ຽນ.ການປະຕິບັດ.
ວິທະຍາສາດ
/pattern/modifiers;
ຄວາມຄິດທີ່ພິຈາລະນາ
var patt = /codew3c/i;
ຕົວຢ່າງ:
/codew3c/i
ເປັນວິທະຍາສາດ.
codew3c
ເປັນວິທະຍາສາດ (pattern) (ທີ່ນຳໃຊ້ໃນການຊອກຫາ).
Modifier
ເປັນສັນຍາລະບາຍ (modifiers) (ທີ່ປ່ຽນການຊອກຫາເປັນຄວາມຫຼັກຫຼາຍ).
ການນຳໃຊ້ພາສານວິທະຍາສາດ
ໃນ JavaScript ວິທະຍາສາດແມ່ນຖືກນຳໃຊ້ໃນສອງບັນຫາ:ພາສານວິທະຍາສາດ:search()
ພາຍໃນ ນຳໃຊ້ກົນລະບົບ string method replace()
.
search()
ວິທະຍາສາດນຳໃຊ້ວິທະຍາສາດເພື່ອຊອກຫາການຕົກລົງຫຼັງຈາກທີ່ຈັດການຄືນ.
ນຳໃຊ້ກົນລະບົບ string method replace()
ວິທະຍາສາດຈະຮັບຄຳວັດຕະວັດຕາມວິທະຍາສາດທີ່ຖືກແຊກແຊງຄືນພາຍໃນຄຳວັດຕະວັດຕາມວິທະຍາສາດ.
ການນຳໃຊ້ພາສານວິທະຍາສາດ search() ເພື່ອຈັດການຄຳວັດຕະວັດຕາມວິທະຍາສາດ
search()
ວິທະຍາສາດຍັງຍອມຮັບຄຳວັດຕະວັດຕາມວິທະຍາສາດ ຄຳປະເພດສຳລັບການຊອກຫາ:
ຄວາມຄິດທີ່ພິຈາລະນາ
ການນຳໃຊ້ຄຳວັດຕະວັດຕາມວິທະຍາສາດ ເພື່ອຊອກຫາ "W3school":
var str = "Visit CodeW3C.com!"; var n = str.search("W3School");
ການນຳໃຊ້ວິທະຍາສາດໃນພາສານວິທະຍາສາດ search():
ຄວາມຄິດທີ່ພິຈາລະນາ
ການຊອກຫາ "codew3c" ທີ່ບໍ່ຄຳນຶງຄວາມຫຼັກຫຼາຍຂອງຄຳວັດຕະວັດຕາມວິທະຍາສາດ:
var str = "Visit CodeW3C.com"; var str = "Visit CodeW3C.com";
var n = str.search(/codew3c/i);
ຜົນຂອງ n ຈະເປັນ:
6
ນຳໃຊ້ກົນລະບົບ string method replace()
replace()
ນຳໃຊ້ RegExp ທີ່ບໍ່ສະດວກກັບຄວາມຫຼັກກະພິບທີ່ W3school ແທນຄວາມ Microsoft ໃນຄວາມ: ກົນລະບົບ replace() ທີ່ຍອມຮັບຄວາມທີ່ກໍານົດຄືນຫຼາຍກິດ.
var res = str.replace("Microsoft", "W3School");
ຄວາມຄິດທີ່ພິຈາລະນາ
ນຳໃຊ້ RegExp ທີ່ບໍ່ສະດວກກັບຄວາມຫຼັກກະພິບໃນກົນລະບົບ replace()
ນຳໃຊ້ RegExp ທີ່ບໍ່ສະດວກກັບຄວາມຫຼັກກະພິບທີ່ W3school ແທນຄວາມ Microsoft ໃນຄວາມ: var str = "Visit Microsoft!";
var res = str.replace(/microsoft/i, "W3School");
ຜົນຂອງ res ຈະເປັນ:
Visit CodeW3C.com!
ທ່ານໄດ້ສັງເກດບໍ່?
Parameter RegExp (ບໍ່ແມ່ນ parameter string) ສາມາດນຳໃຊ້ໃນ method ທີ່ກ່າວກ່າວນັ້ນ.
RegExp ສາມາດເຮັດໃຫ້ການຫາຂອງທ່ານມີຄວາມອິດສະຫຼະ (ບ.ເປັນຄວາມຫຼັກກະພິບ).
ສາມາດນຳໃຊ້ເພື່ອຫາຂະແໜງການຫຼາຍກິດທີ່ບໍ່ສະດວກກັບຄວາມຫຼັກກະພິບຫຼາຍຂຶ້ນ:Modifier RegExp
ສາມາດນຳໃຊ້ເພື່ອຫາຂະແໜງການຫຼາຍກິດທີ່ບໍ່ສະດວກກັບຄວາມຫຼັກກະພິບຫຼາຍຂຶ້ນ: | ອະທິບາຍ | ພະຍາຍາມດັ່ງກ່າວ |
---|---|---|
Modifier | ການຈັດຕັ້ງການຫາຂະແໜງການຫຼາຍກິດທີ່ບໍ່ສະດວກກັບຄວາມຫຼັກກະພິບ. | ພະຍາຍາມດັ່ງກ່າວ |
g | ການຈັດຕັ້ງການຫາຂະແໜງການຫຼາຍກິດ (ຫາທຸກການຫາທີ່ມີຫຼາຍກິດ ບໍ່ແມ່ນຫຼາຍກິດທຳອິດ). | ພະຍາຍາມດັ່ງກ່າວ |
m | ການຈັດຕັ້ງການຫາຂະແໜງການຫຼາຍກິດ. | ພະຍາຍາມດັ່ງກ່າວ |
ກົນລະບົບ RegExp
ກະບຽນນຳໃຊ້ການສະແດງທີ່ຫາຄວາມທີ່ຢູ່ໃນຊິວິດຕາມຂອບເຂດນັ້ນ:
ການສະແດງ | ອະທິບາຍ | ພະຍາຍາມດັ່ງກ່າວ |
---|---|---|
[abc] | ຊອກຫາຄຳຕາມທີ່ຢູ່ໃນກະບຽນ. | ພະຍາຍາມດັ່ງກ່າວ |
[0-9] | ຊອກຫາຈຳນວນຈາກ 0 ຫຼື 9. | ພະຍາຍາມດັ່ງກ່າວ |
(x|y) | ຊອກຫາທາງເລືອກທີ່ຖືກແບ່ງດ້ວຍ |. | ພະຍາຍາມດັ່ງກ່າວ |
Metacharacterແມ່ນຄຳສະພາບທີ່ມີຄວາມໝາຍສະເພາະ:
ຄຳສະພາບ | ອະທິບາຍ | ພະຍາຍາມດັ່ງກ່າວ |
---|---|---|
\d | ຊອກຫາຈຳນວນ. | ພະຍາຍາມດັ່ງກ່າວ |
\s | ຊອກຫາຄວາມຈະລະດັບ. | ພະຍາຍາມດັ່ງກ່າວ |
\b | ຊອກຫາຂ້າງຖະໜົນຂອງຄຳຕາມ. | ພະຍາຍາມດັ່ງກ່າວ |
\uxxxx | ຊອກຫາພາສາ Unicode ທີ່ກໍານົດໂດຍ xxxx. | ພະຍາຍາມດັ່ງກ່າວ |
Quantifiers ການກໍານົດປະສົມ:
ປະສົມ | ອະທິບາຍ | ພະຍາຍາມດັ່ງກ່າວ |
---|---|---|
n+ | ການຈັດຕັ້ງຄວາມທີ່ມີ n 1 ຫຼືຫຼາຍກວ່າ. | ພະຍາຍາມດັ່ງກ່າວ |
n* | ການຈັດຕັ້ງຄວາມທີ່ມີ n 0 ຫຼືຫຼາຍກວ່າ. | ພະຍາຍາມດັ່ງກ່າວ |
n? | ການຈັດຕັ້ງຄວາມທີ່ມີ n 0 ຫຼື 1. | ພະຍາຍາມດັ່ງກ່າວ |
ນຳໃຊ້ RegExp ແມ່ນ
ໃນ JavaScript RegExp ແມ່ນອົງກອນ RegExp ທີ່ມີຜົນປະສົງ ແລະກົນລະບົບທີ່ກໍານົດຄືນ。
ນຳໃຊ້ test()
test()
ແມ່ນກົນລະບົບຂອງ Regular Expression。
ມັນຈະຊອກຫາຄວາມຕາມຮູບແບບ ແລະກັບຄືນທີ່ມີຜົນກັບ true ຫຼື false。
ຄວາມຄິດທີ່ພິຈາລະນາຢູ່ໃນສາຍ, ການຄົ້ນຫາຄວາມ "e":
ຄວາມຄິດທີ່ພິຈາລະນາ
var patt = /e/; patt.test("The best things in life are free!");
ຍ້ອນວ່າມີ "e" ໃນສາຍ, ຄຳອອກຂອງລະບັນຍັດດັ່ງກ່າວຈະເປັນ:
true
ທ່ານບໍ່ຈຳເປັນທີ່ຈະເອົາ RegExp ທີ່ກໍານົດໄວ້ໃນສານ. ສອງປະແນນທີ່ກ່າວກ່ອນຈະສາມາດປັບປ່ຽນເປັນປະແນນດຽວ:
/e/.test("The best things in life are free!");
ການດຳເນີນ exec()
exec()
ວິທີການແມ່ນວິທີການ RegExp.
ມັນຈະດຳເນີນການຄົ້ນຫາຮູບແບບທີ່ກໍານົດໄວ້ໃນສາຍ, ແລະກັບຄືນຄວາມຄິດທີ່ພົບ.
ຖ້າບໍ່ພົບກັບການຕົກລົງ, ຈະກັບຄືນເປັນ null.
ຄວາມຄິດທີ່ພິຈາລະນາຢູ່ໃນສາຍ, ການຄົ້ນຫາຄວາມ "e":
ຄວາມຄິດທີ່ພິຈາລະນາ
/e/.exec("The best things in life are free!");
ຍ້ອນວ່າມີ "e" ໃນສາຍ, ຄຳອອກຂອງລະບັນຍັດດັ່ງກ່າວຈະເປັນ:
e
ປື້ມການປົກຄອງ RegExp ທີ່ເຕັມເພາະ
ສຳລັບປື້ມການປົກຄອງທີ່ເຕັມເພາະ, ການຢ້ຽມຢາມຂອງພວກເຮົາ JavaScript RegExp ປື້ມການປົກຄອງ.
ປື້ມການປົກຄອງກວມມີການອະທິບາຍແລະຄວາມຄິດທີ່ພິຈາລະນາຂອງ RegExp ແລະຄວາມຄິດທີ່ພິຈາລະນາຂອງ RegExp.
- ກ່ອນການ JS ການດຳເນີນການຕອນຕັ້ງ
- ຫລັງການ JS ຄວາມສຳຄັນການດຳເນີນການ