Computer >> Máy Tính >  >> Lập trình >> Javascript

Sự khác biệt giữa phương thức test () và thi hành () trong Javascript

Kiểm tra các bài kiểm tra đối sánh và trả về boolean trong khi thực thi bắt các nhóm và đối sánh regex với đầu vào.

Nếu bạn chỉ cần kiểm tra một chuỗi đầu vào để khớp với một biểu thức chính quy, thì RegExp.test là thích hợp nhất. Nó sẽ cung cấp cho bạn một giá trị trả về boolean, điều này làm cho nó trở nên lý tưởng cho các điều kiện.

RegExp.exec cung cấp cho bạn một giá trị trả về giống như mảng với tất cả các nhóm nắm bắt và các chỉ mục phù hợp. Do đó, nó rất hữu ích khi bạn cần làm việc với các nhóm hoặc chỉ mục đã thu thập sau trận đấu.

Ví dụ

console.log(/^([a-z]+) ([A-Z]+)$/.exec("hello WORLD"))
console.log(/^([a-z]+) ([A-Z]+)$/.test("hello WORLD"))

Đầu ra

[ 'hello WORLD', 
   'hello', 
   'WORLD', 
   index: 0, 
   input: 'hello WORLD', 
   groups: undefined ] 
true

Lưu ý rằng chỉ mục đầu tiên trong mảng được trả về bởi execute là chuỗi hoàn chỉnh được so khớp. Các chỉ số sau đây là các nhóm riêng lẻ được regex nắm bắt.