Tìm kiếm JavaScript

Biết được một cái gì đó có hoặc không có trong một chuỗi có thể rất quan trọng. Nếu bạn có một diễn đàn trực tuyến và không muốn mọi người có thể tạo tên người dùng bao gồm những từ chửi thề, bạn có thể sử dụng chức năng tìm kiếm để tìm những từ xấu trong tên người dùng và từ chối chúng nếu tìm thấy chúng

Hàm chuỗi này nhận một biểu thức chính quy và sau đó kiểm tra chuỗi đó để xem có biểu thức nào khớp với biểu thức đó không. Nếu có sự trùng khớp, nó sẽ trả về vị trí trong chuỗi nơi tìm thấy sự trùng khớp. Nếu không khớp, nó sẽ trả về -1. Chúng tôi sẽ không đi sâu vào các biểu thức chính quy, nhưng chúng tôi sẽ chỉ cho bạn cách tìm kiếm các từ trong một chuỗi

Điều quan trọng nhất cần nhớ khi tạo một biểu thức chính quy là nó phải được bao quanh bởi dấu gạch chéo /biểu thức chính quy/. Với kiến ​​thức đó, hãy tìm kiếm một chuỗi để xem có tên chung "Alex" bên trong chuỗi đó không

Mã JavaScript

Trưng bày

Lưu ý rằng biểu thức chính quy của chúng tôi chỉ là tên "Alex". Sau đó, chức năng tìm kiếm đã sử dụng tên này để xem liệu "Alex" có tồn tại trong chuỗi 1 hay không. Một trận đấu đã được tìm thấy, và vị trí của trận đấu (45), đã được trả lại

Một công cụ cơ bản khác cho biểu thức chính quy là ký tự ống ". " (nằm dưới phím Backspace trên bàn phím tiêu chuẩn) cho phép bạn tìm kiếm các từ thay thế /RegExp1. RegExp2/. Thay vì chỉ tìm kiếm một từ, giờ đây chúng ta có thể sử dụng ký tự ống để tìm kiếm nhiều từ

Mã JavaScript

Trưng bày

Lưu ý rằng biểu thức chính quy của chúng tôi có hai tên. Alex và John. Sau đó, chức năng tìm kiếm đã sử dụng các tên này để cố gắng tìm lần xuất hiện đầu tiên trong chuỗi string1. John đến trước Alex trong chuỗi của chúng tôi, vì vậy vị trí của nó (6), đã được trả về

Hãy xem xét một vài ví dụ nâng cao hơn

Các ví dụ sau đây xoay quanh tên một chút để bạn có thể thấy rõ chức năng tìm kiếm hoạt động như thế nào

Mã JavaScript

Trưng bày

Trong tìm kiếm đầu tiên, một trận đấu đã được tìm thấy. Điều này là do tìm kiếm của chúng tôi không chỉ định rằng tên phải chính xác là Alex và vì tên Alexandra có chứa "Alex" nên một kết quả trùng khớp đã được tìm thấy

Trong lần tìm kiếm thứ hai, chúng tôi đã sửa lỗi này bằng cách thêm một khoảng trắng sau tên Alex để thực hiện tìm kiếm "Alex" và không tìm thấy kết quả phù hợp nào

chuỗi. phương thức search() là phương thức sẵn có trong JavaScript được sử dụng để tìm kiếm sự khớp giữa các biểu thức chính quy và một đối tượng chuỗi đã cho

cú pháp

string.search( A )

Thông số. Phương thức này chấp nhận một tham số A giữ biểu thức chính quy làm đối tượng

Giá trị trả về. Hàm này trả về chỉ mục của chuỗi khớp đầu tiên ở giữa biểu thức chính quy và đối tượng chuỗi đã cho và trả về -1 nếu không tìm thấy kết quả khớp. Lập chỉ mục bắt đầu từ số không (0) và trong lần thử đầu tiên, một bảng chữ cái được khớp, sau đó nó không kiểm tra thêm. Đơn giản, nó trả về chỉ mục của bảng chữ cái phù hợp đầu tiên đó

ví dụ 1. Ví dụ dưới đây minh họa chuỗi. phương thức tìm kiếm () trong JavaScript

Javascript




3

 

4
5

4
7 
8
9
0
1
4
0

 

4
0
1
4
2

4
7 
0
1
4
5

4
7 
0
1
4
8

4
7 
-1
-1
-1
-1
1

 

4
-1
-1
-1
-1
3

4
-1
-1
-1
-1
5
-1
-1
-1
-1
6
-1
-1
-1
-1
7

4
-1
-1
-1
-1
9
-1
-1
-1
-1
6
-1
-1
-1
-1
7

4
33

34

đầu ra

0
1
4

ví dụ 2. Ví dụ này trả về -1, vì không tìm thấy kết quả khớp giữa biểu thức chính quy và chuỗi đầu vào

Trong ví dụ trên, chúng tôi đã sử dụng phương thức

0
1
4
3 để tìm kiếm sự khớp giữa biểu thức chính quy và chuỗi đã cho

Ở đây regExp chỉ ra một mẫu có

73 theo sau là một chữ số

74 thực hiện tìm kiếm và trả về 11 là giá trị chỉ mục của kết quả tìm thấy i. e. 
75

Hướng dẫn JavaScript này giải thích cách sử dụng phương thức chuỗi có tên search() với cú pháp và ví dụ

Sự mô tả

Trong JavaScript, search() là một phương thức chuỗi được sử dụng để tìm kiếm một chuỗi hoặc biểu thức chính quy cụ thể. Vì phương thức search() là một phương thức của đối tượng String nên nó phải được gọi thông qua một thể hiện cụ thể của lớp String

cú pháp

Trong JavaScript, cú pháp của phương thức search() là

0

Tham số hoặc Đối số

search_expression

Nó là một giá trị chuỗi hoặc một đối tượng RegExp sẽ được tìm kiếm trong chuỗi. Là một đối tượng RegExp, nó có thể là sự kết hợp của những điều sau đây

ValueDescription^Khớp với phần đầu của chuỗi. Nếu được sử dụng với tham số match_của 'm', nó sẽ khớp với đầu dòng ở bất kỳ đâu trong biểu thức. $ Khớp với phần cuối của một chuỗi. Nếu được sử dụng với tham số match_của 'm', nó sẽ khớp với cuối dòng ở bất kỳ đâu trong biểu thức. *Không khớp hoặc nhiều lần xuất hiện. +Khớp một hoặc nhiều lần xuất hiện. ?Trận đấu không hoặc một lần xuất hiện. Khớp với bất kỳ ký tự nào ngoại trừ NULL. Được sử dụng như một "HOẶC" để chỉ định nhiều hơn một phương án thay thế. [ ]Được sử dụng để chỉ định một danh sách khớp mà bạn đang cố gắng khớp bất kỳ ký tự nào trong danh sách. [^ ]Được sử dụng để chỉ định một danh sách không khớp mà bạn đang cố khớp bất kỳ ký tự nào ngoại trừ các ký tự trong danh sách. ( )Được sử dụng để nhóm các biểu thức thành một biểu thức con. \bKhớp với ranh giới từ\BKhớp với ranh giới không phải từ{m}Khớp với m lần. {m,}Trận đấu ít nhất m lần. {m,n}Trận đấu ít nhất m lần, nhưng không quá n lần. \nn là một số từ 1 đến 9. Khớp với biểu thức con thứ n được tìm thấy trong ( ) trước khi gặp \n. [. ] So khớp một phần tử đối chiếu có thể có nhiều hơn một ký tự. [. ] Khớp các lớp nhân vật. [==]Khớp với các lớp tương đương. \dKhớp một ký tự chữ số. \DKhớp một ký tự không có chữ số. \wKhớp một ký tự từ. \WKhớp một ký tự không phải từ. \sKhớp với một ký tự khoảng trắng. \Smatches một ký tự không phải khoảng trắng. \tkhớp một ký tự tab ngang. \v khớp với một ký tự tab dọc. \rkhớp với ký tự xuống dòng. \fkhớp một ký tự nguồn cấp biểu mẫu. \nkhớp với một ký tự nguồn cấp dữ liệu dòng. [\b]khớp với ký tự xóa lùi. \0 khớp với ký tự NUL. *?Khớp mẫu trước không hoặc nhiều lần xuất hiện. +?Khớp mẫu trước đó một hoặc nhiều lần xuất hiện. ??Khớp mẫu trước không hoặc một lần xuất hiện. {n}?Khớp mẫu trước đó n lần. {n,}?Khớp mẫu trước đó ít nhất n lần. {n,m}?Khớp mẫu trước đó ít nhất n lần, nhưng không nhiều hơn m lần

trả lại

Phương thức search() trả về một số nguyên đại diện cho vị trí của ký tự đầu tiên của search_expression được tìm thấy trong chuỗi. Vị trí đầu tiên trong chuỗi là 0 và vị trí cuối cùng trong chuỗi là chuỗi. chiều dài-1

Nếu không tìm thấy biểu_thức_tìm_kiếm trong chuỗi, phương thức search() sẽ trả về -1

Ghi chú

  • Phương thức search() không thay đổi giá trị của chuỗi ban đầu
  • Phương thức search() thực hiện tìm kiếm phân biệt chữ hoa chữ thường
  • Phương thức search() không hỗ trợ thuộc tính g khi một biểu thức chính quy được cung cấp và do đó không thể thực hiện so khớp toàn cầu. Điều này có nghĩa là phương thức search() chỉ tìm thấy kết quả khớp đầu tiên và không thể tìm thấy tất cả các kết quả khớp trong một chuỗi
  • Khi phương thức search() tìm thấy kết quả phù hợp, nó sẽ đặt RegExp. leftContext, RegExp. rightContext và RegExp. $1 là các thuộc tính của lớp RegExp. Các thuộc tính này cung cấp thông tin bổ sung về trận đấu được tìm thấy

Thí dụ

Hãy cùng xem một ví dụ về cách sử dụng phương thức search() trong JavaScript

Chuỗi dưới dạng Biểu thức tìm kiếm

Cách đơn giản nhất để sử dụng phương thức search() là tìm kiếm một chuỗi và không liên quan đến các đối tượng biểu thức chính quy

Ví dụ

1

Trong ví dụ này, chúng tôi đã khai báo một biến có tên totn_string được gán giá trị chuỗi là 'TechOnTheNet'. Sau đó, chúng tôi đã gọi phương thức search() của totn_string để tìm một giá trị chuỗi

Chúng tôi đã ghi đầu ra của phương thức search() vào nhật ký bảng điều khiển trình duyệt web, nhằm mục đích trình diễn, để hiển thị kết quả mà phương thức search() trả về

Phần sau đây sẽ được xuất ra nhật ký bảng điều khiển trình duyệt web

2

Trong ví dụ này, phương thức search() đã thực hiện tìm kiếm lần xuất hiện đầu tiên của ký tự viết hoa và trả về giá trị 0. Giá trị trả về này là vị trí của 'T' trong chuỗi 'TechOnTheNet'

Sự khác biệt giữa phương thức search() và indexOf() là gì?

indexOf dành cho chuỗi con đơn giản, tìm kiếm dành cho biểu thức chính quy .

Phương pháp nào được sử dụng để tìm kiếm một chuỗi con trong JavaScript?

Chuỗi. nguyên mẫu. indexOf() Phương thức indexOf(), với một đối số. một chuỗi con để tìm kiếm, tìm kiếm toàn bộ chuỗi gọi và trả về chỉ mục của lần xuất hiện đầu tiên của chuỗi con đã chỉ định.

Phương thức tìm kiếm trong JavaScript là gì?

Phương thức find() trả về giá trị của phần tử đầu tiên vượt qua kiểm tra . Phương thức find() thực thi một hàm cho từng phần tử mảng. Phương thức find() trả về undefined nếu không tìm thấy phần tử nào.

Là chuỗi con trong JavaScript?

Phương thức substring() trích xuất các ký tự, giữa hai chỉ số (vị trí), từ một chuỗi và trả về chuỗi con . Phương thức substring() trích xuất các ký tự từ đầu đến cuối (độc quyền).