Regex xóa ký tự thoát javascript
Giả sử bạn có một chuỗi chứa một số ký tự đặc biệt trong JavaScript. Và, vì lý do này hay lý do khác, bạn muốn loại bỏ những ký tự đặc biệt đó Show
Cách tốt nhất để làm điều đó là gì? Để xóa các ký tự đặc biệt khỏi chuỗi trong JavaScript, hãy sử dụng phương thức 0. Khớp các ký tự đặc biệt với mẫu RegEx và thay thế chúng bằng dấu ngoặc kép trốngPhương thức 0 có cú pháp như sau
Phương thức 0 chấp nhận một chuỗi, tìm kiếm các kết quả trùng khớp với 3 và, tùy thuộc vào việc 3 có phải là toàn cầu hay không (sẽ nói thêm về điều đó trong giây lát), thay thế một hoặc tất cả các kết quả trùng khớp bằng 5, trong đó
Để xóa các ký tự đặc biệt khỏi một chuỗi trong JavaScript, chúng tôi sẽ sử dụng phương pháp 0 với quy tắc RegEx toàn cầu tìm kiếm tất cả các ký tự phù hợp mà chúng tôi muốn xóa, sau đó thay thế chúng bằng dấu ngoặc kép trống ( 0)Làm như thế nàoKhi RegEx trở nên dài, nó có thể tiêu tốn rất nhiều sức mạnh xử lý. Vì vậy, bạn muốn làm cho biểu thức chính quy của mình tiết kiệm bằng cách giữ chúng ngắn gọn và đơn giản nhất có thể (Tôi muốn kiểm tra các biểu thức chính quy của mình tại regex101. com. Ở trên cùng, nó hiển thị số bước và mili giây mà biểu thức đã thực hiện; . ) Để xóa các ký tự đặc biệt khỏi một chuỗi trong JavaScript bằng RegEx và phương thức 1, câu hỏi đầu tiên bạn cần tự hỏi mình là…Bạn muốn loại bỏ những ký tự đặc biệt nào? Điều này xác định các yêu cầu cho biểu thức chính quy của bạn. Tùy thuộc vào việc bạn có thể trả lời câu hỏi này hay không, mẫu RegEx của bạn sẽ trông khác đi Xóa các ký tự đặc biệt đã biếtGiả sử bạn đã lưu trữ một số điện thoại trong một chuỗi bắt đầu bằng dấu cộng trong một biến có tên là 2Để bỏ dấu cộng, bạn có thể áp dụng phương thức 0 với biểu thức chính quy sau
Nếu số điện thoại được định dạng khác—ví dụ: mã quốc gia được đặt trong dấu ngoặc vuông và được thêm vào trước dấu cộng—bạn sẽ cần mở rộng RegEx của mình sang bên dưới
Bây giờ có những tình huống bạn muốn thay thế ký tự đặc biệt bằng khoảng trắng chứ không phải không có gì. Giả sử rằng các phần khác nhau của số điện thoại được phân tách bằng dấu gạch ngang. Để có được một số điện thoại dễ đọc, bạn có thể muốn làm điều này
psst. Nếu bạn chưa quen với việc phát triển web, bạn có thể kiểm tra tất cả các đoạn mã này bằng cách mở công cụ dành cho nhà phát triển của trình duyệt ngay bây giờ, sao chép/dán chúng vào bảng điều khiển và nhấn enter Xóa các ký tự đặc biệt không xác địnhĐiều gì sẽ xảy ra nếu bạn muốn xóa các ký tự đặc biệt khỏi một chuỗi—nhưng bạn không thể chắc chắn những ký tự đặc biệt nào sẽ có trong đó? Bạn có thể tiếp cận vấn đề này một cách tổng quát và tạo một biểu thức chính quy tìm kiếm kết quả phù hợp với mọi thứ trừ các chữ cái tiếng Anh, chữ số, dấu chấm câu phổ biến (dấu phẩy, dấu chấm phẩy, dấu gạch ngang, dấu chấm, dấu chấm than, dấu chấm hỏi) và khoảng trắng
Sau đó, bạn có thể điều chỉnh quy tắc RegEx khi cần để triển khai Ví dụ: các ngôn ngữ khác có các bộ ký tự khác nhau, vì vậy bạn cần điều chỉnh biểu thức chính quy để đảm bảo rằng việc sử dụng phương thức 0 của bạn không ăn theo các chữ cái không phải tiếng AnhNgoài ra, tùy thuộc vào những ký tự đặc biệt mà bạn muốn được lưu trữ trong 2, bạn có thể hoặc không muốn thêm/xóa một số vào/khỏi biểu thức chính quy của mìnhXóa thẻ HTMLHãy thử các biểu thức chính quy ở trên đối với các chuỗi chứa các thẻ HTML, và bạn sẽ thấy rằng, mặc dù nó loại bỏ các dấu ngoặc nhọn ( 6), nó vẫn để lại tên của các thẻ (i. e. , div, p, b, i, v.v. ) hoặc các thuộc tính chứa trong chúng (i. e. , href, lớp, id, phong cách)Nếu chuỗi của bạn có các ký tự đặc biệt vì nó chứa đánh dấu HTML được phân tích cú pháp, bạn sẽ cần tiếp cận RegEx của mình theo cách khác
Bạn cũng có thể kết hợp biểu thức chính quy cho các thẻ HTML với biểu thức cho các ký tự đặc biệt trong cùng một quy tắc bằng cách tách chúng bằng một thanh dọc ( 7)
Các mẫu RegEx để sử dụngChỉ Giữ Chữ CáiKhớp tất cả các ký tự và ký hiệu ngoại trừ các chữ cái trong bảng chữ cái tiếng Anh và khoảng trống
Chỉ Giữ Chữ Cái và Chữ SốKhớp tất cả các ký tự và ký hiệu ngoại trừ các chữ cái trong bảng chữ cái tiếng Anh, các chữ số từ 0 đến 9 và khoảng trống
Chỉ giữ các chữ cái, chữ số và dấu chấm câuKhớp tất cả các ký tự và ký hiệu ngoại trừ các chữ cái trong bảng chữ cái tiếng Anh, các chữ số từ 0 đến 9, dấu phẩy, dấu hai chấm, dấu chấm phẩy, dấu gạch ngang, dấu chấm, dấu chấm hỏi, dấu chấm than và khoảng trống
Tóm lại làPhương pháp 0 rất dễ sử dụng. Mặt khác, RegEx có thể khó thành thạoDành thời gian để suy nghĩ về các đầu vào của phương thức này—bạn có thể mong đợi điều gì một cách hợp lý sẽ được lưu trữ trong chuỗi đó—sau đó tạo một biểu thức chính quy đáp ứng đầy đủ hầu hết các trường hợp sử dụng Thử nghiệm với các đầu vào thực sẽ giúp bạn kiểm tra độ rộng và độ sâu của RegEx của mình và bạn có thể sẽ phát hiện ra một vài trường hợp cạnh cần tính đến. Sẽ luôn có ngoại lệ và thật tốt khi có một số loại giám sát khi phương pháp của bạn gặp phải chúng Làm cách nào để xóa các ký tự bằng regex trong JavaScript?Để xóa tất cả các ký tự đặc biệt khỏi một chuỗi, hãy gọi phương thức replace() trên chuỗi, chuyển biểu thức chính quy danh sách trắng và một chuỗi trống làm đối số, i. e. , str. thay thế(/^a-zA-Z0-9 ]/g, '') . Phương thức thay thế () sẽ trả về một chuỗi mới không chứa bất kỳ ký tự đặc biệt nào.
Làm cách nào để khớp thoát regex trong JavaScript?Để khớp một ký tự có ý nghĩa đặc biệt trong biểu thức chính quy, bạn cần sử dụng tiền tố chuỗi thoát có dấu gạch chéo ngược ( \ ) . e. g. , \. diêm ". " ; regex \+ khớp với "+" ; và regex \( khớp với "(". Bạn cũng cần sử dụng regex \\ để khớp với "\" (dấu gạch chéo ngược).
Làm cách nào để thay thế ký tự thoát trong JavaScript?replace(/\\/g, "\\\\"); , thao tác này sẽ thay thế tất cả dấu gạch chéo ngược bằng dấu gạch chéo ngược kép.
Làm cách nào để dấu gạch chéo ngược ký tự thoát trong JavaScript?nhân vật trốn thoát |