Tìm kiếm chuỗi JavaScript
- Trang trước Phương thức chuỗi JS
- Trang tiếp theo JS Template chuỗi
Phương pháp JavaScript để tìm kiếm chuỗi:
- String.indexOf()
- String.lastIndexOf()
- String.startsWith()
- String.endsWith()
String.indexOf()
indexOf()
Phương pháp trả về văn bản cụ thể trong chuỗiLần đầu tiênXuất hiện (vị trí) của chỉ số:
Mô hình
let str = "Please locate where 'locate' occurs!"; str.indexOf("locate") // trả về 7
JavaScript tính toán vị trí từ số 0.
0 là vị trí đầu tiên trong chuỗi, 1 là vị trí thứ hai, 2 là vị trí thứ ba ......
String.lastIndexOf()
lastIndexOf()
Phương thức trả về vị trí xuất hiện lần cuối của văn bản chỉ định trong chuỗi:
Mô hình
let str = "Please locate where 'locate' occurs!"; str.lastIndexOf("locate") // Trả về 21
nếu không tìm thấy văn bản:indexOf()
và lastIndexOf()
cả hai đều trả về -1:
Mô hình
let str = "Please locate where 'locate' occurs!"; str.lastIndexOf("Bill") // Trả về -1
Cả hai phương thức này đều chấp nhận tham số thứ hai làm vị trí bắt đầu tìm kiếm:
Mô hình
let str = "Please locate where 'locate' occurs!"; str.indexOf("locate", 15) // Trả về 21
lastIndexOf()
Phương thức tìm kiếm theo hướng sau (từ cuối đến đầu), có nghĩa là: nếu tham số thứ hai là 15
nếu từ vị trí 15 bắt đầu tìm kiếm, tìm kiếm đến đầu chuỗi.
Mô hình
let str = "Please locate where 'locate' occurs!"; str.lastIndexOf("locate", 15) // Trả về 7
String.search()
search()
Phương thức tìm kiếm giá trị chỉ định trong chuỗi và trả về vị trí khớp:
Mô hình
let str = "Please locate where 'locate' occurs!"; str.search("locate") // Trả về 7
Bạn có nhận ra không?
indexOf()
và search()
Cả hai phương thức này, có bằng nhau không?
Họ chấp nhận cùng các tham số và trả về cùng giá trị?
Cả hai phương thức này không bằng nhau. Sự khác biệt như sau:
search()
Phương thức không thể chấp nhận tham số vị trí bắt đầu thứ hai.indexOf()
Phương thức không thể sử dụng giá trị tìm kiếm mạnh mẽ (biểu thức chính quy).
Bạn sẽ học thêm về biểu thức chính quy trong các chương sau.
String.match()
Phương thức match() tìm kiếm phần tử khớp trong chuỗi dựa trên biểu thức chính quy và trả về các phần tử khớp dưới dạng đối tượng Array.
Ví dụ 1
Tìm kiếm "ain" trong chuỗi:
let text = "Mưa ở SPAIN chủ yếu ở đồng bằng"; text.match(/ain/g) // Trả về mảng [ain,ain,ain]
Hãy học thêm về biểu thức chính quy trong chương JS RegExp.
Nếu biểu thức chính quy không chứa dấu hiệu修饰符 g (thực hiện tìm kiếm toàn cục), phương thức match() sẽ chỉ trả về phần tử khớp đầu tiên trong chuỗi.
Ngữ pháp
chuỗi.match(regexp)
regexp | Bắt buộc. Là giá trị cần tìm kiếm, là biểu thức chính quy. |
Trả về: | Mảng, chứa các phần tử khớp, mỗi phần tử khớp tương ứng với một mục, nếu không tìm thấy phần tử khớp, thì sẽ là null. |
Ví dụ 2
Thực hiện tìm kiếm toàn cục không phân biệt chữ hoa chữ thường cho "ain":
let text = "Mưa ở SPAIN chủ yếu ở đồng bằng"; text.match(/ain/gi) // Trả về mảng [ain, AIN, ain, ain]
String.includes()
Nếu chuỗi chứa giá trị được chỉ định,includes()
Phương pháp trả về true.
Mô hình
let text = "Hello world, welcome to the universe."; text.includes("world") // Trả về true
Hỗ trợ trình duyệt
Internet Explorer không hỗ trợ String.includes().
Chrome | IE | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 41 | Edge 12 | Firefox 40 | Safari 9 | Opera 28 |
Tháng 3 năm 2015 | Tháng 7 năm 2015 | Tháng 8 năm 2015 | Tháng 10 năm 2015 | Tháng 3 năm 2015 |
Ngữ pháp
chuỗi.includes(searchvalue, start)
searchvalue | Chắc chắn. Chuỗi cần tìm kiếm. |
start | Tùy chọn. Mặc định là 0. Vị trí bắt đầu tìm kiếm. |
Trả về: | Nếu chuỗi chứa giá trị đó, thì trả về true nếu không, trả về false . |
Phiên bản JS: | ES6 (2015) |
Kiểm tra chuỗi có chứa "world" từ vị trí 12 bắt đầu tìm kiếm:
let text = "Hello world, welcome to the universe."; text.includes("world", 12) // Trả về false
String.startsWith()
Nếu chuỗi bắt đầu bằng giá trị được chỉ định, thì startsWith()
Phương pháp trả về true
nếu không, trả về false
:
Mô hình
let text = "Hello world, welcome to the universe."; text.startsWith("Hello") // Trả về true
Ngữ pháp
chuỗi.startsWith(searchvalue, start)
Giá trị参數
参數 | Mô tả |
---|---|
searchvalue | Chắc chắn. Giá trị cần tìm kiếm. |
start | Tùy chọn. Mặc định là 0. Vị trí bắt đầu tìm kiếm. |
Mô hình
let text = "Hello world, welcome to the universe."; text.startsWith("world") // Trả về false
let text = "Hello world, welcome to the universe."; text.startsWith("world", 5) // Trả về false
let text = "Hello world, welcome to the universe."; text.startsWith("world", 6) // Trả về true
Chú ý:startsWith()
Phương thức phân biệt chữ hoa và chữ thường.
Internet Explorer không hỗ trợ startsWith()
Phương thức.
Phiên bản trình duyệt hỗ trợ hoàn toàn đầu tiên là:
Chrome | IE | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 41 | Edge 12 | Firefox 17 | Safari 9 | Opera 28 |
Tháng 3 năm 2015 | Tháng 7 năm 2015 | Tháng 8 năm 2015 | Tháng 10 năm 2015 | Tháng 3 năm 2015 |
String.endsWith()
Nếu chuỗi kết thúc bằng giá trị được chỉ định, thì endsWith()
Phương pháp trả về true
nếu không, trả về false
:
Mô hình
Kiểm tra chuỗi có kết thúc bằng "Gates" không:
var text = "Bill Gates"; text.endsWith("Gates") // Trả về true
Ngữ pháp
chuỗi.endsWith(searchvalue, length)
Giá trị参數
参數 | Mô tả |
---|---|
searchvalue | Chắc chắn. Giá trị cần tìm kiếm. |
length | Tùy chọn. Độ dài cần tìm kiếm. |
Tìm kiếm chuỗi bắt đầu bằng "world" trong 11 ký tự đầu tiên của chuỗi:
let text = "Hello world, welcome to the universe."; text.endsWith("world", 11) // Trả về true
Chú ý:endsWith()
Phương thức phân biệt chữ hoa và chữ thường.
Internet Explorer không hỗ trợ endsWith()
Phương thức.
Phiên bản trình duyệt đầu tiên hỗ trợ phương pháp này là:
Chrome | IE | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 51 | Edge 15 | Firefox 54 | Safari 10 | Opera 38 |
Tháng 5 năm 2016 | Tháng 4 năm 2017 | Tháng 6 năm 2017 | Tháng 9 năm 2016 | Tháng 6 năm 2016 |
Tài liệu tham khảo đầy đủ chuỗi
Để có tài liệu tham khảo đầy đủ, vui lòng truy cập tài liệu tham khảo đầy đủ của chúng tôi Sách hướng dẫn chuỗi JavaScript.
Sách hướng dẫn này bao gồm mô tả và ví dụ về tất cả các thuộc tính và phương thức chuỗi.
- Trang trước Phương thức chuỗi JS
- Trang tiếp theo JS Template chuỗi