Ký tự đặc biệt Regex JavaScript
Người dùng-1760637409 đã đăng
Chào bạn, Show
Bạn có thể thử ví dụ dưới đây cũng xác thực Số và ký tự đặc biệt. - Phần bên dưới sẽ cho phép tất cả Chữ hoa chữ thường, Số và Ký tự đặc biệt // Chỉ số // tất cả các ký tự hoa thường có ký tự đặc biệt và số // Ký tự Thụy Điển Bạn có thể thay đổi biến "mẫu" bên trong mã bên dưới, Xác thực số đầu vào và ký tự đặc biệtNhập Giá trị tại đây Biểu thức chính quy cho phép chúng ta thao tác với chuỗi một cách dễ dàng. Chúng là các mẫu cho phép chúng ta khớp văn bản theo bất kỳ cách nào chúng ta tưởng tượng. Không có nó, chúng tôi sẽ gặp khó khăn khi tìm kiếm văn bản có mẫu phức tạp. Nó cũng hữu ích để kiểm tra các đầu vào dựa trên các biểu thức thông thường để xác thực biểu mẫu. Trong bài viết này, chúng ta sẽ xem xét các ký tự đặc biệt nâng cao là một phần của biểu thức chính quy và cả các phương thức biểu thức chính quy của JavaScript Chúng ta có thể định nghĩa các biểu thức chính quy JavaScript bằng chữ như sau const re = /a/ Hoặc, chúng ta có thể sử dụng hàm tạo biểu thức chính quy để xác định đối tượng biểu thức chính quy bằng cách chuyển một chuỗi vào hàm tạo const re = new RegExp('a'); 9 như sauconst re = new RegExp('a'); Thêm nhân vật đặc biệtCó nhiều ký tự đặc biệt hơn mà chúng ta có thể sử dụng để tạo biểu thức chính quy /[a-z0-9.]+@[a-z0-9.]+.[a-z]/.exec('[email protected]')0Khớp với bất kỳ ký tự nào không có trong ngoặc và hiển thị đầu tiên. Ví dụ: nếu chúng ta có chuỗi /[a-z0-9.]+@[a-z0-9.]+.[a-z]/.exec('[email protected]') 1 và mẫu /[a-z0-9.]+@[a-z0-9.]+.[a-z]/.exec('[email protected]') 0 thì nó khớp với /[a-z0-9.]+@[a-z0-9.]+.[a-z]/.exec('[email protected]') 3 vì đó là ký tự đầu tiên không phải là /[a-z0-9.]+@[a-z0-9.]+.[a-z]/.exec('[email protected]') 4 , /[a-z0-9.]+@[a-z0-9.]+.[a-z]/.exec('[email protected]') 5 hoặc /[a-z0-9.]+@[a-z0-9.]+.[a-z]/.exec('[email protected]') 4 trong /[a-z0-9.]+@[a-z0-9.]+.[a-z]/.exec('[email protected]') 7[\b]Mẫu này khớp với một ký tự xóa lùi \bMẫu này phù hợp với một ranh giới từ. Ranh giới từ là vị trí của một chuỗi nằm giữa một ký tự từ theo sau là một ký tự không phải từ Ví dụ: nếu chúng ta có mẫu /[a-z0-9.]+@[a-z0-9.]+.[a-z]/.exec('[email protected]') 8 và chuỗi /[a-z0-9.]+@[a-z0-9.]+.[a-z]/.exec('[email protected]') 9 , thì chúng ta sẽ nhận được /[a-z0-9.]+@[a-z0-9.]+.[a-z]/.exec('[email protected]') 9 là đối sánh vì chúng ta có ["[email protected]", index: 0, input: "[email protected]", groups: undefined] 1 ở đầu chuỗiNếu chúng tôi có ["[email protected]", index: 0, input: "[email protected]", groups: undefined] 2 , thì chúng tôi nhận được _____3_______9 là đối sánh cho _____14_______4 vì _______14_______1 khớp với ranh giới ở cuối chuỗi vì chúng tôi có khoảng trống sau _____/[a-z0-9.]+@[a-z0-9.]+.[a-z]/.exec('[email protected]') 9["[email protected]", index: 0, input: "[email protected]", groups: undefined] 7 sẽ không khớp với bất cứ thứ gì vì chúng tôi có các ký tự từ trước và sau ["[email protected]", index: 0, input: "[email protected]", groups: undefined] 1 nên không có ranh giới từ,\BKhớp với ranh giới không phải từ. Nó khớp với bất kỳ thứ gì trước ký tự đầu tiên của chuỗi, sau ký tự cuối cùng của chuỗi, giữa các ký tự 2 từ, giữa 2 ký tự không phải từ hoặc một chuỗi trống Ví dụ: nếu chúng ta có mẫu ["[email protected]", index: 0, input: "[email protected]", groups: undefined] 9 và chuỗi ["[email protected]", index: 0, input: "[email protected]", groups: undefined] 4 , thì /[a-z0-9.]+@[a-z0-9.]+.[a-z]/.exec('[email protected]') 9 sẽ là kết quả khớp\cXMẫu này khớp với một ký tự điều khiển của một chuỗi, trong đó /\d+/ig.exec('123') 2 là từ A đến Z\dKhớp với bất kỳ chữ số nào. Nó giống như /\d+/ig.exec('123') 3 Ví dụ, /\d+/ig.exec('123') 4 khớp với 1 trên 123\ĐMẫu này khớp với mọi ký tự không phải chữ số. Nó giống như /\d+/ig.exec('123') 5. Ví dụ: /\d+/ig.exec('123') 6 khớp với /\d+/ig.exec('123') 7 trong chuỗi /\d+/ig.exec('123') 8\fKhớp với ký tự nguồn cấp biểu mẫu /\d+/ig.exec('123')9Khớp với ký tự nguồn cấp dữ liệu dòng \ rKhớp với ký tự xuống dòng \SKhớp với một ký tự khoảng trắng \SKhớp với bất kỳ ký tự không phải khoảng trắng nào \tKhớp với ký tự tab \vKhớp với ký tự tab dọc \WKhớp với bất kỳ ký tự không phải từ nào. Nó giống như 'table tennis'.match(/[abc]/g) 0. Ví dụ: nếu chúng tôi có chuỗi 'table tennis'.match(/[abc]/g) 1 , thì chúng tôi sẽ nhận được 'table tennis'.match(/[abc]/g) 2 là đối sánh\NNếu 'table tennis'.match(/[abc]/g) 3 là một số nguyên dương, thì đó là tham chiếu ngược tới chuỗi con cuối cùng khớp với nhóm bắt giữ 'table tennis'.match(/[abc]/g) 3Ví dụ: nếu chúng ta có một biểu thức chính quy 'table tennis'.match(/[abc]/g) 5 và chuỗi 'table tennis'.match(/[abc]/g) 6 , thì chúng ta sẽ nhận được các kết quả trùng khớp 'table tennis'.match(/[abc]/g) 7 và 'table tennis'.match(/[abc]/g) 8 vì chúng ta có 'table tennis'.match(/[abc]/g) 8 trong cả hai chuỗi con["a", "b"]0Khớp với ký tự null \xhhhSo khớp ký tự với mã ["a", "b"] 1trong đó ["a", "b"] 1 là 2 chữ số thập phân. Ví dụ: vì mã thập lục phân cho ["a", "b"] 3 là ["a", "b"] 4 , nên chúng tôi có thể khớp nó với mẫu ["a", "b"] 5\uhhhhhhSo khớp ký tự với mã ["a", "b"] 6 , trong đó ["a", "b"] 6 là 4 chữ số thập lục phân["a", "b"]8So khớp với ký tự có giá trị Unicode ["a", "b"] 6 , trong đó ["a", "b"] 6 là 4 chữ số thập lục phânẢnh của Etty Fidele trên BaptPhương thức biểu thức thông thườngĐối tượng biểu thức chính quy JavaScript có một số phương thức cho phép chúng ta thực hiện nhiều việc khác nhau với biểu thức chính quy như tìm kiếm chuỗi, kiểm tra xem chuỗi có khớp với mẫu hay không, thay thế chuỗi, v.v. Các phương pháp dưới đây giám đốc điều hànhPhương thức 'table tennis'.match(/[abc]/) 1 tìm kiếm sự trùng khớp của biểu thức chính quy trong một chuỗi. Nó trả về mảng kết quả hoặc 'table tennis'.match(/[abc]/) 2 nếu không có kết quả khớpVí dụ, nếu chúng ta viết /[a-z0-9.]+@[a-z0-9.]+.[a-z]/.exec('[email protected]') Sau đó, chúng tôi nhận được trở lại ["[email protected]", index: 0, input: "[email protected]", groups: undefined] Chúng ta cũng có thể sử dụng cờ 'table tennis'.match(/[abc]/) 3 để tìm kiếm toàn bộ chuỗi khớp. Ví dụ, chúng ta có thể viết/\d+/ig.exec('123') Sau đó, chúng tôi nhận được 123 là trận đấu kiểm traPhương thức 'table tennis'.match(/[abc]/) 4 thực hiện tìm kiếm đối sánh giữa biểu thức chính quy và chuỗi đã chỉ định. Nó trả về 'table tennis'.match(/[abc]/) 5 nếu trùng khớp và 'table tennis'.match(/[abc]/) 6 nếu khôngVí dụ, 'table tennis'.match(/[abc]/) 7 trả về 'table tennis'.match(/[abc]/) 5, nhưng 'table tennis'.match(/[abc]/) 9 trả về 'table tennis'.match(/[abc]/) 6cuộc thi đấuPhương thức ["a", index: 1, input: "table tennis", groups: undefined] 1 trả về tất cả các kết quả khớp của một chuỗi đối với một biểu thức chính quyVí dụ, nếu chúng ta viết 'table tennis'.match(/[abc]/g) Sau đó, chúng tôi nhận được trở lại ["a", "b"] vì chúng tôi có cờ 'table tennis'.match(/[abc]/) 3 để tìm kiếm toàn bộ chuỗi cho các trận đấu. Nếu chúng tôi xóa cờ 'table tennis'.match(/[abc]/) 3, thì chúng tôi chỉ nhận được kết quả khớp đầu tiên. Chẳng hạn, nếu chúng ta viết'table tennis'.match(/[abc]/) Sau đó, chúng tôi nhận được trở lại ["a", index: 1, input: "table tennis", groups: undefined] ["a", index: 1, input: "table tennis", groups: undefined]4Phương thức ["a", index: 1, input: "table tennis", groups: undefined] 5 trả về tất cả các kết quả khớp của một chuỗi đối với một biểu thức chính quy trong một trình vòng lặp cho phép chúng tôi nhận kết quả với toán tử trải rộng hoặc vòng lặp ["a", index: 1, input: "table tennis", groups: undefined] 6Ví dụ, nếu chúng ta viết [...'table tennis'.matchAll(/[abc]/g)] Sau đó, chúng tôi nhận được trở lại const re = new RegExp('a'); 0vì chúng tôi có cờ 'table tennis'.match(/[abc]/) 3 để tìm kiếm toàn bộ chuỗi cho các trận đấu. Nếu chúng tôi xóa cờ 'table tennis'.match(/[abc]/) 3, thì chúng tôi chỉ nhận được kết quả khớp đầu tiên. Chẳng hạn, nếu chúng ta viếtconst re = new RegExp('a'); 1Sau đó, chúng tôi nhận được trở lại const re = new RegExp('a'); 2Tìm kiếmPhương thức ["a", index: 1, input: "table tennis", groups: undefined] 9 lấy chỉ số khớp của chuỗi. Nó trả về -1 là không tìm thấy kết quả phù hợp. Ví dụ, chúng ta có thể viếtconst re = new RegExp('a'); 3Sau đó, chúng tôi nhận lại 1 vì chúng tôi có /\d+/ig.exec('123') 7 là ký tự thứ hai của [...'table tennis'.matchAll(/[abc]/g)] 1Tuy nhiên, nếu chúng ta có const re = new RegExp('a'); 4Sau đó, chúng tôi nhận lại -1 vì cả 3 chữ cái không tồn tại trong [...'table tennis'.matchAll(/[abc]/g)] 1thay thếPhương thức [...'table tennis'.matchAll(/[abc]/g)] 3 tìm các kết quả khớp trong một chuỗi và sau đó thay thế các kết quả khớp bằng chuỗi mà chúng tôi chỉ địnhVí dụ, nếu chúng ta có const re = new RegExp('a'); 5Sau đó, chúng tôi nhận được const re = new RegExp('a'); 6tách raChúng ta có thể sử dụng phương thức [...'table tennis'.matchAll(/[abc]/g)] 4 để tách một chuỗi theo mẫu mà chúng ta đặt làm dấu phân cách. Nó trả về một mảng các chuỗi được tách ra từ chuỗi ban đầu theo các kết quả khớp của biểu thức chính quyVí dụ, nếu chúng ta có const re = new RegExp('a'); 7Sau đó, chúng tôi nhận được trở lại const re = new RegExp('a'); 8Như chúng ta có thể thấy, có rất nhiều ký tự và sự kết hợp của chúng mà chúng ta có thể tìm kiếm bằng biểu thức chính quy JavaScript. Nó cho phép chúng tôi thực hiện thao tác và xác thực chuỗi rất dễ dàng vì chúng tôi không phải tách chúng ra và kiểm tra chúng. Tất cả những gì chúng ta phải làm là tìm kiếm chúng bằng các đối tượng biểu thức chính quy Tương tự như vậy, việc tách và thay thế các chuỗi bằng các mẫu phức tạp cũng được thực hiện dễ dàng với các đối tượng biểu thức chính quy và các phương thức [...'table tennis'.matchAll(/[abc]/g)] 4 và [...'table tennis'.matchAll(/[abc]/g)] 3 của chúng tương ứng
Làm cách nào để kiểm tra các ký tự đặc biệt trong regex trong JavaScript?Để kiểm tra xem một chuỗi có chứa các ký tự đặc biệt hay không, gọi phương thức test() trên một biểu thức chính quy khớp với bất kỳ ký tự đặc biệt nào . Phương thức kiểm tra sẽ trả về true nếu chuỗi chứa ít nhất 1 ký tự đặc biệt và false nếu ngược lại.
Làm cách nào để xác thực các ký tự đặc biệt trong regex?tức là Bất cứ khi nào một ký tự không phải là chữ cái, số hoặc ký tự đặc biệt &-. _ đi kèm, chuỗi sẽ được đánh giá là không hợp lệ. Làm thế nào tôi có thể làm điều đó với một biểu thức chính quy? . /^[a-zA-Z0-9&_\. use ^ at the beginning and +$ at the end, as the answers below have explained. /^[a-zA-Z0-9&_\.
Làm cách nào để cho phép một số ký tự đặc biệt trong JavaScript?JavaScript cho phép chúng ta thêm các ký tự đặc biệt vào Chuỗi văn bản bằng cách sử dụng dấu gạch chéo ngược (\) . Chúng tôi có thể thêm các loại ký tự đặc biệt khác nhau, bao gồm trích dẫn đơn, trích dẫn kép, dấu và, dòng mới, tab, xóa lùi, nguồn cấp biểu mẫu, v.v. , sử dụng dấu gạch chéo ngược ngay trước các ký tự.
\s trong regex JavaScript là gì?Siêu ký tự \s khớp với ký tự khoảng trắng . Các ký tự khoảng trắng có thể là. Một ký tự khoảng trắng. Một ký tự tab.
Làm cách nào để kiểm tra xem một chuỗi có chứa ký tự đặc biệt trong JavaScript không?@#$%^&*. ,<>/\'";. ? và trả về true nếu chuỗi chứa ít nhất một trong các ký tự đó. Nếu chuỗi chỉ chứa các ký tự đặc biệt thì nó trả về true , nhưng nếu chuỗi chứa thứ khác như ký tự chữ và số (. ví dụ 1 ,. example2 ), nó trả về false. |